This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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: [PATCH][RFC] aarch64: fix start code for static pie


On Mon, Dec 18, 2017 at 2:22 AM, Szabolcs Nagy <szabolcs.nagy@arm.com> wrote:
> On 24/11/17 12:39, Szabolcs Nagy wrote:
>> 2017-11-24  Szabolcs Nagy  <szabolcs.nagy@arm.com>
>>
>>       * sysdeps/aarch64/start.S (_start): Handle PIC && !SHARED case.
>>
>
> committed with updated commit message:
>
> There are three flavors of the crt startup code:
>
> 1) crt1.o used for non-pie,
> 2) Scrt1.o used for dynamic linked pie (dynamic linker relocates),
> 3) rcrt1.o used for static linked pie (self relocation is needed)
>
> In the --enable-static-pie case crt1.o is built with -DPIC and in case
> of static linking it interposes _dl_relocate_static_pie in libc to
> avoid self relocation.
>
> Scrt1.o is built with -DPIC -DSHARED and it relies on GOT entries that
> the static linker cannot relax and thus need relocation before the
> start code is executed, so rcrt1.o needs separate implementation.
>
> This implementation does not work for .text > 4G position independent
> executables, which is fine since the toolchain does not support
> -mcmodel=large with -fPIE.
>
> Tests pass with ld/22269 and ld/22263 binutils bugs fixed.
>
>         * sysdeps/aarch64/start.S (_start): Handle PIC && !SHARED case.
>

Can you update NEWS to add aarch64 to static PIE?

Thanks.

-- 
H.J.


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