forked from OSchip/llvm-project
a83c3f7879
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 |
||
---|---|---|
.. | ||
archive-ir-asm.ll | ||
archive-symbol-table.s | ||
asm-lazy-reference.ll | ||
irsymtab-asm.ll | ||
irsymtab-bad-alias.ll | ||
irsymtab.ll | ||
lit.local.cfg | ||
macho-text-sections.test | ||
nm-bitcodeweak.test | ||
nm-coff.s | ||
nm-ir.ll | ||
nm-macho.s | ||
nm-print-size.s | ||
nm-undefinedweak.test | ||
no-start-symbol.test | ||
objdump-disassembly-inline-relocations.test | ||
objdump-label.test | ||
objdump-trivial-object.test | ||
yaml-elf-x86-rel-broken.yaml | ||
yaml2obj-elf-x86-rel.yaml |