llvm-project/lld/test/COFF
Rui Ueyama 9fbfd76fe3 Merge IAT and ILT.
Previously, LLD-produced executables had IAT (Import Address Table) and
ILT (Import Lookup Table) as separate chunks of data, although their
contents are identical. My interpretation of the COFF spec when I wrote
the COFF linker is that they need to be separate tables even though they
are the same.

But Peter found that the Windows loader is fine with executables in
which IAT and ILT are merged. This is a patch to merge IAT and ILT.
I confirmed that an lld-link self-hosted with this patch works fine.

Fixes https://bugs.llvm.org/show_bug.cgi?id=33064

Differential Revision: https://reviews.llvm.org/D33326

llvm-svn: 303374
2017-05-18 19:59:22 +00:00
..
Inputs Re-submit r303225: Garbage collect dllimported symbols. 2017-05-17 21:36:08 +00:00
alternatename.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
ar-comdat.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
arm-thumb-branch-error.s COFF ARM: Error out if 24 bit thumb branches are out of range 2016-08-05 17:33:24 +00:00
armnt-blx23t.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
armnt-branch24t.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
armnt-entry-point.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
armnt-imports.test Merge IAT and ILT. 2017-05-18 19:59:22 +00:00
armnt-mov32t-exec.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
armnt-movt32t.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
base.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
baserel.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
cl-gl.test Identify object files compiled with cl.exe /GL. 2016-11-15 01:01:51 +00:00
common.test [lld/COFF] Don't round alignment if it's already a power-of-two. 2016-11-11 02:53:48 +00:00
conflict-mangled.test COFF: Define overloaded toString functions. 2016-12-07 23:17:02 +00:00
conflict.test COFF: Define overloaded toString functions. 2016-12-07 23:17:02 +00:00
constant-export.test Merge a test YAML file and a test file. 2017-05-16 01:16:20 +00:00
constant.test COFF: actually synthesize CONST imports properly 2017-04-28 17:06:40 +00:00
debug.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
def-name.test [COFF] Don't let /def override /out filename 2017-03-21 00:12:51 +00:00
defparser.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
delayimports.test COFF: /delayload:<DLLNAME> is case-insensitive. 2015-09-03 14:49:47 +00:00
delayimports32.test COFF: add beginnings of debug directory creation 2016-08-29 21:20:46 +00:00
dll.test COFF: We no longer require lib.exe to test DLL exports. 2016-12-15 00:11:17 +00:00
dllimport-gc.test Re-submit r303225: Garbage collect dllimported symbols. 2017-05-17 21:36:08 +00:00
driver-windows.test Accept not only lld-link but also LLD-LINK, for example. 2017-04-12 18:29:52 +00:00
driver.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
entry-inference.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
entry-inference2.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
entry-inference32.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
entry-mangled.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
entrylib.ll COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
error-limit.test [COFF] support /ERRORLIMIT option 2017-04-05 00:43:54 +00:00
export-exe.test COFF: We no longer require lib.exe to test DLL exports. 2016-12-15 00:11:17 +00:00
export.test COFF: We no longer require lib.exe to test DLL exports. 2016-12-15 00:11:17 +00:00
export32.test Fix wrong assertion failure. 2017-03-09 04:47:33 +00:00
failifmismatch.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
filetype.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
force.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
heap.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
hello32.test Merge IAT and ILT. 2017-05-18 19:59:22 +00:00
help.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
icf-associative.test Fix a bug in ICF involving COFF associative sections. 2016-12-02 07:46:12 +00:00
icf-circular.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
icf-circular2.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
icf-data.test COFF ICF: Merge only functions. Do not merge read-only data. 2017-04-27 23:03:22 +00:00
icf-different-align.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
icf-local.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
icf-simple.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
imports-mangle.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
imports.test Merge IAT and ILT. 2017-05-18 19:59:22 +00:00
include-lto.ll COFF: add test for /INCLUDE directives specified in bitcode 2017-01-25 23:07:40 +00:00
include.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
include2.test COFF: New symbol table design. 2016-12-09 21:55:24 +00:00
internal.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
invalid-debug-type.test [COFF] Fix interaction between /DEBUG and /PDB 2017-05-18 15:15:10 +00:00
invalid-obj.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
largeaddressaware.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
libpath.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
linkenv.test Handle _LINK_ env string as command line parameters. 2017-04-24 22:20:03 +00:00
linkrepro.test Revert r291526: Re-enable /linkrepro test on Windows. 2017-01-10 02:08:37 +00:00
lldmap.test Port recent changes to ELF/MapFile.cpp to COFF. 2017-04-29 18:50:39 +00:00
loadcfg.ll [COFF] Don't hard-code the load configuration size 2016-03-15 09:48:27 +00:00
loadcfg.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
loadcfg32.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
locally-imported.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
locally-imported32.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
long-section-name.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
lto-chkstk.ll COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
lto-comdat.ll refactor COFF linker to use new LTO API 2017-02-02 23:58:14 +00:00
lto-debug-pass-arguments.ll Add parsing of mllvm command line options. 2017-03-30 20:10:40 +00:00
lto-lazy-reference.ll LTO: Don't follow lazy references when seeing new definitions in the combined LTO object 2016-10-12 09:00:06 +00:00
lto-linker-opts.ll COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
lto-new-symbol.ll COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
lto-opt-level.ll COFF: Introduce flag /opt:lldlto=N for controlling LTO optimization level. 2015-08-14 04:47:07 +00:00
lto-parallel.ll refactor COFF linker to use new LTO API 2017-02-02 23:58:14 +00:00
lto.ll COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
machine.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
manifest.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
manifestinput.test COFF: Support /manifestinput command line option. 2016-04-19 01:21:58 +00:00
merge.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
msvclto-archive.ll COFF: Do not create empty temporary archives for /msvclto. 2017-03-17 02:04:22 +00:00
msvclto-order.ll [coff] for /msvclto, pass archive members with prevailing symbols first 2017-04-21 21:38:01 +00:00
msvclto.ll [coff] fix test for msvclto 2017-04-18 22:29:36 +00:00
nodefaultlib.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
noentry.test COFF: We no longer require lib.exe to test DLL exports. 2016-12-15 00:11:17 +00:00
nopdb.test Add a /nopdb flag to disable PDB generation 2017-03-22 19:49:12 +00:00
opt.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
options.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
order.test COFF: Open and map input files asynchronously on Windows. 2016-12-15 04:02:23 +00:00
out.test Reland test change. 2016-04-21 01:33:04 +00:00
pdb-none.test [COFF] Fix interaction between /DEBUG and /PDB 2017-05-18 15:15:10 +00:00
pdb-options.test [COFF] Fix interaction between /DEBUG and /PDB 2017-05-18 15:15:10 +00:00
pdb.test [COFF] Fix interaction between /DEBUG and /PDB 2017-05-18 15:15:10 +00:00
reloc-arm.test [COFF] Add support for IMAGE_REL_ARM_SECREL 2016-09-27 19:27:17 +00:00
reloc-x64.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
reloc-x86.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
resource.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
responsefile.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
rsds.test [COFF] Put the PDB next to the image if the user doesn't pass /PDB: 2017-03-22 00:57:14 +00:00
safeseh.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
savetemps.ll added missing "savetemps/" in test/COFF/savetemps.ll 2017-02-09 23:31:47 +00:00
section.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
seh.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
sort-debug.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
stack.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
subsystem-inference.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
subsystem.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
symtab.test COFF: New symbol table design. 2016-12-09 21:55:24 +00:00
thinlto-archives.ll COFF: include archive name in LTO object name 2017-03-28 21:20:06 +00:00
thinlto-mangled.ll COFF: tests for thinlto with mangled names 2017-03-31 22:17:02 +00:00
thinlto.ll [COFF] added test for thinlto 2017-02-23 23:42:24 +00:00
tls.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
tls32.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
unwind.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
version.test COFF: Make test commands shorter. NFC. 2015-08-06 16:47:46 +00:00
weak-external.test refactor COFF linker to use new LTO API 2017-02-02 23:58:14 +00:00
weak-external2.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
weak-external3.test refactor COFF linker to use new LTO API 2017-02-02 23:58:14 +00:00