Messages in this thread | | | Date | Tue, 10 Dec 2013 11:15:57 -0800 | Subject | Re: RFC: binutils PATCH: Set e_type to ET_EXEC for -pie -Ttext-segment= | From | "H.J. Lu" <> |
| |
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.
| |