diff options
author | Rui Ueyama <ruiu@google.com> | 2014-03-21 00:44:19 +0000 |
---|---|---|
committer | Rui Ueyama <ruiu@google.com> | 2014-03-21 00:44:19 +0000 |
commit | 827c8a2b077466a008a93e69546b7902361df177 (patch) | |
tree | b8b3b39d50a8d4cd5beed2bcba9b63c245cc9fb7 /llvm/lib/Support/LockFileManager.cpp | |
parent | 56be75426286b324b209a0932967b2e79ef6cee4 (diff) | |
download | llvm-827c8a2b077466a008a93e69546b7902361df177.zip llvm-827c8a2b077466a008a93e69546b7902361df177.tar.gz llvm-827c8a2b077466a008a93e69546b7902361df177.tar.bz2 |
Object/COFF: Support large relocation table.
NumberOfRelocations field in COFF section table is only 16-bit wide. If an
object has more than 65535 relocations, the number of relocations is stored
to VirtualAddress field in the first relocation field, and a special flag
(IMAGE_SCN_LNK_NRELOC_OVFL) is set to Characteristics field.
In test we cheated a bit. I made up a test file so that it has
IMAGE_SCN_LNK_NRELOC_OVFL flag but the number of relocations is much smaller
than 65535. This is to avoid checking in a large test file just to test a
file with many relocations.
Differential Revision: http://llvm-reviews.chandlerc.com/D3139
llvm-svn: 204418
Diffstat (limited to 'llvm/lib/Support/LockFileManager.cpp')
0 files changed, 0 insertions, 0 deletions