summaryrefslogtreecommitdiffstats
path: root/llvm/include/llvm/Support/COFF.h
Commit message (Collapse)AuthorAgeFilesLines
* Support/COFF: Fix PEHeader struct, and define PE32Header as its alias.Rui Ueyama2014-01-241-6/+8
| | | | | | | | This change does not affect anything because everybody seems to be using Object/COFF.h instead. But the definition is not for PE32 but for PE32+, so fix it anyway. llvm-svn: 200038
* Add constants for optional header magic field.Rui Ueyama2014-01-241-0/+5
| | | | llvm-svn: 199972
* Teach the llvm-readobj COFF dumper to dump debug line tables from object filesTimur Iskhodzhanov2013-12-191-0/+7
| | | | | | Reviewed at http://llvm-reviews.chandlerc.com/D2425 llvm-svn: 197674
* Explicitly request unsigned enum types when desiredReid Kleckner2013-09-231-1/+1
| | | | | | | | | | | | | | | | | | | | | The underlying type of all plain enums in MSVC is 'int', even if the enumerator contains large 32-bit unsigned values or values greater than UINT_MAX. The only way to get a large or unsigned enum type is to request it explicitly with the C++11 strong enum types feature. However, since LLVM isn't C++11 yet, I had to add a conditional LLVM_ENUM_INT_TYPE to Compiler.h to control its usage. The motivating true positive for this change is compiling PointerIntPair with MSVC for win64. The PointerIntMask value is supposed to be pointer sized value of all ones with some low zeros. Instead, it's truncated to 32-bits! We are only saved later because it is sign extended back in the AND with int64_t, and we happen to want all ones. This silences lots of -Wmicrosoft warnings during a clang self-host targeting Windows. llvm-svn: 191241
* [Support] fix compile with -WerrorSaleem Abdulrasool2013-08-241-1/+1
| | | | | | | error: commas at the end of enumerator lists are a C++11 extension [-Werror,-Wc++11-extensions] llvm-svn: 189183
* [Support] add missing enumeration valuesSaleem Abdulrasool2013-08-241-1/+4
| | | | | | | | This adds additional missing Windows subsystem identifiers to the IMAGE_SUBSYSTEM enumeration. Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org> llvm-svn: 189180
* COFF: Add constants for optional data directory.Rui Ueyama2013-07-161-0/+18
| | | | llvm-svn: 186377
* [PECOFF] Remove COFF header from PE header for simplicity.Rui Ueyama2013-06-111-2/+3
| | | | | | | | | | | | | | | | COFF header is always present both in executable and in object file. PE header is present only in executable. So the natural way to handle PE/COFF file is treating COFF is mandatory header and PE is optional. Current data structre does not allow it, because PE header includes COFF header. Removing COFF header will simplify the code to handle PE/COFF files. Reviewers: Bigcheese CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D952 llvm-svn: 183788
* Implements low-level object file format specific output for COFF andEric Christopher2013-04-031-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ELF with support for: - File headers - Section headers + data - Relocations - Symbols - Unwind data (only COFF/Win64) The output format follows a few rules: - Values are almost always output one per line (as elf-dump/coff-dump already do). - Many values are translated to something readable (like enum names), with the raw value in parentheses. - Hex numbers are output in uppercase, prefixed with "0x". - Flags are sorted alphabetically. - Lists and groups are always delimited. Example output: ---------- snip ---------- Sections [ Section { Index: 1 Name: .text (5) Type: SHT_PROGBITS (0x1) Flags [ (0x6) SHF_ALLOC (0x2) SHF_EXECINSTR (0x4) ] Address: 0x0 Offset: 0x40 Size: 33 Link: 0 Info: 0 AddressAlignment: 16 EntrySize: 0 Relocations [ 0x6 R_386_32 .rodata.str1.1 0x0 0xB R_386_PC32 puts 0x0 0x12 R_386_32 .rodata.str1.1 0x0 0x17 R_386_PC32 puts 0x0 ] SectionData ( 0000: 83EC04C7 04240000 0000E8FC FFFFFFC7 |.....$..........| 0010: 04240600 0000E8FC FFFFFF31 C083C404 |.$.........1....| 0020: C3 |.| ) } ] ---------- snip ---------- Relocations and symbols can be output standalone or together with the section header as displayed in the example. This feature set supports all tests in test/MC/COFF and test/MC/ELF (and I suspect all additional tests using elf-dump), making elf-dump and coff-dump deprecated. Patch by Nico Rieck! llvm-svn: 178679
* Fix include guards so they exactly match file names.Jakub Staszak2013-01-101-2/+2
| | | | llvm-svn: 172025
* [yaml2obj] Fix incorrect use of signed values.Michael J. Spencer2012-08-141-3/+3
| | | | llvm-svn: 161900
* Add yaml2obj. A utility to convert YAML to binaries.Michael J. Spencer2012-08-021-0/+8
| | | | | | | | yaml2obj takes a textual description of an object file in YAML format and outputs the binary equivalent. This greatly simplifies writing tests that take binary object files as input. llvm-svn: 161205
* [Support/COFF] Make the order of members in symbol match the standard.Michael J. Spencer2012-05-141-1/+1
| | | | llvm-svn: 156785
* Remove extra ,.Michael J. Spencer2011-11-161-1/+1
| | | | llvm-svn: 144759
* Support/COFF: Add structs and enums from the standard for image files.Michael J. Spencer2011-11-161-3/+291
| | | | llvm-svn: 144756
* Merge System into Support.Michael J. Spencer2010-11-291-1/+1
| | | | llvm-svn: 120298
* MC-COFF: Add support for default-null weak externals.Michael J. Spencer2010-10-161-1/+1
| | | | llvm-svn: 116666
* MC-COFF: Fix Simple and Complex type. Fixes PR8320.Michael J. Spencer2010-10-081-1/+1
| | | | llvm-svn: 116037
* Fix Whitespace.Michael J. Spencer2010-10-081-3/+3
| | | | llvm-svn: 116036
* COFF: Fix incorrect SCT_COMPLEX_TYPE_SHIFT. Add a few constants.Michael J. Spencer2010-09-011-1/+7
| | | | llvm-svn: 112703
* MC: Add partial x86-64 support to COFF.Michael J. Spencer2010-08-211-1/+1
| | | | llvm-svn: 111728
* Add some win64 coff goodness.Anton Korobeynikov2010-08-171-1/+24
| | | | | | Patch by Cameron Esfahani! llvm-svn: 111287
* MC: Add WinCOFFObjectWriter implementation.Michael J. Spencer2010-07-261-1/+53
| | | | | | Origonal Windows COFF implementation by Nathan Jedffords. llvm-svn: 109389
* Merge lib/Target/X86/X86COFF.h into include/llvm/Support/COFF.h,Chris Lattner2010-07-141-29/+63
| | | | | | patch by Michael Spencer! llvm-svn: 108342
* Remove stray comma.Daniel Dunbar2010-07-011-1/+1
| | | | llvm-svn: 107425
* MC: Move COFF enumeration constants to llvm/Support/COFF.h, patch by MichaelDaniel Dunbar2010-07-011-0/+183
Spencer! llvm-svn: 107418
OpenPOWER on IntegriCloud