[PATCH] D19430: ELF: Implement basic support for --version-script.
Peter Collingbourne via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 22 12:24:33 PDT 2016
pcc created this revision.
pcc added reviewers: rafael, ruiu, davide, grimar.
pcc added a subscriber: llvm-commits.
Herald added a subscriber: joker.eph.
This patch only implements support for version scripts of the form:
{ [ global: symbol1; symbol2; [...]; symbolN; ] local: *; };
No wildcards are supported, other than for the local entry. Symbol versioning
is also not supported.
It works by introducing a new Symbol flag which tracks whether a symbol
appears in the global section of a version script.
This patch also simplifies the logic in SymbolBody::isPreemptible(), and
teaches it to handle the case where symbols with default visibility in DSOs
do not appear in the dynamic symbol table because of a version script.
Fixes PR27482.
http://reviews.llvm.org/D19430
Files:
ELF/CMakeLists.txt
ELF/Config.h
ELF/Driver.cpp
ELF/Driver.h
ELF/DynamicList.cpp
ELF/DynamicList.h
ELF/Options.td
ELF/SymbolListFile.cpp
ELF/SymbolListFile.h
ELF/SymbolTable.cpp
ELF/SymbolTable.h
ELF/Symbols.cpp
ELF/Symbols.h
test/ELF/lto/internalize-version-script.ll
test/ELF/no-inhibit-exec.s
test/ELF/version-script.s
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D19430.54701.patch
Type: text/x-patch
Size: 15197 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160422/8307beb3/attachment-0001.bin>
More information about the llvm-commits
mailing list