1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 10:42:39 +01:00
llvm-mirror/test/Object/X86
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
..
archive-ir-asm.ll
archive-symbol-table.s
asm-lazy-reference.ll
coff-asm.ll
irsymtab-asm.ll
irsymtab-bad-alias.ll
irsymtab.ll [LTO] Add SelectionKind to IRSymtab and use it in ld.lld/LLVMgold 2021-07-20 13:22:00 -07:00
lit.local.cfg
macho-text-sections.test [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
nm-bitcodeweak.test
nm-coff.s
nm-ir.ll
nm-macho.s
nm-print-size.s
nm-undefinedweak.test
obj2yaml-dup-section-name.s [obj2yaml] - Teach tool to emit the "SectionHeaderTable" key and sort sections by file offset. 2020-12-01 12:59:15 +03:00
obj2yaml-dup-symbol-name.s
objdump-disassembly-inline-relocations.test [X86InstPrinter] Change printPCRelImm to print the target address in hexadecimal form 2020-03-26 08:28:59 -07:00
objdump-label.test [llvm-objdump] -d: print 00000000 <foo>: instead of 00000000 foo: 2020-03-05 18:05:28 -08:00
objdump-trivial-object.test [X86InstPrinter] Change printPCRelImm to print the target address in hexadecimal form 2020-03-26 08:28:59 -07:00
yaml2obj-elf-x86-rel.yaml [llvm-readobj] - For SHT_REL relocations, don't display an addend. 2020-12-14 12:03:00 +03:00