bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/31795] ld.bfd makes ELFs of type ET_EXEC for static PIEs when lo


From: hjl.tools at gmail dot com
Subject: [Bug ld/31795] ld.bfd makes ELFs of type ET_EXEC for static PIEs when load address is non-0
Date: Tue, 28 May 2024 15:34:17 +0000

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

--- Comment #47 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to mintsuki from comment #46)
g.
> > 
> > Opt-in to ET_EXEC will be wrong.
> 
> Why will it be wrong? What if someone (me) wants to make a PIE that loads at

It is wrong because -Ttext-segment=0x600000000000 no longer works.

> a minimum at the specified address, but can be relocated above it? Currently
> ld makes this impossible by simply checking the ELF type, forcing my ELF
> loader to additionally check for the presence of the DF_1_PIE flag to decide
> whether an ELF file is relocatable or not...
> 
> ...but Linux doesn't do that, apparently, but instead forces the load
> address to be the one specified, due to the ELF type being ET_EXEC.
> 
> Earlier you said I should check DF_1_PIE to determine relocatability... so

No, that was not what I said.  DF_1_PIE can be used to determine if a binary
is PIE.

> which one is it? If I check for DF_1_PIE then I am not following the same
> behaviour as the Linux ELF loader, which means that I either break from
> Linux's behaviour, or I follow it, but that means that ld will never allow
> me to make an ET_DYN PIE with a non-0 load address.

-- 
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]