[PATCH] D102090: [CMake][ELF] Link libLLVM.so and libclang-cpp.so with -Bsymbolic-functions

Evgeniy via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Dec 6 01:10:33 PST 2021


ebrevnov added a comment.

In D102090#3172538 <https://reviews.llvm.org/D102090#3172538>, @MaskRay wrote:

> To add on rnk's comment (deduplication of vague linkage data which may be included in multiple shared objects), another big reason is -Bsymbolic data does not work with copy relocations. -fno-pic programs generally cannot avoid copy relocations (except mips; mips did this thing correctly).

Do you (by "doesn't work") mean if executable refers to a global defined in LLVM.*so then each of them will use their own copy?

> GCC 5 x86-64 has a regression <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98112> that -fpie code can have copy relocations, too.

Looks like the bug itself is still opened. I guess you meant to refer to the the following change:  After "x86-64: Optimize access to globals in PIE with copy reloc", GCC x86-64 asks the assembler to produce an R_X86_64_PC32 for an external data access." Looks like intended change ... why do you call it a regression?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D102090/new/

https://reviews.llvm.org/D102090



More information about the cfe-commits mailing list