[PATCH v3] elf: Set p_align to the minimum page size if possible

H.J. Lu hjl.tools@gmail.com
Wed Dec 29 19:41:31 GMT 2021


On Tue, Dec 28, 2021 at 4:43 PM Alan Modra <amodra@gmail.com> wrote:
>
> On Fri, Dec 24, 2021 at 07:54:18PM -0800, H.J. Lu via Binutils wrote:
> > Changes in v3:
> >
> > 1. To enable this linker optimization, the backend must define ELF_P_ALIGN
> > to ELF_MINPAGESIZE.
>
> All this means is that you're only breaking x86 binaries for those
> with older glibc who might be running with page size larger than 4k.

Correct.

> If this isn't so, what am I missing?
>
> Also, please check for fallout in future.
>
> alpha-linux  +FAIL: ld-elf/pr26936
> alpha-linux  +FAIL: ld-elf/seg
> alpha-linux  +FAIL: rgn-at5
> alpha-netbsd  +FAIL: ld-elf/pr26936
> alpha-unknown-freebsd4.7  +FAIL: ld-elf/pr26936
> arc-elf  +FAIL: ld-elf/pr26936
> arc-linux-uclibc  +FAIL: ld-elf/pr26936
> arc-linux-uclibc  +FAIL: ld-elf/seg
> arc-linux-uclibc  +FAIL: rgn-at5
> arm-nacl  +FAIL: ld-elf/pr26936
> avr-elf  +FAIL: ld-scripts/pr23571
> cr16-elf  +FAIL: ld-scripts/pr23571
> cris-linux  +FAIL: ld-elf/pr26936
> cris-linux  +FAIL: ld-elf/seg
> cris-linux  +FAIL: rgn-at5
> crisv32-linux  +FAIL: ld-elf/pr26936
> crisv32-linux  +FAIL: ld-elf/seg
> crisv32-linux  +FAIL: rgn-at5
> crx-elf  +FAIL: ld-scripts/pr23571
> frv-linux  +FAIL: ld-elf/pr26936
> frv-linux  +FAIL: ld-elf/seg
> frv-linux  +FAIL: rgn-at5
> h8300-elf  +FAIL: ld-scripts/pr23571
> h8300-linux  +FAIL: ld-scripts/pr23571
> ia64-elf  +FAIL: ld-elf/pr26936
> ia64-freebsd5  +FAIL: ld-elf/pr26936
> ia64-linux  +FAIL: ld-elf/pr26936
> ia64-linux  +FAIL: ld-elf/seg
> ia64-linux  +FAIL: rgn-at5
> ia64-netbsd  +FAIL: ld-elf/pr26936
> ip2k-elf  +FAIL: ld-scripts/pr23571
> lm32-linux  +FAIL: ld-elf/pr26936
> lm32-linux  +FAIL: ld-elf/seg
> lm32-linux  +FAIL: rgn-at5
> loongarch64-linux  +FAIL: ld-elf/seg
> loongarch64-linux  +FAIL: rgn-at5
> m32c-elf  +FAIL: ld-scripts/pr23571
> m32r-elf  +FAIL: ld-scripts/pr23571
> m68k-elf  +FAIL: ld-elf/pr26936
> m68k-linux  +FAIL: ld-elf/pr26936
> m68k-linux  +FAIL: ld-elf/seg
> m68k-linux  +FAIL: rgn-at5
> moxie-elf  +FAIL: ld-scripts/pr23571
> nds32le-linux  +FAIL: ld-elf/pr26936
> nds32le-linux  +FAIL: ld-elf/seg
> nds32le-linux  +FAIL: rgn-at5
> or1k-linux  +FAIL: ld-elf/pr26936
> or1k-linux  +FAIL: ld-elf/seg
> or1k-linux  +FAIL: rgn-at5
> pru-elf  +FAIL: pru_irq_map special section for host
> pru-elf  +FAIL: ld-scripts/pr23571
> score-elf  +FAIL: ld-elf/pr26936
> shle-unknown-netbsdelf  +FAIL: ld-elf/pr26936
> sh-nto  +FAIL: ld-scripts/pr23571
> sh-rtems  +FAIL: ld-scripts/pr23571
> sparc64-linux  +FAIL: ld-elf/pr26936
> sparc64-linux  +FAIL: ld-elf/seg
> sparc64-linux  +FAIL: rgn-at5
> sparc-elf  +FAIL: ld-elf/pr26936
> sparc-linux  +FAIL: ld-elf/pr26936
> sparc-linux  +FAIL: ld-elf/seg
> sparc-linux  +FAIL: rgn-at5
> sparc-sun-solaris2  +FAIL: ld-elf/pr26936
> spu-elf  +FAIL: ld-scripts/pr23571
> tilegx-linux  +FAIL: ld-elf/pr26936
> tilegx-linux  +FAIL: ld-elf/seg
> tilegx-linux  +FAIL: rgn-at5
> tilepro-linux  +FAIL: ld-elf/pr26936
> tilepro-linux  +FAIL: ld-elf/seg
> tilepro-linux  +FAIL: rgn-at5
> visium-elf  +FAIL: ld-scripts/pr23571
> xstormy16-elf  +FAIL: ld-scripts/pr23571

I adjusted these tests in the v3 patch:

https://sourceware.org/pipermail/binutils/2021-December/119047.html

-- 
H.J.


More information about the Binutils mailing list