[PATCH v7] elf: Handle static PIE with non-zero load address [BZ #31799]

H.J. Lu hjl.tools@gmail.com
Mon Dec 2 01:15:42 GMT 2024


On Sat, Nov 30, 2024 at 12:18 PM H.J. Lu <hjl.tools@gmail.com> wrote:
>
> On Sat, Nov 30, 2024, 12:52 AM Florian Weimer <fweimer@redhat.com> wrote:
>>
>> * H. J. Lu:
>>
>> > +ifneq (,$(load-address-ldflag))
>> > +tests += \
>> > +  tst-pie-address \
>> > +  # tests
>> > +tests-pie += \
>> > +  tst-pie-address \
>> > +  # tests-pie
>> > +LDFLAGS-tst-pie-address += $(load-address-ldflag)=$(pde-load-address)
>> > +ifeq (yes,$(enable-static-pie))
>> > +tests += \
>> > +  tst-pie-address-static \
>> > +  # tests
>> > +tests-static += \
>> > +  tst-pie-address-static \
>> > +  # tests-static
>> > +LDFLAGS-tst-pie-address-static += \
>> > +  $(load-address-ldflag)=$(pde-load-address)
>> > +endif
>> > +endif
>>
>> These tests fail on aarch64 and s390x for us:
>>
>> =====FAIL: elf/tst-pie-address.out=====
>> =====FAIL: elf/tst-pie-address.test-result=====
>> FAIL: elf/tst-pie-address
>> original exit status 139
>> =====FAIL: elf/tst-pie-address-static.out=====
>> =====FAIL: elf/tst-pie-address-static.test-result=====
>> FAIL: elf/tst-pie-address-static
>> original exit status 132
>
>
> Do they fail without -Ttext-segment=? My change doesn't
> touch dynamic PIE.  If it fails, it may be due to glibc or ld bugs.
>
>>
>> The configure checks report this
>>
>> checking whether -fPIE is default... no
>> checking PDE load address... 0x0000000001000000

Somehow aarch64 got

pde-load-address =

in config.make.  I will take a look.

>> checking for linker that supports -Ttext-segment=0x0000000001000000... yes
>> checking if we can build programs as PIE... yes
>> checking if we can build static PIE programs... yes
>>
>> checking whether -fPIE is default... no
>> checking PDE load address... 0x0000000000400000
>> checking for linker that supports -Ttext-segment=0x0000000000400000... yes
>> checking if we can build programs as PIE... yes
>> checking if we can build static PIE programs... yes
>>
>> Thanks,
>> Florian
>>
>>


-- 
H.J.


More information about the Libc-alpha mailing list