aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorFangrui Song <maskray@google.com>2020-06-01 11:27:53 -0700
committerFangrui Song <maskray@google.com>2020-06-01 11:30:03 -0700
commit751f18e7d46dbb53f62c4c567e331b9bc87febf6 (patch)
treed9960e77b5aeaa0768cb6c0c611f15a03e64c1a2 /clang/lib/Frontend/CompilerInvocation.cpp
parent26ebe936f3ba63a2365f660509026e11fa0d695a (diff)
downloadllvm-751f18e7d46dbb53f62c4c567e331b9bc87febf6.zip
llvm-751f18e7d46dbb53f62c4c567e331b9bc87febf6.tar.gz
llvm-751f18e7d46dbb53f62c4c567e331b9bc87febf6.tar.bz2
[ELF] Refine --export-dynamic-symbol semantics to be compatible GNU ld 2.35
GNU ld from binutils 2.35 onwards will likely support --export-dynamic-symbol but with different semantics. https://sourceware.org/pipermail/binutils/2020-May/111302.html Differences: 1. -export-dynamic-symbol is not supported 2. --export-dynamic-symbol takes a glob argument 3. --export-dynamic-symbol can suppress binding the references to the definition within the shared object if (-Bsymbolic or -Bsymbolic-functions) 4. --export-dynamic-symbol does not imply -u I don't think the first three points can affect any user. For the fourth point, Not implying -u can lead to some archive members unfetched. Add -u foo to restore the previous behavior. Exact semantics: * -no-pie or -pie: matched non-local defined symbols will be added to the dynamic symbol table. * -shared: matched non-local STV_DEFAULT symbols will not be bound to definitions within the shared object even if they would otherwise be due to -Bsymbolic, -Bsymbolic-functions, or --dynamic-list. Reviewed By: psmith Differential Revision: https://reviews.llvm.org/D80487
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions