https://sourceware.org/bugzilla/show_bug.cgi?id=33260
Fangrui Song <i at maskray dot me> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |i at maskray dot me
--- Comment #9 from Fangrui Song <i at maskray dot me> ---
I believe binding protected symbols locally should be the default behavior,
without requiring an ld -z option.
For clarity, other linkers or ports of GNU ld should avoid introducing -z
[no]indirect-extern-access or the .note.gnu.property complexity.
That said, I'm pleased there's a way to address the previous problematic
behavior for x86-64.
`cc -fPIC -DUSE_PROTECTED -O2 -fvisibility=hidden -mno-direct-extern-access
-shared -o a.so a.c b.c -fuse-ld=lld` doesn't have the extra R_X86_64_64
dynamic relocations.
On the GCC side, we should drop `HAVE_LD_PIE_COPYRELOC` and the x86-64 default
to GOT indirection for external data symbols in -fpie mode.
(https://maskray.me/blog/2021-01-09-copy-relocations-canonical-plt-entries-and-protected)
gold is known to miss some protected preemptibility
https://sourceware.org/bugzilla/show_bug.cgi?id=19823
--
You are receiving this mail because:
You are on the CC list for the bug.