[PATCH] elf: Set text-segment address to the maximum page size
Nick Clifton
nickc@redhat.com
Thu Jun 25 14:42:25 GMT 2026
Hi H.J.
> PR ld/34184
> * ldexp.c (fold_binary): Set text-segment address to the maximum
> page size for ELF PDE output with -z max-page-size=SIZE.
> * testsuite/ld-elf/elf.exp: Add ld/34184 test.
> * testsuite/ld-elf/pr34184.c: New file.
I like this patch, but I do have a couple of comments:
> + /* When generating Position Dependent Executable for ELF with the
> + maximum page size set on command-line, if text-segment address
> + is lower than the maximum page size, set text-segment address
> + to the maximum page size. */
> + if ((bfd_get_flavour (link_info.output_bfd)
> + == bfd_target_elf_flavour)
> + && bfd_link_pde (&link_info)
> + && link_info.maxpagesize_is_set
> + && link_info.maxpagesize > value
> + && strcmp (segment_name, "text-segment") == 0)
> + value = link_info.maxpagesize;
I think that it would be helpful to inform the user that the text
segment address is being changed - *if* they have tried to set it
using --image-base or --Ttext-segment. Otherwise they may wonder
why their command line option is being ignored.
> + [list \
> + "Run pr34184" \
> + "-Wl,-z,max-page-size=0x800000" \
> + "" \
> + {pr34184.c} \
> + "pr34184" \
> + "pass.out" \
> + ] \
As far as I can tell, this test does not actually check that
the text segment's address is now a multiple of the max page
size...
Cheers
Nick
More information about the Binutils
mailing list