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

H.J. Lu hjl.tools@gmail.com
Mon Dec 2 06:36:41 GMT 2024


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

-- 
H.J.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-elf-Check-PDE-load-address-with-non-empty-text-secti.patch
Type: text/x-patch
Size: 1001 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/libc-alpha/attachments/20241202/a4ce2693/attachment-0001.bin>


More information about the Libc-alpha mailing list