[PATCH] Object: Add support for bigobj
David Majnemer
david.majnemer at gmail.com
Tue Sep 9 00:37:17 PDT 2014
Hi rafael, Bigcheese, ruiu,
This adds support for reading the "bigobj" variant of COFF produced by
cl's /bigobj and mingw's -mbig-obj.
The most significant difference that bigobj brings is more than 2**16
sections to COFF.
bigobj brings a few interesting differences with it:
- It doesn't have a Characteristics field in the file header.
- It doesn't have a SizeOfOptionalHeader field in the file header (it's
only used in executable files).
- Auxiliary symbol records have the same width as a symbol table entry.
Since symbol table entries are bigger, so are auxiliary symbol
records.
Write support will come soon.
http://reviews.llvm.org/D5259
Files:
include/llvm/Object/COFF.h
include/llvm/Support/COFF.h
lib/MC/WinCOFFObjectWriter.cpp
lib/Object/COFFObjectFile.cpp
test/MC/ARM/coff-file.s
test/MC/COFF/alias.s
test/MC/COFF/basic-coff-64.s
test/MC/COFF/basic-coff.s
test/MC/COFF/feat00.s
test/MC/COFF/file.s
test/MC/COFF/symbol-fragment-offset-64.s
test/MC/COFF/symbol-fragment-offset.s
test/MC/COFF/weak.s
test/tools/llvm-readobj/Inputs/bigobj.coff-x86-64
test/tools/llvm-readobj/bigobj.test
test/tools/llvm-readobj/coff-file-sections-reading.test
test/tools/llvm-readobj/cxx-cli-aux.test
test/tools/llvm-readobj/sections-ext.test
test/tools/llvm-readobj/symbols.test
tools/llvm-nm/llvm-nm.cpp
tools/llvm-objdump/COFFDump.cpp
tools/llvm-objdump/llvm-objdump.cpp
tools/llvm-readobj/COFFDumper.cpp
tools/obj2yaml/coff2yaml.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D5259.13444.patch
Type: text/x-patch
Size: 70153 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140909/5543f651/attachment.bin>
More information about the llvm-commits
mailing list