HomePhabricator

Object: Add support for bigobj

Description

Object: Add support for bigobj

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.

Differential Revision: http://reviews.llvm.org/D5259

Details

Auditors
grosbach
Committed
majnemerSep 10 2014, 5:51 AM
Differential Revision
D5259: Object: Add support for bigobj
Parents
rL217495: CodeGen: Use a fixed alignment for vtables.
Branches
Unknown
Tags
Unknown

Event Timeline