llvm-project/llvm/test/Object/X86
Teresa Johnson a83c3f7879 [LTO] Prevent dead stripping and internalization of symbols with sections
Summary:
ELF linkers generate __start_<secname> and __stop_<secname> symbols
when there is a value in a section <secname> where the name is a valid
C identifier.  If dead stripping determines that the values declared
in section <secname> are dead, and we then internalize (and delete)
such a symbol, programs that reference the corresponding start and end
section symbols will get undefined reference linking errors.

To fix this, add the section name to the IRSymtab entry when a symbol is
defined in a specific section. Then use this in the gold-plugin to mark
the symbol as external and visible from outside the summary when the
section name is a valid C identifier.

Reviewers: pcc

Subscribers: mehdi_amini, inglorion, eraman, llvm-commits

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

llvm-svn: 309009
2017-07-25 19:42:32 +00:00
..
archive-ir-asm.ll
archive-symbol-table.s Add an extra test for archive symbol tables. 2017-05-15 15:56:23 +00:00
asm-lazy-reference.ll RecordStreamer: handle inline asm "lazy_reference" and mark symbols as "used" 2016-08-03 03:51:42 +00:00
irsymtab-asm.ll Bitcode: Write the irsymtab to disk. 2017-06-27 23:50:11 +00:00
irsymtab-bad-alias.ll Bitcode: Write the irsymtab to disk. 2017-06-27 23:50:11 +00:00
irsymtab.ll [LTO] Prevent dead stripping and internalization of symbols with sections 2017-07-25 19:42:32 +00:00
lit.local.cfg
macho-text-sections.test
nm-bitcodeweak.test [IRObjectFile] Handle undefined weak symbols in RecordStreamer. 2016-09-15 17:54:22 +00:00
nm-coff.s
nm-ir.ll Add support for handling ifuncs to GlobalValue::getBaseObject 2017-05-15 18:28:29 +00:00
nm-macho.s
nm-print-size.s
nm-undefinedweak.test [IRObjectFile] Handle undefined weak symbols in RecordStreamer. 2016-09-15 17:54:22 +00:00
no-start-symbol.test
objdump-disassembly-inline-relocations.test
objdump-label.test
objdump-trivial-object.test
yaml-elf-x86-rel-broken.yaml [YAML] - Teach yaml2obj/obj2yaml to work with numeric relocation values. 2017-06-30 10:31:03 +00:00
yaml2obj-elf-x86-rel.yaml [yaml2obj] Remove --format option in favor of YAML tags 2016-06-27 19:53:53 +00:00