llvm-project/lld/test/ELF/lto
Peter Collingbourne 98930115ea ELF: Only add libcall symbols to the link if defined in bitcode.
Adding all libcall symbols to the link can have undesired consequences.
For example, the libgcc implementation of __sync_val_compare_and_swap_8
on 32-bit ARM pulls in an .init_array entry that aborts the program if
the Linux kernel does not support 64-bit atomics, which would prevent
the program from running even if it does not use 64-bit atomics.

This change makes it so that we only add libcall symbols to the
link before LTO if we have to, i.e. if the symbol's definition is in
bitcode. Any other required libcall symbols will be added to the link
after LTO when we add the LTO object file to the link.

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

llvm-svn: 339301
2018-08-08 23:48:12 +00:00
..
Inputs ELF: Only add libcall symbols to the link if defined in bitcode. 2018-08-08 23:48:12 +00:00
abs-resol.ll Symbols defined in linker scripts should not have dso_local flag set in LTO resolutions. 2018-02-08 04:25:52 +00:00
archive-2.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
archive-3.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
archive-no-index.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
archive.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
asmundef.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
available-externally.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
bitcode-nodatalayout.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
cache.ll [lit, python] Always add quotes around the python path in lit 2018-08-06 22:37:49 +00:00
codemodel.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
combined-lto-object-name.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
comdat.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
comdat2.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
common.ll
common2.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
common3.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
cpu-string.ll [ELF] - Allow set CPU string with -plugin-opt=mcpu=<xxx> 2018-02-07 08:50:36 +00:00
ctors.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
data-ordering-lto.s [ELF] Fix other tests after r336129 2018-07-02 19:17:03 +00:00
debugger-tune.ll [ELF] - Add testcase for -debugger-tune=<value> 2018-02-07 08:43:19 +00:00
defsym.ll Run dos2unix in a few files. NFC. 2018-01-30 17:24:28 +00:00
discard-value-names.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
drop-debug-info.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
drop-linkage.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
duplicated-name.ll Remember archive name when creating LazyObjectFile. 2017-05-05 13:55:51 +00:00
duplicated.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
dynamic-list.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
dynsym.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
inline-asm.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
internalize-basic.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
internalize-exportdyn.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
internalize-llvmused.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
internalize-undef.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
internalize-version-script.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
irmover-error.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
keep-undefined.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
lazy-internal.ll Add a test for an issue fixed in r329092. 2018-04-03 18:35:46 +00:00
libcall-archive.ll ELF: Only add libcall symbols to the link if defined in bitcode. 2018-08-08 23:48:12 +00:00
linkage.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
linker-script-symbols-assign.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
linker-script-symbols-ipo.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
linker-script-symbols.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
linkonce-odr.ll
linkonce.ll
lto-start.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
ltopasses-basic.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
ltopasses-custom.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
metadata.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
mix-platforms.ll
mix-platforms2.ll [ELF] - Report proper error message about mixing bitcode files. 2018-07-11 12:32:00 +00:00
module-asm.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
new-pass-manager.ll Added support for LTO options: sample_profile, new_pass_manager and debug_pass_manager 2018-04-09 17:56:07 +00:00
opt-level.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
opt-remarks.ll Fix one test for changed opt remarks format 2018-08-05 14:53:14 +00:00
parallel-internalize.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
parallel.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
pic.ll
relax-relocs.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
relocatable.ll ELF: Enable address-significance tables during LTO. 2018-08-06 20:12:12 +00:00
relocation-model.ll [lld] Infer relocation model from module flags in relocatable LTO link. 2017-05-22 21:11:44 +00:00
resolution.ll
sample-profile.ll [LTO] Errors in LLVM backend should manifest as lld errors 2018-07-02 21:01:43 +00:00
save-temps.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
section-name.ll Add --gc-sections to a test. 2017-07-26 23:47:24 +00:00
setting-dso-local.ll Add a lld test for a llvm fix. 2018-01-18 05:40:43 +00:00
shlib-undefined.ll [ELF] Make tests with undefined symbols more explicit. 2017-11-24 06:42:32 +00:00
start-lib.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
symbol-ordering-lto.s [ELF] Fix other tests after r336129 2018-07-02 19:17:03 +00:00
thin-archivecollision.ll [LLD] Mark a number of x86 only tests to require x86 2017-07-18 18:40:50 +00:00
thinlto-cant-write-index.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
thinlto-debug-fission.ll remove temporal file directory before testing in thinlto-debug-fission.ll 2018-07-16 20:28:48 +00:00
thinlto-emit-imports.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
thinlto-index-file.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
thinlto-index-only.ll [ELF] - Test LLD creates empty .imports file. 2018-07-05 12:23:37 +00:00
thinlto-no-index.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
thinlto-obj-path.ll Splitting thinlto.ll test file and renaming other test files. 2018-05-11 19:37:08 +00:00
thinlto-object-suffix-replace.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
thinlto-prefix-replace.ll Handle --plugin-opt= options as alias options. 2018-05-22 02:53:11 +00:00
thinlto.ll ELF: Run the same test without --thinlto-jobs as we do with --thinlto-jobs. 2018-05-29 23:32:49 +00:00
timepasses.ll Remove "--full-shutdown" and instead use an environment variable LLD_IN_TEST. 2018-02-16 23:41:48 +00:00
tls-mixed.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
tls-preserve.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
type-merge.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
type-merge2.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
undef-mixed.ll
undef-weak.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
undef.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
undefined-puts.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
unnamed-addr-comdat.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
unnamed-addr-drop.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
unnamed-addr-lib.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
unnamed-addr.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
verify-invalid.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
version-script.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
version-script2.ll Strip @VER suffices from the LTO output. 2018-03-28 22:45:39 +00:00
visibility.ll Update for llvm change. 2018-01-18 02:08:32 +00:00
weak.ll [ELF] Remove -m argument to lld in test files. NFC. 2018-05-30 17:57:08 +00:00
weakodr-visibility.ll [ELF] - Added testcase for testing visibility of weak_odr symbols. 2018-02-23 10:08:15 +00:00
wrap-1.ll Set dso_local in lld. 2018-01-16 16:49:05 +00:00
wrap-2.ll Refine our --wrap implementation. 2017-10-06 20:09:34 +00:00