SuccessChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [ELF] Allow R_PLT_PC (R_PC) to a hidden undefined weak symbol (details)
Commit 6ab89c3c5df8b679e6ee240a13356309c048fc71 by maskray
[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
The file was modifiedlld/ELF/Relocations.cpp
The file was modifiedlld/test/ELF/weak-undef-hidden.s