yaml2obj: Support bigobj
authorDavid Majnemer <david.majnemer@gmail.com>
Tue, 16 Sep 2014 03:52:46 +0000 (03:52 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Tue, 16 Sep 2014 03:52:46 +0000 (03:52 +0000)
commit50c1eff6291d277e68092560f14097ac71618e76
tree9cdf5892107dab04a4f54f35f8d8fad5be75a26f
parent23ed1eab04e64636137d31ed7f334ee7a65b261f
yaml2obj: Support bigobj

Teach yaml2obj how to make a bigobj COFF file.  Like the rest of LLVM,
we automatically decide whether or not to use regular COFF or bigobj
COFF on the fly depending on how many sections the resulting object
would have.

This ends the task of adding bigobj support to LLVM.

N.B. This was tested by forcing yaml2obj to be used in bigobj mode
regardless of the number of sections.  While a dedicated test was
written, the smallest I could make it was 36 MB (!) of yaml and it still
took a significant amount of time to execute on a powerful machine.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217858 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Support/COFF.h
test/tools/llvm-readobj/Inputs/file-aux-record.yaml
test/tools/llvm-readobj/Inputs/file-multiple-aux-records.yaml
tools/yaml2obj/yaml2coff.cpp