bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gold/22791] Don't error when a -pie executable uses a shared functi


From: ccoutant at gmail dot com
Subject: [Bug gold/22791] Don't error when a -pie executable uses a shared function without PIC/PIE relocation
Date: Tue, 06 Feb 2018 18:08:27 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=22791

--- Comment #13 from Cary Coutant <ccoutant at gmail dot com> ---
(In reply to H.J. Lu from comment #12)
> Since there is no need to prepare for PLT branch on x86-64, we can treat
> PC32 relocation with branch as PLT32 relocation.  I posted a patch for ld:
> 
> https://sourceware.org/ml/binutils/2018-02/msg00065.html

What do you mean by "prepare for PLT branch"?

It looks like your patch examines the opcode(s) preceding the relocated value
to determine whether it's a branch or not. How is this safe? It seems fragile
to me. In addition, it requires the linker to read section contents while
scanning relocations, which is not normally necessary, and will slow the linker
down significantly -- we normally don't need to read most sections' contents
until it's time to apply relocations.

If your argument is that you can always treat PC32 relocations on branches as
if they were PLT32 relocations, why not just have the compiler emit PLT32
relocations in the first place?

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]