llvm-project/lld/test/COFF
Reid Kleckner 8364901f24 [COFF] Enable per-function and data sections in LTO
Summary: This allows post-LTO symbol reordering and ICF.

Reviewers: inglorion

Subscribers: mehdi_amini, llvm-commits

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

llvm-svn: 327563
2018-03-14 20:25:41 +00:00
..
Inputs [COFF] Add integration test for LTO + /guard:cf 2018-03-14 19:49:28 +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
arm-thumb-branch20-error.s [COFF] Error out if 20 bit thumb branches are out of range 2017-12-14 08:56:36 +00:00
arm64-dynamicbase.s [COFF] Disallow -dynamicbase:no for arm and arm64 2017-12-12 19:39:13 +00:00
arm64-import2.test Update tests for ARMNT/ARM64 reloc names 2017-11-06 07:22:17 +00:00
arm64-magic.yaml [COFF] Add initial support for linking ARM64 binaries 2017-07-01 20:29:27 +00:00
arm64-relocs-imports.test [COFF] Add support for ARM64 secrel relocations for add/load instructions 2018-02-16 22:02:38 +00:00
armnt-blx23t.test Update tests for ARMNT/ARM64 reloc names 2017-11-06 07:22:17 +00:00
armnt-branch24t.test Update tests for ARMNT/ARM64 reloc names 2017-11-06 07:22:17 +00:00
armnt-dynamicbase.test [COFF] Disallow -dynamicbase:no for arm and arm64 2017-12-12 19:39:13 +00:00
armnt-entry-point.test
armnt-imports.test Update tests for ARMNT/ARM64 reloc names 2017-11-06 07:22:17 +00:00
armnt-mov32t-exec.test Update tests for ARMNT/ARM64 reloc names 2017-11-06 07:22:17 +00:00
armnt-movt32t.test Update tests for ARMNT/ARM64 reloc names 2017-11-06 07:22:17 +00:00
associative-comdat.s Give associative-comdat lld test a triple 2017-06-16 20:51:42 +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
combined-resources.test Revert "Revert "Revert "Revert "Switch external cvtres.exe for llvm's own resource library."""" 2017-07-08 03:06:10 +00:00
common-alignment.test [COFF] Add support for aligncomm directives 2017-08-14 19:07:27 +00:00
common.test [LLD] Mark a number of x86 only tests to require x86 2017-07-18 18:40:50 +00:00
conflict-mangled.test COFF: Define overloaded toString functions. 2016-12-07 23:17:02 +00:00
conflict.test [LLD] Mark a number of x86 only tests to require x86 2017-07-18 18:40:50 +00:00
constant-export.test Merge a test YAML file and a test file. 2017-05-16 01:16:20 +00:00
constant.test [LLD] Mark a number of x86 only tests to require x86 2017-07-18 18:40:50 +00:00
ctors_dtors_priority.s [COFF] Interpret a period as a separator for section suffix just like '$' 2017-11-28 08:08:37 +00:00
debug-dwarf.test [COFF] Clean up debug option handling 2017-12-16 00:23:24 +00:00
debug.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
def-export-stdcall.s [COFF] Add support for the GNU ld flag --kill-at 2018-03-14 20:17:16 +00:00
def-name.test Revert "Revert "Revert "Revert "Switch external cvtres.exe for llvm's own resource library."""" 2017-07-08 03:06:10 +00:00
defparser.test
delayimports-armnt.yaml Update tests for ARMNT/ARM64 reloc names 2017-11-06 07:22:17 +00:00
delayimports-error.test Do not allow delay-importing data symbols. 2017-05-25 18:03:34 +00:00
delayimports.test
delayimports32.test COFF: Stop emitting a non-standard COFF symbol table into PEs. 2017-11-17 19:51:20 +00:00
dll.test Revert "Revert "Revert "Revert "Switch external cvtres.exe for llvm's own resource library."""" 2017-07-08 03:06:10 +00:00
dllexport-mingw.s [COFF] Fix exporting of functions starting with underscores, etc 2017-10-23 09:08:24 +00:00
dllexport.s [COFF] Keep the underscore on exported decorated stdcall functions in MSVC mode 2018-01-20 11:44:42 +00:00
dllimport-gc.test Revert "Revert "Revert "Revert "Switch external cvtres.exe for llvm's own resource library."""" 2017-07-08 03:06:10 +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 Report an error if you try to link against .dll instead of .lib. 2018-03-01 23:11:30 +00:00
duplicate.test COFF: handle multiply defined symbols with different storage 2017-09-01 22:12:10 +00:00
entry-drectve.test [LLD] [COFF] Support ENTRY and SUBSYSTEM in .drectve sections 2017-11-29 20:46:13 +00:00
entry-inference.test Use error() instead of warn() to report undefined symbols. 2017-10-06 23:43:54 +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 [LLD] Mark a number of x86 only tests to require x86 2017-07-18 18:40:50 +00:00
entrylib.ll [LLD] Mark a number of x86 only tests to require x86 2017-07-18 18:40:50 +00:00
error-limit.test Make lld-link shout at me less. 2018-03-12 12:45:40 +00:00
export-all.s [COFF] Don't export symbols that have corresponding __imp_ symbols 2017-11-29 05:50:49 +00:00
export-arm64.yaml [COFF] Add a test for producing DLLs and import libraries for ARM64 2017-07-25 06:08:25 +00:00
export-armnt.yaml [COFF] Don't set the thumb bit in address table entries for data symbols 2017-12-20 06:50:45 +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] Don't produce weak aliases in import libraries 2017-08-16 05:23:00 +00:00
export32.test [COFF] Add a test for def files with spaces between @ and ordinal 2017-10-26 20:11:54 +00:00
failifmismatch.test
filename-casing.s [COFF] Stop lowercasing paths in messages 2017-12-07 01:21:27 +00:00
filetype.test
force.test Use error() instead of warn() to report undefined symbols. 2017-10-06 23:43:54 +00:00
gfids-corrupt.s [LLD] Implement /guard:[no]longjmp 2018-02-13 20:32:53 +00:00
gfids-fallback.s [LLD] Implement /guard:[no]longjmp 2018-02-13 20:32:53 +00:00
gfids-gc.s [LLD] Implement /guard:[no]longjmp 2018-02-13 20:32:53 +00:00
gfids-icf.s [LLD] Implement /guard:[no]longjmp 2018-02-13 20:32:53 +00:00
guard-longjmp.s [LLD] Implement /guard:[no]longjmp 2018-02-13 20:32:53 +00:00
guardcf-lto.ll [COFF] Add integration test for LTO + /guard:cf 2018-03-14 19:49:28 +00:00
guardcf.test [COFF] Don't error out on undefined references to __enclave_config 2017-12-12 08:22:29 +00:00
heap.test
hello32.test Resubmit "Write a hash of the executable into the PE timestamp fields." 2018-03-08 19:33:47 +00:00
help.test
icf-associative.test Disable GC and ICF when /debug is present 2017-11-13 18:38:25 +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-executable.s COFF: Stop requiring comdat sections to have an external leader to participate in ICF. 2017-11-20 18:51:29 +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 Disable GC and ICF when /debug is present 2017-11-13 18:38:25 +00:00
icf-xdata.s Revert "Merge .xdata into .rdata by default" 2017-12-01 01:04:31 +00:00
ignore4217.yaml [COFF] support /ignore:4217 2017-12-28 07:02:13 +00:00
implib-name.test COFF: improve link conformance for import names 2017-07-19 02:01:27 +00:00
imports-mangle.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
imports.test [LLD] Mark a number of x86 only tests to require x86 2017-07-18 18:40:50 +00:00
include-lto.ll [LLD] Mark a number of x86 only tests to require x86 2017-07-18 18:40:50 +00:00
include.test COFF: Fix invalid comdat sections in test cases. 2017-11-20 05:31:37 +00:00
include2.test COFF: New symbol table design. 2016-12-09 21:55:24 +00:00
incremental.test Make lld-link shout at me less. 2018-03-12 12:45:40 +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 Resubmit "Write a hash of the executable into the PE timestamp fields." 2018-03-08 19:33:47 +00:00
lib.test COFF: add support for lib mode usage 2017-06-15 20:39:58 +00:00
libpath.test Do not read the same .lib file more than once. 2017-12-11 23:09:18 +00:00
linkenv.test Handle _LINK_ env string as command line parameters. 2017-04-24 22:20:03 +00:00
linkrepro-manifest.test Try to fix test on windows. 2017-10-25 05:33:28 +00:00
linkrepro-pdb.test COFF: Add type server pdb files to linkrepro tar file. 2017-10-20 19:48:26 +00:00
linkrepro-res.test COFF: Add resource files to linkrepro instead of the cvtres object file. 2017-10-16 23:15:04 +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 COFF: Fix invalid comdat sections in test cases. 2017-11-20 05:31:37 +00:00
loadcfg32.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
locally-imported-arm64.test Update tests for ARMNT/ARM64 reloc names 2017-11-06 07:22:17 +00:00
locally-imported-warn-multiple.s Repair Windows buildbots after r320792 2017-12-15 08:08:26 +00:00
locally-imported.test Repair Windows buildbots after r320792 2017-12-15 08:08:26 +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 COFF: Stop emitting a non-standard COFF symbol table into PEs. 2017-11-17 19:51:20 +00:00
lto-cache.ll COFF: Implement ThinLTO cache and cache pruning support. 2017-09-08 00:50:50 +00:00
lto-chkstk.ll
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-icf.ll [COFF] Enable per-function and data sections in LTO 2018-03-14 20:25:41 +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 IR: Replace the "Linker Options" module flag with "llvm.linker.options" named metadata. 2017-06-12 20:10:48 +00:00
lto-new-symbol.ll
lto-opt-level.ll COFF: Stop emitting a non-standard COFF symbol table into PEs. 2017-11-17 19:51:20 +00:00
lto-parallel.ll refactor COFF linker to use new LTO API 2017-02-02 23:58:14 +00:00
lto-reloc-model.ll COFF: When generating code for LTO, use static reloc model on 32-bit x86. 2017-10-11 00:46:58 +00:00
lto.ll Adjust test to account for llvm change where an empty CPU string will no longer generate a long nop on x86. 2017-12-18 23:32:18 +00:00
machine.test
manifest.test lld: /manifestuac:no shouldn't disable /manifestdependency: 2017-07-26 23:38:10 +00:00
manifestinput-error.test Fix crbug 759265 by suppressing llvm mt warnings. 2017-09-06 01:50:36 +00:00
manifestinput-nowarning.test Fix crbug 759265 by suppressing llvm mt warnings. 2017-09-06 01:50:36 +00:00
manifestinput.test Remove trailing whitespace. 2017-10-27 19:23:12 +00:00
merge.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
msvclto-archive.ll Use ErrorOS for log messages as well as error 2017-12-11 21:57:31 +00:00
msvclto-order.ll Use ErrorOS for log messages as well as error 2017-12-11 21:57:31 +00:00
msvclto.ll Use ErrorOS for log messages as well as error 2017-12-11 21:57:31 +00:00
nodefaultlib.test Use error() instead of warn() to report undefined symbols. 2017-10-06 23:43:54 +00:00
noentry.test Revert "Revert "Revert "Revert "Switch external cvtres.exe for llvm's own resource library."""" 2017-07-08 03:06:10 +00:00
opt.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
options.test Revert r303378: Set IMAGE_DLL_CHARACTERISTICS_NO_BIND. 2017-09-15 22:49:13 +00:00
order-i386.test Add the /order option. 2018-01-27 00:34:46 +00:00
order.test [lld-link] Add support for /ignore:4037. 2018-03-09 12:41:04 +00:00
out.test Revert "Revert "Revert "Revert "Switch external cvtres.exe for llvm's own resource library."""" 2017-07-08 03:06:10 +00:00
pdata-arm64.yaml [COFF] Sort .pdata for arm64 2017-12-14 08:56:29 +00:00
pdb-comdat.test Reland r319090, "COFF: Do not create SectionChunks for discarded comdat sections." with a fix for debug sections. 2017-11-28 01:30:07 +00:00
pdb-diff.test [llvm-pdbutil] Add support for dumping detailed module stats. 2017-08-21 14:53:25 +00:00
pdb-file-static.test [PDB] Correctly link S_FILESTATIC records. 2018-01-05 19:12:40 +00:00
pdb-global-gc.yaml Disable GC and ICF when /debug is present 2017-11-13 18:38:25 +00:00
pdb-global-hashes.test [COFF] Teach LLD to use the COFF .debug$H section. 2017-12-14 18:07:04 +00:00
pdb-globals.test [PDB] Ignore all S_UDT symbols when writing PDBs. 2017-08-14 18:44:58 +00:00
pdb-heapsite.yaml [codeview] Fix handling of S_HEAPALLOCSITE 2017-10-24 17:02:40 +00:00
pdb-import-gc.yaml Disable GC and ICF when /debug is present 2017-11-13 18:38:25 +00:00
pdb-invalid-func-type.yaml [PDB] Fix linking of function symbols and local variables. 2017-08-08 18:34:44 +00:00
pdb-lib.s [llvm-pdbutil] Add support for dumping detailed module stats. 2017-08-21 14:53:25 +00:00
pdb-linker-module.test [llvm-pdbutil] Add support for dumping detailed module stats. 2017-08-21 14:53:25 +00:00
pdb-none.test [LLD COFF/PDB] Incrementally update the build id. 2017-08-15 21:31:41 +00:00
pdb-options.test Fix more inconsistent line endings. NFC. 2017-12-18 19:46:56 +00:00
pdb-procid-remapping.test [PDB] Fix linking of function symbols and local variables. 2017-08-08 18:34:44 +00:00
pdb-publics-import.test [PDB] Fix an issue writing the publics stream. 2017-08-09 04:23:59 +00:00
pdb-safeseh.yaml [LLD/PDB] Write actual records to the globals stream. 2017-08-11 19:00:03 +00:00
pdb-same-name.test COFF: PDB: Allow multiple modules with the same name. 2017-09-07 20:39:46 +00:00
pdb-scopes.test [PDB] Fix linking of function symbols and local variables. 2017-08-08 18:34:44 +00:00
pdb-secrel-absolute.yaml [LLD/PDB] Write actual records to the globals stream. 2017-08-11 19:00:03 +00:00
pdb-source-lines.test [PDB] Correctly link S_FILESTATIC records. 2018-01-05 19:12:40 +00:00
pdb-symbol-types.yaml [PDB] Ignore all S_UDT symbols when writing PDBs. 2017-08-14 18:44:58 +00:00
pdb-thunk.yaml Remove trailing whitespace. 2017-12-12 20:00:30 +00:00
pdb-type-server-missing.yaml [PDB] Fix test failures due to expected warning not matching actual warning text 2018-01-31 18:16:13 +00:00
pdb-type-server-simple.test Update test expectation after r314821 2017-10-03 18:46:57 +00:00
pdb.test Revert "Merge .xdata into .rdata by default" 2017-12-01 01:04:31 +00:00
reloc-arm.test Update tests for ARMNT/ARM64 reloc names 2017-11-06 07:22:17 +00:00
reloc-discarded-dwarf.s [COFF] Don't error out on relocations to discarded sections in .eh_frame 2017-10-10 06:05:29 +00:00
reloc-discarded-early.s COFF: Correctly handle relocations against early discarded sections. 2017-11-20 19:37:07 +00:00
reloc-discarded-early2.s COFF: Correctly handle relocations against early discarded sections. 2017-11-20 19:37:07 +00:00
reloc-discarded.s Reland r319090, "COFF: Do not create SectionChunks for discarded comdat sections." with a fix for debug sections. 2017-11-28 01:30:07 +00:00
reloc-oob.yaml [COFF] Bounds check relocations 2017-07-13 20:29:59 +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 Revert "Revert "Revert "Revert "Switch external cvtres.exe for llvm's own resource library."""" 2017-07-08 03:06:10 +00:00
responsefile.test lld-link: Add --rsp-quoting= flag. 2017-09-05 23:46:45 +00:00
rsds.test Resubmit "Write a hash of the executable into the PE timestamp fields." 2018-03-08 19:33:47 +00:00
safeseh-diag-feat.test [COFF] Improve synthetic symbol handling 2017-06-26 15:39:52 +00:00
safeseh-md.s [coff] correctly emit safeseh entries for handlers defined in dlls 2017-11-16 01:22:01 +00:00
safeseh.s [COFF] Set the IMAGE_DLL_CHARACTERISTICS_NO_SEH flag automatically 2017-12-15 20:53:03 +00:00
savetemps.ll [LLD] Mark a number of x86 only tests to require x86 2017-07-18 18:40:50 +00:00
secidx-absolute.s [COFF] Fix SECTION and SECREL relocation handling for absolute symbols 2017-06-22 23:33:04 +00:00
secrel-absolute.s [COFF] Allow debug info to relocate against discarded symbols 2017-06-28 17:06:35 +00:00
secrel-common.s [COFF] Fix SECREL and SECTION relocations against common symbols 2017-06-26 16:45:36 +00:00
section-order.test Rename a test file. 2018-01-26 01:01:21 +00:00
section-size.s [COFF] Check for sections larger than 4 GiB 2017-09-19 23:58:05 +00:00
section.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
seh-comdat.test COFF: Do not add symbols in discarded sections to SEH handler list. 2017-11-28 21:30:05 +00:00
seh.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
sort-debug.test Resubmit "[codeview] Make obj2yaml/yaml2obj support .debug$S..." 2017-06-14 15:59:27 +00:00
stack.test
strtab-size.s COFF: Emit a COFF symbol table if /debug:dwarf is specified. 2017-11-21 01:14:14 +00:00
subsystem-drectve.test [LLD] [COFF] Support ENTRY and SUBSYSTEM in .drectve sections 2017-11-29 20:46:13 +00:00
subsystem-inference.test [yaml2obj] Updating LLD tests to account for LLVM r273915 2016-06-27 20:17:08 +00:00
subsystem.test
symtab.test COFF: Emit a COFF symbol table if /debug:dwarf is specified. 2017-11-21 01:14:14 +00:00
thinlto-archives.ll [LLD] Mark a number of x86 only tests to require x86 2017-07-18 18:40:50 +00:00
thinlto-mangled.ll [LLD] Mark a number of x86 only tests to require x86 2017-07-18 18:40:50 +00:00
thinlto.ll [LTO] Make processing of combined module more consistent 2017-12-16 02:10:00 +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
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
wholearchive.s [COFF] Add support for the -wholearchive option 2017-09-13 07:28:03 +00:00
wx.s [COFF] Add support for /WX 2017-10-24 21:19:22 +00:00