llvm-project/lld/test/ELF/lto
Shoaib Meenai f9b3c18e74 [CodeGen] Fix wrapping personality symbol on ARM
The ARM backend was explicitly setting global binding on the personality
symbol. This was added without any comment in a7ec2dcefd, which
introduced EHABI support (back in 2011). None of the other backends do
anything equivalent, as far as I can tell.

This causes problems when attempting to wrap the personality symbol.
Wrapped symbols are marked as weak inside LTO to inhibit IPO (see
https://reviews.llvm.org/D33621). When we wrap the personality symbol,
it initially gets weak binding, and then the ARM backend attempts to
change the binding to global, which causes an error in MC because of
attempting to change the binding of a symbol from non-global to global
(the error was added in https://reviews.llvm.org/D90108).

Simply drop the ARM backend's explicit global binding setting to fix
this. This matches all the other backends, and a large internal
application successfully linked and ran with this change, so it
shouldn't cause any problems. Test via LLD, since wrapping is required
to exhibit the issue.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D110609
2021-09-28 15:01:05 -07:00
..
Inputs Revert "[lld] Add lto-pgo-warn-mismatch option" 2021-08-11 16:25:42 +08:00
aarch64.ll [ELF][test] Improve gitBitcodeMachineKind tests 2021-09-07 11:38:43 -07:00
abs-resol.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
amdgcn-oses.ll AMDGPU: Add target id and code object v4 support 2021-03-24 11:54:05 -04:00
amdgcn.ll
archive-2.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
archive-3.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
archive-mixed.test [lld][ELF][test] Add additional LTO testing 2020-09-21 10:18:09 +01:00
archive-no-index.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
archive.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
arm-wrap-personality.ll [CodeGen] Fix wrapping personality symbol on ARM 2021-09-28 15:01:05 -07:00
asmundef.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
available-externally.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
basic-block-sections.ll Append ".__part." to every basic block section symbol. 2020-12-23 11:35:44 -08:00
bitcode-nodatalayout.ll [ELF][test] Change -o %t to -o /dev/null if the output is not needed 2020-02-12 21:54:50 -08:00
bitcode-wrapper.ll [lld][ELF][test] Add additional test coverage for LTO 2020-10-23 09:51:30 +01:00
cache.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
codemodel.ll [llvm-objdump] -d: print `00000000 <foo>:` instead of `00000000 foo:` 2020-03-05 18:05:28 -08:00
combined-lto-object-name.ll [ELF][test] Change -o %t to -o /dev/null if the output is not needed 2020-02-12 21:54:50 -08:00
comdat-nodeduplicate.ll [ELF][test] Add -DAG 2021-07-20 15:27:52 -07:00
comdat.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
comdat2.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
common.ll [lld][ELF][test] Add additional test coverage for LTO 2020-10-23 09:51:30 +01:00
common2.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
common3.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
common4.ll [lld] NFC: fix trivial typos in comments 2020-04-02 01:21:36 +09:00
cpu-string.ll [test] lld/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:48:36 -07:00
ctors.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
debugger-tune.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
defsym.ll [llvm-objdump] -d: print `00000000 <foo>:` instead of `00000000 foo:` 2020-03-05 18:05:28 -08:00
deplibs.s [ELF] Implement Dependent Libraries Feature 2019-05-17 03:44:15 +00:00
devirt_split_unit_localize.ll [lld:elf] Weaken the requirement for a computed binding to be STB_LOCAL 2021-05-24 23:32:21 -04:00
devirt_vcall_vis_export_dynamic.ll [lld] Reorder cases in test to match comments (NFC) 2021-02-13 16:32:39 -08:00
devirt_vcall_vis_localize.ll [WPD][ELF] Allow whole program devirtualization for version script localized symbols 2021-03-09 22:33:47 -08:00
devirt_vcall_vis_public.ll [LTO] Prevent devirtualization for symbols dynamically exported 2021-01-27 15:54:13 -08:00
devirt_vcall_vis_shared_def.ll [WPD][lld] Test handling of vtable definition from shared libraries 2021-02-17 12:49:24 -08:00
discard-value-names.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
drop-debug-info.ll
drop-linkage.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
duplicated-name.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
duplicated.ll [ELF][test] Change -o %t to -o /dev/null if the output is not needed 2020-02-12 21:54:50 -08:00
dynamic-list.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
dynsym.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
emit-asm.ll [lld] Support --lto-emit-asm and --plugin-opt=emit-asm 2020-04-27 11:00:46 -07:00
emit-llvm.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
exclude-libs-libcall.ll [ELF] --exclude-libs: localize defined libcall symbols referenced by lto.tmp 2021-01-11 09:33:22 -08:00
hexagon.ll [ELF] Infer EM_HEXAGON in getBitcodeMachineKind 2021-09-07 20:46:37 -07:00
init-fini.ll Keep symbols passed by -init and -fini 2019-11-08 19:08:15 +09:00
inline-asm.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
internalize-basic.ll [lld][ELF][test] test LTO-removed symbols are not in symtab 2020-11-04 20:06:20 +00:00
internalize-exportdyn.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
internalize-llvmused.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
internalize-undef.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
internalize-version-script.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
irmover-error.ll [ELF][test] Change -o %t to -o /dev/null if the output is not needed 2020-02-12 21:54:50 -08:00
irmover-warning.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
keep-undefined.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
lazy-internal.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
libcall-archive.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
linkage.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
linker-script-symbols-assign.ll [LTO] Suppress emission of empty combined module by default 2020-05-04 18:31:09 -07:00
linker-script-symbols-ipo.ll [X86InstPrinter] Change printPCRelImm to print the target address in hexadecimal form 2020-03-26 08:28:59 -07:00
linker-script-symbols.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
linkonce-odr.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
linkonce.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
lto-start.ll [Object] Change ELFObjectFile<ELFT>::getFileFormatName() to use BFD names 2020-03-16 07:42:04 -07:00
ltopasses-basic.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
ltopasses-custom.ll Revert "Revert "Reland "[Support] make report_fatal_error `abort` instead of `exit`""" 2020-02-13 10:16:06 -08:00
metadata.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
mix-platforms.ll [ELF][test] Change -o %t to -o /dev/null if the output is not needed 2020-02-12 21:54:50 -08:00
mix-platforms2.ll [ELF][test] Change -o %t to -o /dev/null if the output is not needed 2020-02-12 21:54:50 -08:00
mllvm.ll [ELF] Fix multiple -mllvm after D70378 2020-09-29 10:26:58 -07:00
module-asm.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
new-pass-manager.ll [NewPM] Hide pass manager debug logging behind -debug-pass-manager-verbose 2021-05-07 21:51:47 -07:00
non-ascii-filenames.ll [lld][ELF][test] Add additional test coverage for LTO 2020-10-23 09:51:30 +01:00
obj-path.ll [Object] Change ELFObjectFile<ELFT>::getFileFormatName() to use BFD names 2020-03-16 07:42:04 -07:00
opt-level.ll [ELF][test] Change -o %t to -o /dev/null if the output is not needed 2020-02-12 21:54:50 -08:00
opt-remarks.ll [InlineAdvisor] Add single quotes around caller/callee names 2021-08-10 11:51:31 -07:00
parallel-internalize.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
parallel.ll [LLD] Fix tests after D96993 2021-02-19 13:08:17 +01:00
pgo-warn-mismatch.ll [LTO][lld] Add lto-pgo-warn-mismatch option 2021-08-11 09:45:55 -07:00
pic.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
ppc.ll [ELF][test] Improve gitBitcodeMachineKind tests 2021-09-07 11:38:43 -07:00
pseudo-probe-lto.ll [CSSPGO] Set PseudoProbeInserter as a default pass. 2021-09-22 09:09:48 -07:00
r600.ll
relax-relocs.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
relocatable.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
relocation-model-pic.ll [LLD][ELF] Fix typo in relocation-model-pic.ll 2020-12-09 15:38:50 +01:00
relocation-model-static.ll [ELF] Fix relocation-model.ll 2020-12-04 19:33:19 -08:00
resolution-err.ll Fix resolution-err.ll 2021-04-13 16:11:58 -07:00
resolution.ll [lld][ELF][test] Add additional test coverage for LTO 2020-10-23 09:51:30 +01:00
riscv.ll [ELF][test] Improve gitBitcodeMachineKind tests 2021-09-07 11:38:43 -07:00
sample-profile.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
save-temps.ll [ELF][test] Change references of %T to %t.dir 2019-10-30 09:22:48 -07:00
section-name.ll [ELF] Default to -z start-stop-gc with a glibc "__libc_" special case 2021-04-16 12:18:46 -07:00
setting-dso-local.ll [ELF][test] Change -o %t to -o /dev/null if the output is not needed 2020-02-12 21:54:50 -08:00
shlib-undefined.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
slp-vectorize-pm.ll [ThinLTO] Pass CodeGenOpts like UnrollLoops/VectorizeLoop/VectorizeSLP 2020-01-09 21:13:11 -08:00
start-lib.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
symbol-ordering-data.s [ELF][test] Improve LTO tests 2019-09-07 08:20:09 +00:00
symbol-ordering-function.s [ELF][test] Improve LTO tests 2019-09-07 08:20:09 +00:00
thin-archivecollision.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
thinlto-cant-write-index.ll [test] Use host platform specific error message substitution in lit tests - continued 2021-02-03 09:53:22 -05:00
thinlto-debug-fission.ll [Object] Change ELFObjectFile<ELFT>::getFileFormatName() to use BFD names 2020-03-16 07:42:04 -07:00
thinlto-emit-imports.ll [test] Use host platform specific error message substitution in lit tests - continued 2021-02-03 09:53:22 -05:00
thinlto-index-file.ll [ELF] Add convenience TableGen classes to enforce two dashes for options not supported by GNU ld 2020-05-08 07:37:06 -07:00
thinlto-index-only.ll [ELF] Fix --thinlto-index-only regression after D79300 2020-06-09 23:10:30 -07:00
thinlto-no-index.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
thinlto-obj-path.ll [ELF] Add convenience TableGen classes to enforce two dashes for options not supported by GNU ld 2020-05-08 07:37:06 -07:00
thinlto-object-suffix-replace.ll [ELF] Add convenience TableGen classes to enforce two dashes for options not supported by GNU ld 2020-05-08 07:37:06 -07:00
thinlto-prefix-replace.ll [ELF] Add convenience TableGen classes to enforce two dashes for options not supported by GNU ld 2020-05-08 07:37:06 -07:00
thinlto-single-module.ll [LLD][ThinLTO] Add --thinlto-single-module to allow compiling partial modules. 2020-06-10 15:32:30 -07:00
thinlto-thin-archive-collision.ll [LLD][ELF] Use offset in thin archives to disambiguate thinLTO members 2020-05-15 12:02:08 -07:00
thinlto-time-trace.ll [ELF] Enforce two-dash form for some LLD specific options and the newer --[no-]pcrel-optimize 2020-08-17 10:00:31 -07:00
thinlto.ll [LLD][ELF] Use offset in thin archives to disambiguate thinLTO members 2020-05-15 12:02:08 -07:00
timepasses.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
tls-mixed.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
tls-preserve.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
type-merge.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
type-merge2.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
undef-mixed.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
undef-mixed2.test [lld][ELF][test] Add additional LTO testing 2020-09-21 10:18:09 +01:00
undef-weak-lazy.ll [ELF] Set `referenced` bit of Undefined created by BitcodeFile 2019-08-30 07:10:30 +00:00
undef-weak.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
undef.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
undefined-puts.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
unnamed-addr-comdat.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
unnamed-addr-drop.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
unnamed-addr-lib.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
unnamed-addr.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
verify-invalid.ll [ELF] Rename --[no-]lto-new-pass-manager to --[no-]lto-legacy-pass-manager 2020-12-09 17:53:37 -08:00
version-libcall.ll [ELF] Make --version-script/--dynamic-list work for lazy symbols fetched by LTO libcalls 2020-04-06 09:47:06 -07:00
version-script.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
version-script2.ll [ELF][test] Fix lto/version-script2.ll 2020-12-01 10:22:33 -08:00
visibility.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
warn-backrefs.ll [lld][ELF] Don't write output to the test directory. NFC. 2020-10-26 18:10:31 +01:00
weak.ll [lld][ELF][test] Add a couple of test cases for LTO behaviour 2020-09-24 11:49:20 +01:00
weakodr-visibility.ll [llvm-objdump] -d: print `00000000 <foo>:` instead of `00000000 foo:` 2020-03-05 18:05:28 -08:00
wrap-1.ll [ELF] --wrap: don't unnecessarily expose __real_ 2020-09-30 20:09:25 -07:00
wrap-2.ll [lld][ELF][test] Add additional LTO testing 2020-09-21 10:18:09 +01:00
wrap-defined.ll [ELF] --wrap: retain __wrap_foo if foo is defined in an object/bitcode file 2021-01-22 09:20:29 -08:00