https://sourceware.org/bugzilla/show_bug.cgi?id=23527
Sergei Trofimovich <slyfox at inbox dot ru> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #4 from Sergei Trofimovich <slyfox at inbox dot ru> --- Thank you! Looks like newest clang already adopted the change. Closing as INVALID. I'll try to find exact llvm commit that fixed it. $ cat a.c void a(void) __attribute__((visibility("protected"))); void a(void){} $ cat b.c void a(void) __attribute__((visibility("protected"))); void b(void) __attribute__((visibility("protected"))); void b(void) { a(); } $ cat a.sh #!/bin/bash for cc in gcc clang-8 clang-6.0; do echo "cc=$cc" $cc -O2 -fPIC -c a.c -o a.$cc.o $cc -O2 -fPIC -c b.c -o b.$cc.o #objdump -d -r a.o b.o ld -shared \ -fPIC \ -o lib.$cc.so \ a.$cc.o b.$cc.o "$@" done $ LANG=C ./a.sh cc=gcc cc=clang-8 cc=clang-6.0 ld: b.clang-6.0.o: relocation R_X86_64_PC32 against protected symbol `a' can not be used when making a shared object ld: final link failed: bad value -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils