llvm-project/lld/test/COFF/Inputs
Martin Storsjo cdf126ebec [COFF] Link crtend.o as the last object file
When faced with command line options such as "crtbegin.o appmain.o
-lsomelib crtend.o", GNU ld pulls in all necessary object files from
somelib before proceeding to crtend.o.

LLD operates differently, only loading object files from any
referenced static libraries after processing all input object files.

This uses a similar hack as in the ELF linker. Here, it moves crtend.o
to the end of the vector of object files. This makes sure that
terminator chunks for sections such as .eh_frame gets ordered last,
fixing DWARF exception handling for libgcc and gcc's crtend.o.

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

llvm-svn: 358394
2019-04-15 10:57:44 +00:00
..
alpha.ll COFF: handle multiply defined symbols with different storage 2017-09-01 22:12:10 +00:00
armnt-executable.obj.yaml
armnt-executable.s
associative-comdat-2.s [COFF] Drop unused comdat sections when GC is turned off 2017-06-16 20:47:19 +00:00
associative-comdat-mingw-2.s [COFF] Treat .xdata/.pdata$<sym> as implicitly associative to <sym> for MinGW 2018-08-06 21:26:09 +00:00
bad-block-size.pdb [LLD][COFF] Cleanup error messages / add more coverage tests 2018-09-10 13:51:21 +00:00
bar.ll COFF: include archive name in LTO object name 2017-03-28 21:20:06 +00:00
beta.ll COFF: handle multiply defined symbols with different storage 2017-09-01 22:12:10 +00:00
cl-gl.obj Partially revert r287009: Remove trailing whitespace. 2016-11-15 19:09:13 +00:00
combined-resources-2.rc Add more stringent tests for the resource section of executables. 2017-06-27 21:28:55 +00:00
combined-resources-2.res Add more stringent tests for the resource section of executables. 2017-06-27 21:28:55 +00:00
combined-resources-cursor.bmp Add more stringent tests for the resource section of executables. 2017-06-27 21:28:55 +00:00
combined-resources-okay.bmp Add more stringent tests for the resource section of executables. 2017-06-27 21:28:55 +00:00
combined-resources.rc Add more stringent tests for the resource section of executables. 2017-06-27 21:28:55 +00:00
combined-resources.res Add more stringent tests for the resource section of executables. 2017-06-27 21:28:55 +00:00
comdat-jumptable2.s [COFF] In MinGW mode, ignore relocations against a discarded section 2018-09-30 18:31:03 +00:00
common-replacement.s [COFF] Remove a superfluous warning about aligncomm for non-common symbols 2018-08-06 19:49:18 +00:00
conflict.ll
constant-export.ll IR: Replace the "Linker Options" module flag with "llvm.linker.options" named metadata. 2017-06-12 20:10:48 +00:00
constant-import.s COFF: actually synthesize CONST imports properly 2017-04-28 17:06:40 +00:00
crt-dyn-initializer-order_1.yaml [LLD][COFF] Fix ordering of CRT global initializers in COMDAT sections 2018-10-05 12:56:46 +00:00
crt-dyn-initializer-order_2.yaml [LLD][COFF] Fix ordering of CRT global initializers in COMDAT sections 2018-10-05 12:56:46 +00:00
default.def COFF: improve link conformance for import names 2017-07-19 02:01:27 +00:00
delayimports-error.yaml Do not allow delay-importing data symbols. 2017-05-25 18:03:34 +00:00
delayimporttables-dll1.yaml [COFF] Fix delay import directory iterator 2019-04-04 14:13:28 +00:00
delayimporttables-dll2.yaml [COFF] Fix delay import directory iterator 2019-04-04 14:13:28 +00:00
eh_frame_terminator-crtend.s [COFF] Link crtend.o as the last object file 2019-04-15 10:57:44 +00:00
eh_frame_terminator-otherfunc.s [COFF] Link crtend.o as the last object file 2019-04-15 10:57:44 +00:00
empty.yaml lld-link: Implement support for %_PDB% and %_EXT% for /pdbaltpath:. 2018-10-08 23:06:05 +00:00
entry-mangled.ll
except_handler3.lib [coff] correctly emit safeseh entries for handlers defined in dlls 2017-11-16 01:22:01 +00:00
export.ll
export.yaml
export2.yaml
extension.def test: add COFF test for library extension handling 2017-07-18 22:25:07 +00:00
failmismatch1.ll [LLD][COFF] Attempt fix for failifmismatch test on aarch64-only builder. 2019-03-07 13:32:29 +00:00
failmismatch2.ll [LLD][COFF] Attempt fix for failifmismatch test on aarch64-only builder. 2019-03-07 13:32:29 +00:00
far-arm64-abs.s [COFF] Implement the remaining ARM64 relocations 2018-05-04 06:06:27 +00:00
gamma.ll COFF: handle multiply defined symbols with different storage 2017-09-01 22:12:10 +00:00
generic.yaml [PDB] Resubmit "Support embedding natvis files in PDBs." 2018-03-23 19:57:25 +00:00
globals-dia-func-collision3.obj [PDB] One more fix for hasing GSI records. 2018-07-06 21:01:42 +00:00
globals-dia-vfunc-collision.obj [PDB] Sort globals symbols by name in GSI hash buckets. 2018-07-06 02:33:58 +00:00
globals-dia-vfunc-collision2.obj [PDB] Sort globals symbols by name in GSI hash buckets. 2018-07-06 02:33:58 +00:00
globals-dia-vfunc-simple.obj [PDB] Sort globals symbols by name in GSI hash buckets. 2018-07-06 02:33:58 +00:00
gnu-implib-data.s [COFF] Allow automatic dllimport from gnu import libraries 2018-09-26 06:13:39 +00:00
gnu-implib-func.s [COFF] Support linking to import libraries from GNU binutils 2018-09-21 22:01:06 +00:00
gnu-implib-head.s [COFF] Support linking to import libraries from GNU binutils 2018-09-21 22:01:06 +00:00
gnu-implib-tail.s [COFF] Support linking to import libraries from GNU binutils 2018-09-21 22:01:06 +00:00
gnu-weak.o [COFF] Cope with weak aliases produced by GNU tools 2018-10-03 18:31:53 +00:00
gnu-weak2.o [COFF] Cope with weak aliases produced by GNU tools 2018-10-03 18:31:53 +00:00
guardcf-align-foobar.yaml lld-link: align sections to 16 bytes if referenced from the gfids table 2018-06-28 15:22:40 +00:00
hello32.yaml
hello64.asm
hello64.obj
icf-safe.s COFF: Implement safe ICF on rodata using address-significance tables. 2018-08-23 17:44:42 +00:00
import.yaml Garbage collect dllimported symbols. 2017-05-24 22:30:06 +00:00
imports-mangle.lib
include1a.yaml
include1b.yaml
include1c.yaml
inline-weak.o [COFF] Cope with GCC produced weak aliases referring to comdat functions 2018-10-05 19:43:16 +00:00
inline-weak2.o [COFF] Cope with GCC produced weak aliases referring to comdat functions 2018-10-05 19:43:16 +00:00
library-arm64.lib [COFF] Add initial support for some ARM64 relocations and import thunks 2017-07-11 07:22:44 +00:00
library.def COFF: add support for lib mode usage 2017-06-15 20:39:58 +00:00
library.lib
library2-arm64.lib [COFF] Align import address chunks to the pointer size 2017-07-20 05:49:54 +00:00
library2.def [COFF] Align import address chunks to the pointer size 2017-07-20 05:49:54 +00:00
loadconfig-cfg-x64.s [COFF] Add integration test for LTO + /guard:cf 2018-03-14 19:49:28 +00:00
locally-imported-def.s [COFF] Warn for locally imported symbols 2017-12-15 07:49:21 +00:00
locally-imported-imp.s [COFF] Warn for locally imported symbols 2017-12-15 07:49:21 +00:00
lto-cache.ll COFF: Implement ThinLTO cache and cache pruning support. 2017-09-08 00:50:50 +00:00
lto-chkstk-chkstk.s
lto-chkstk-foo.s
lto-comdat1.ll
lto-comdat2.ll
lto-dep.ll
lto-lazy-reference-dummy.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-lazy-reference-quadruple.ll LTO: Don't follow lazy references when seeing new definitions in the combined LTO object 2016-10-12 09:00:06 +00:00
machine-x64.yaml
machine-x86.yaml
manifestinput.test
msvclto-order-a.ll [coff] for /msvclto, pass archive members with prevailing symbols first 2017-04-21 21:38:01 +00:00
msvclto-order-b.ll [coff] for /msvclto, pass archive members with prevailing symbols first 2017-04-21 21:38:01 +00:00
msvclto.s Add an option to use the MSVC linker to link LTO-generated object files. 2017-02-06 20:47:55 +00:00
named.def COFF: improve link conformance for import names 2017-07-19 02:01:27 +00:00
natvis-1.natvis [PDB] Resubmit "Support embedding natvis files in PDBs." 2018-03-23 19:57:25 +00:00
natvis-2.natvis [PDB] Resubmit "Support embedding natvis files in PDBs." 2018-03-23 19:57:25 +00:00
natvis-3.natvis [PDB] Resubmit "Support embedding natvis files in PDBs." 2018-03-23 19:57:25 +00:00
object.s COFF: improve link conformance for import names 2017-07-19 02:01:27 +00:00
oldname.yaml Garbage collect dllimported symbols. 2017-05-24 22:30:06 +00:00
order.yaml Add the /order option. 2018-01-27 00:34:46 +00:00
otherFunc.s [COFF] Store import symbol pointers as pointers to the base class 2018-07-10 10:40:11 +00:00
pdb-diff-cl.pdb Fix some differences between lld and MSVC generated PDBs. 2017-07-07 18:45:56 +00:00
pdb-diff.cpp Fix some differences between lld and MSVC generated PDBs. 2017-07-07 18:45:56 +00:00
pdb-diff.obj Fix some differences between lld and MSVC generated PDBs. 2017-07-07 18:45:56 +00:00
pdb-file-statics-a.yaml Update LLD tests for CodeView dumper change in r339907 2018-08-16 18:03:06 +00:00
pdb-file-statics-b.yaml Update LLD tests for CodeView dumper change in r339907 2018-08-16 18:03:06 +00:00
pdb-global-gc.s [COFF] Allow debug info to relocate against discarded symbols 2017-06-28 17:06:35 +00:00
pdb-globals.yaml Fix newly failing tests. 2018-01-08 23:07:39 +00:00
pdb-hashes-1.yaml Resubmit [pdb] Change /DEBUG:GHASH to emit 8 byte hashes." 2018-05-17 22:55:15 +00:00
pdb-hashes-2-missing.yaml Resubmit [pdb] Change /DEBUG:GHASH to emit 8 byte hashes." 2018-05-17 22:55:15 +00:00
pdb-hashes-2.yaml Resubmit [pdb] Change /DEBUG:GHASH to emit 8 byte hashes." 2018-05-17 22:55:15 +00:00
pdb-import-gc.lib [COFF] Allow debug info to relocate against discarded symbols 2017-06-28 17:06:35 +00:00
pdb-scopes-a.yaml Update LLD tests for CodeView dumper change in r339907 2018-08-16 18:03:06 +00:00
pdb-scopes-b.yaml Update LLD tests for CodeView dumper change in r339907 2018-08-16 18:03:06 +00:00
pdb-type-server-missing-2.yaml [LLD][COFF] Cleanup error messages / add more coverage tests 2018-09-10 13:51:21 +00:00
pdb-type-server-simple-a.yaml Update LLD tests for CodeView dumper change in r339907 2018-08-16 18:03:06 +00:00
pdb-type-server-simple-b.yaml Update LLD tests for CodeView dumper change in r339907 2018-08-16 18:03:06 +00:00
pdb-type-server-simple-ts.yaml [PDB] Merge in types and items from type servers (/Zi) 2017-07-18 00:21:25 +00:00
pdb-type-server-valid-signature.yaml [LLD][COFF] Cleanup error messages / add more coverage tests 2018-09-10 13:51:21 +00:00
pdb1.yaml [codeview] YAMLize all section offsets and indices in symbol records 2017-06-20 21:19:22 +00:00
pdb2.yaml Resubmit "[codeview] Make obj2yaml/yaml2obj support .debug$S..." 2017-06-14 15:59:27 +00:00
pdb_comdat_bar.yaml Remove trailing whitespace. 2017-12-12 20:00:30 +00:00
pdb_comdat_main.yaml Remove trailing whitespace. 2017-12-12 20:00:30 +00:00
pdb_lines_1.yaml Remove trailing whitespace. 2017-12-12 20:00:30 +00:00
pdb_lines_1_relative.yaml [PDB] Add PDBSourcePath flag to support absolutize source file path 2018-07-19 04:56:22 +00:00
pdb_lines_2.yaml Remove trailing whitespace. 2017-12-12 20:00:30 +00:00
pdb_lines_2_relative.yaml [PDB] Add PDBSourcePath flag to support absolutize source file path 2018-07-19 04:56:22 +00:00
precomp-a.obj [COFF][LLD] Add link support for Microsoft precompiled headers OBJs 2018-11-05 19:20:47 +00:00
precomp-b.obj [COFF][LLD] Add link support for Microsoft precompiled headers OBJs 2018-11-05 19:20:47 +00:00
precomp-invalid.obj [COFF][LLD] Add link support for Microsoft precompiled headers OBJs 2018-11-05 19:20:47 +00:00
precomp.obj [COFF][LLD] Add link support for Microsoft precompiled headers OBJs 2018-11-05 19:20:47 +00:00
resource.res
ret42.lib
ret42.obj
ret42.yaml
std32.lib
std64.lib
thinlto-mangled-qux.ll COFF: tests for thinlto with mangled names 2017-03-31 22:17:02 +00:00
weak-external.ll
weak-external2.ll
weak-external3.ll