This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFC: binutils PATCH: Set e_type to ET_EXEC for -pie -Ttext-segment=


On Tue, Dec 10, 2013 at 11:08 AM, H. Peter Anvin <hpa@zytor.com> wrote:
> On 12/10/2013 04:20 AM, H.J. Lu wrote:
>> On Mon, Dec 9, 2013 at 8:57 PM, H. Peter Anvin <hpa@zytor.com> wrote:
>>> Where do the _32 and _32S relocations come from?  Are we mixing multiple things inside -pie?
>>
>> They come from crt1.o and crtbegin.o.  -pie uses Scrt1.o and crtbeginS.o.
>>
>
> OK, so this is fundamentally an issue with the gcc wrapper... there
> isn't a way to get the relocatable crt files without telling the linker
> to link PIE (except perhaps using some -Wl option, maybe "-Wl,-no-pie"?)
>
> Either way, if the *only* goal is to get the file above a certain point,
> like 4 GiB, then there is no reason not to randomize upward.
>

I agree that kernel should load ET_DYN binary anywhere.  I will
change linker to set type to ET_EXEC if p_vaddr != 0.

-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]