aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorFangrui Song <maskray@google.com>2020-01-17 11:50:00 -0800
committerFangrui Song <maskray@google.com>2020-01-17 13:06:42 -0800
commit6ab89c3c5df8b679e6ee240a13356309c048fc71 (patch)
tree1cee5ab0af0236f842c8ad588028e5b8c1cbdba7 /clang/lib/Frontend/CompilerInvocation.cpp
parent7b30370e5bcf569fcdc15204d4c592163fd78cb3 (diff)
downloadllvm-6ab89c3c5df8b679e6ee240a13356309c048fc71.zip
llvm-6ab89c3c5df8b679e6ee240a13356309c048fc71.tar.gz
llvm-6ab89c3c5df8b679e6ee240a13356309c048fc71.tar.bz2
[ELF] Allow R_PLT_PC (R_PC) to a hidden undefined weak symbol
This essentially reverts b841e119d77ed0502e3a2e710f26a899bef28b3c. Such code construct can be used in the following way: // glibc/stdlib/exit.c // clang -fuse-ld=lld => succeeded // clang -fuse-ld=lld -fpie -pie => relocation R_PLT_PC cannot refer to absolute symbol __attribute__((weak, visibility("hidden"))) extern void __call_tls_dtors(); void __run_exit_handlers() { if (__call_tls_dtors) __call_tls_dtors(); } Since we allow R_PLT_PC in -no-pie mode, it makes sense to allow it in -pie mode as well. Reviewed By: pcc Differential Revision: https://reviews.llvm.org/D72943
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions