[PATCH] elf: Check PDE load address with non-empty text section

Sam James sam@gentoo.org
Sun Dec 22 06:18:58 GMT 2024


"H.J. Lu" <hjl.tools@gmail.com> writes:

> On Mon, Dec 2, 2024 at 9:15 AM H.J. Lu <hjl.tools@gmail.com> wrote:
>>
>> 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.
>>
>
> Does this patch it for you?
>
> Check PDE load address with non-empty text section:
>
> .globl _start
> _start:
> .globl __start
> .byte 0

LGTM, but I didn't check it on arm64. I can if you need.


More information about the Libc-alpha mailing list