1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/test/Object
Fangrui Song 2174d3b961 [LTO] Add SelectionKind to IRSymtab and use it in ld.lld/LLVMgold
In PGO, a C++ external linkage function `foo` has a private counter
`__profc_foo` and a private `__profd_foo` in a `comdat nodeduplicate`.

A `__attribute__((weak))` function `foo` has a weak hidden counter `__profc_foo`
and a private `__profd_foo` in a `comdat nodeduplicate`.

In `ld.lld a.o b.o`, say a.o defines an external linkage `foo` and b.o
defines a weak `foo`. Currently we treat `comdat nodeduplicate` as `comdat any`,
ld.lld will incorrectly consider `b.o:__profc_foo` non-prevailing.  In the worst
case when `b.o:__profd_foo` is retained and `b.o:__profc_foo` isn't, there will
be dangling reference causing an `undefined hidden symbol` error.

Add SelectionKind to `Comdat` in IRSymtab and let linkers ignore nodeduplicate comdat.

Differential Revision: https://reviews.llvm.org/D106228
2021-07-20 13:22:00 -07:00
..
AArch64
AMDGPU [test] Move AMDGPU reloc test from Object to tools/llvm-readobj and simplify it 2021-07-12 10:04:32 -07:00
ARM
BPF BPF: fix relocation types in lib/Object/RelocationResolver.cpp 2021-06-07 20:59:21 -07:00
Inputs [TextAPI] Add support for arm64_32 2021-04-01 17:19:12 -07:00
Lanai
Mips
RISCV
X86 [LTO] Add SelectionKind to IRSymtab and use it in ld.lld/LLVMgold 2021-07-20 13:22:00 -07:00
ar-create.test
ar-error.test
archive-darwin-duplicates.test
archive-delete.test
archive-error-tmp.txt
archive-extract-dir.test [test] Use host platform specific error message substitution in lit tests 2021-01-29 07:16:30 -05:00
archive-extract.test [test] Use host platform specific error message substitution in lit tests 2021-01-29 07:16:30 -05:00
archive-format.test
archive-long-filenames-no-null-terminator.test
archive-long-index.test
archive-malformed-object.test
archive-move.test
archive-pad.test
archive-replace-pos.test
archive-symtab.test
archive-thin-create.test
archive-thin-paths.test
archive-thin-read.test
archive-toc.test
archive-unknown-filetype.test
archive-update.test
check_binary_output.ll
coff-archive-short.test
coff-archive.test
coff-empty-drectve.test
coff-invalid.test
coff-weak-externals.test
directory.ll [test] Use host platform specific error message substitution in lit tests 2021-01-29 07:16:30 -05:00
dllimport-globalref.ll
dllimport.ll
dyn-rel-relocation.test
dynamic-reloc.test
invalid-alignment.test
invalid.test [llvm-readobj] Switch command line parsing from llvm::cl to OptTable 2021-07-12 10:14:42 -07:00
kext.test
macho-invalid.test [llvm-nm] Tidy up error messages 2021-02-15 13:54:08 +00:00
mangle-ir.ll
multi-module.ll
multiple-sections.yaml [LLD][LLVM] CG Graph profile using relocations 2021-06-24 09:09:33 -07:00
nm-archive.test [llvm-nm] Tidy up error messages 2021-02-15 13:54:08 +00:00
nm-bitcode.test
nm-darwin-m.test
nm-error.test
nm-irix6.test
nm-pe-image.test
nm-shared-object.test [llvm-nm] Tidy up error messages 2021-02-15 13:54:08 +00:00
nm-tapi-invalids.test [llvm-nm] Tidy up error messages 2021-02-15 13:54:08 +00:00
nm-tapi.test [TextAPI] Add support for arm64_32 2021-04-01 17:19:12 -07:00
nm-trivial-object.test
nm-universal-binary.test [llvm-nm] Switch command line parsing from llvm::cl to OptTable 2021-07-07 13:34:33 -07:00
nm-weak-global-macho.test
obj2yaml.test [yaml2obj/obj2yaml/llvm-readobj] Support printing and parsing AVR-specific e_flags 2021-04-15 15:54:28 +02:00
objc-imageinfo-coff.ll
objc-imageinfo-elf.ll
objc-imageinfo-macho.ll
objc-swift-mixed-imageinfo-macho.ll
objdump-export-list.test
objdump-no-sectionheaders.test
objdump-private-headers.test
objdump-relocations.test
objdump-section-content.test
objdump-sectionheaders.test
objdump-symbol-table.test
pr25877.test
relocation-executable.test
simple-archive.test
size-trivial-macho.test
stackmap-dump.test
wasm-bad-data-symbol.yaml [lld][WebAssembly] Allow data symbols to extend past end of segment 2021-05-12 13:43:37 -07:00
wasm-bad-metadata-version.yaml [Object][WebAssembly] Update format of error messages 2021-01-25 21:12:53 -08:00
wasm-bad-reloc-type.test [Object][WebAssembly] Update format of error messages 2021-01-25 21:12:53 -08:00
wasm-bad-symbol-type.test [Object][WebAssembly] Update format of error messages 2021-01-25 21:12:53 -08:00
wasm-duplicate-name.test [Object][WebAssembly] Update format of error messages 2021-01-25 21:12:53 -08:00
wasm-invalid-file.yaml [Object][WebAssembly] Update format of error messages 2021-01-25 21:12:53 -08:00
wasm-invalid-section-order.test [Object][WebAssembly] Update format of error messages 2021-01-25 21:12:53 -08:00
wasm-invalid-start.test [Object][WebAssembly] Update format of error messages 2021-01-25 21:12:53 -08:00
wasm-missing-version.test [Object][WebAssembly] Update format of error messages 2021-01-25 21:12:53 -08:00
wasm-relocs-and-producers.yaml [WebAssembly] Rename WasmLimits::Initial to ::Minimum. NFC. 2021-03-24 09:10:11 +01:00
wasm-string-outside-section.test
yaml2obj-elf-rel-noref.yaml
yaml2obj-elf-rel.yaml
yaml2obj-readobj.test