llvm/tools
David Majnemer f1198da05c MC: Add support for BigObj
Teach WinCOFFObjectWriter how to write -mbig-obj style object files;
these object files allow for more sections inside an object file.

Our support for BigObj is notably different from binutils and cl: we
implicitly upgrade object files to BigObj instead of asking the user to
compile the same file *again* but with another flag.  This matches up
with how LLVM treats ELF variants.

This was tested by forcing LLVM to always emit BigObj files and running
the entire test suite.  A specific test has also been added.

I've lowered the maximum number of sections in a normal COFF file,
VS "14" CTP 3 supports no more than 65279 sections.  This is important
otherwise we might not switch to BigObj quickly enough, leaving us with
a COFF file that we couldn't link.

yaml2obj support is all that remains to implement.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217812 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-15 19:42:42 +00:00
..
bugpoint Return a std::unique_ptr from the IRReader.h functions. NFC. 2014-08-26 17:29:46 +00:00
bugpoint-passes [CMake] Add LLVM_LINK_COMPONENTS to loadable modules, LLVMHello and BugpointPasses, on Win32. 2014-07-13 13:36:48 +00:00
gold Add doInitialization/doFinalization to DataLayoutPass. 2014-09-10 21:27:43 +00:00
llc Add doInitialization/doFinalization to DataLayoutPass. 2014-09-10 21:27:43 +00:00
lli Reinstate "Nuke the old JIT." 2014-09-02 22:28:02 +00:00
llvm-ar Don't own the buffer in object::Binary. 2014-08-19 18:44:46 +00:00
llvm-as Modernize raw_fd_ostream's constructor a bit. 2014-08-25 18:16:47 +00:00
llvm-bcanalyzer Teach llvm-bcanalyzer to use one stream's BLOCKINFO to read another stream. 2014-08-30 17:07:55 +00:00
llvm-c-test Convert getFileOffset to getOffset and move it to its only user. 2014-04-21 13:45:32 +00:00
llvm-config Enabling LLVM & Clang to be cross-compiled using CMake from a single configuration command line 2014-09-03 23:21:18 +00:00
llvm-cov llvm-cov: Clean up some redundancy in the view API (NFC) 2014-09-15 03:41:04 +00:00
llvm-diff Return a std::unique_ptr from the IRReader.h functions. NFC. 2014-08-26 17:29:46 +00:00
llvm-dis Modernize raw_fd_ostream's constructor a bit. 2014-08-25 18:16:47 +00:00
llvm-dwarfdump Fix some cases where StringRef was being passed by const reference. Remove const from some other StringRefs since its implicitly const already. 2014-08-30 16:48:02 +00:00
llvm-extract Add doInitialization/doFinalization to DataLayoutPass. 2014-09-10 21:27:43 +00:00
llvm-jitlistener Reinstate "Nuke the old JIT." 2014-09-02 22:28:02 +00:00
llvm-link Invert the condition to have a single return. 2014-08-26 18:03:35 +00:00
llvm-lto Modernize raw_fd_ostream's constructor a bit. 2014-08-25 18:16:47 +00:00
llvm-mc Modernize raw_fd_ostream's constructor a bit. 2014-08-25 18:16:47 +00:00
llvm-mcmarkup Explicitly pass ownership of the MemoryBuffer to AddNewSourceBuffer using std::unique_ptr 2014-08-21 20:44:56 +00:00
llvm-nm Object: Add support for bigobj 2014-09-10 12:51:52 +00:00
llvm-objdump MC: Add support for BigObj 2014-09-15 19:42:42 +00:00
llvm-profdata Modernize raw_fd_ostream's constructor a bit. 2014-08-25 18:16:47 +00:00
llvm-readobj MC: Add support for BigObj 2014-09-15 19:42:42 +00:00
llvm-rtdyld [MCJIT] Add command-line argument to llvm-rtdyld to specify target addresses for 2014-09-04 04:19:54 +00:00
llvm-shlib Revert of 214418: 2014-08-01 06:16:03 +00:00
llvm-size Use the simpler sys::fs:;exists. NFC. 2014-09-11 18:44:26 +00:00
llvm-stress Modernize raw_fd_ostream's constructor a bit. 2014-08-25 18:16:47 +00:00
llvm-symbolizer Follow-up for r217020: actually commit the fix for PR20800, 2014-09-03 07:37:20 +00:00
llvm-vtabledump Don't own the buffer in object::Binary. 2014-08-19 18:44:46 +00:00
lto Remove lto_codegen_set_attr. 2014-08-01 14:57:05 +00:00
macho-dump Adds the next bit of support for llvm-objdump’s -private-headers for executable Mach-O files. 2014-09-04 16:54:47 +00:00
msbuild msbuild integration: remove duplicated lines and BOM from 2014 integration (PR20341) 2014-07-31 20:33:22 +00:00
obj2yaml MC: Add support for BigObj 2014-09-15 19:42:42 +00:00
opt Add doInitialization/doFinalization to DataLayoutPass. 2014-09-10 21:27:43 +00:00
verify-uselistorder Pass a MemoryBufferRef when we can avoid taking ownership. 2014-08-26 21:49:01 +00:00
yaml2obj MC: Add support for BigObj 2014-09-15 19:42:42 +00:00
CMakeLists.txt Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
LLVMBuild.txt Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
Makefile Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00