[PATCH v5 00/23] Handle ld.so with LOAD segment gaps in _dl_find_object (bug 31943)
Florian Weimer
fweimer@redhat.com
Fri May 16 15:31:18 GMT 2025
This revision fixes the copyright years and addresses the issues that
Richard Henderson and Mark Harris raised.
Thanks,
Florian
Florian Weimer (23):
elf: Add tests to verify that l_contiguous reflects reality
Prepare for the addition of the <sys/pagesize.h> header
aarch64: Add <bits/pagesize.h>
alpha: Add <bits/pagesize.h>
arc: Add <bits/pagesize.h>
arm: Add <bits/pagesize.h>
csky: Add <bits/pagesize.h>
hppa: Add <bits/pagesize.h>
loongarch: Add <bits/pagesize.h>
m68k: Add <bits/pagesize.h>
microblaze: Add <bits/pagesize.h>
mips: Add <bits/pagesize.h>
or1k: Add <bits/pagesize.h>
powerpc: Add <bits/pagesize.h>
riscv: Add <bits/pagesize.h>
s390: Add <bits/pagesize.h>
sh: Add <bits/pagesize.h>
sparc: Add <bits/pagesize.h>
x86: Add <bits/pagesize.h>
misc: Add tst-getpagesize
elf: Extract rtld_setup_phdr function from dl_main
elf: tst-program-headers test to check for load segment gaps
elf: Handle ld.so with LOAD segment gaps in _dl_find_object (bug
31943)
bits/pagesize.h | 10 ++
elf/Makefile | 31 +++++
elf/dl-find_object.c | 77 +++++++----
elf/rtld.c | 85 ++++++++----
elf/tst-link-map-contiguous-ldso.c | 44 ++++++
elf/tst-link-map-contiguous-libc.c | 57 ++++++++
elf/tst-link-map-contiguous-main.c | 45 ++++++
elf/tst-program-headers.py | 137 +++++++++++++++++++
include/sys/pagesize.h | 1 +
misc/Makefile | 1 +
misc/sys/pagesize.h | 32 +++++
misc/tst-getpagesize.c | 66 +++++++++
sysdeps/aarch64/bits/pagesize.h | 2 +
sysdeps/alpha/bits/pagesize.h | 6 +
sysdeps/arc/bits/pagesize.h | 2 +
sysdeps/arm/bits/pagesize.h | 2 +
sysdeps/csky/bits/pagesize.h | 2 +
sysdeps/hppa/bits/pagesize.h | 2 +
sysdeps/loongarch/bits/pagesize.h | 2 +
sysdeps/m68k/bits/pagesize.h | 2 +
sysdeps/m68k/coldfire/bits/pagesize.h | 2 +
sysdeps/microblaze/bits/pagesize.h | 2 +
sysdeps/or1k/bits/pagesize.h | 2 +
sysdeps/powerpc/bits/pagesize.h | 2 +
sysdeps/riscv/bits/pagesize.h | 2 +
sysdeps/s390/bits/pagesize.h | 2 +
sysdeps/sh/bits/pagesize.h | 2 +
sysdeps/sparc/sparc32/bits/pagesize.h | 2 +
sysdeps/sparc/sparc64/bits/pagesize.h | 4 +
sysdeps/unix/sysv/linux/arc/Makefile | 5 +
sysdeps/unix/sysv/linux/mips/bits/pagesize.h | 2 +
sysdeps/x86/bits/pagesize.h | 2 +
32 files changed, 580 insertions(+), 55 deletions(-)
create mode 100644 bits/pagesize.h
create mode 100644 elf/tst-link-map-contiguous-ldso.c
create mode 100644 elf/tst-link-map-contiguous-libc.c
create mode 100644 elf/tst-link-map-contiguous-main.c
create mode 100644 elf/tst-program-headers.py
create mode 100644 include/sys/pagesize.h
create mode 100644 misc/sys/pagesize.h
create mode 100644 misc/tst-getpagesize.c
create mode 100644 sysdeps/aarch64/bits/pagesize.h
create mode 100644 sysdeps/alpha/bits/pagesize.h
create mode 100644 sysdeps/arc/bits/pagesize.h
create mode 100644 sysdeps/arm/bits/pagesize.h
create mode 100644 sysdeps/csky/bits/pagesize.h
create mode 100644 sysdeps/hppa/bits/pagesize.h
create mode 100644 sysdeps/loongarch/bits/pagesize.h
create mode 100644 sysdeps/m68k/bits/pagesize.h
create mode 100644 sysdeps/m68k/coldfire/bits/pagesize.h
create mode 100644 sysdeps/microblaze/bits/pagesize.h
create mode 100644 sysdeps/or1k/bits/pagesize.h
create mode 100644 sysdeps/powerpc/bits/pagesize.h
create mode 100644 sysdeps/riscv/bits/pagesize.h
create mode 100644 sysdeps/s390/bits/pagesize.h
create mode 100644 sysdeps/sh/bits/pagesize.h
create mode 100644 sysdeps/sparc/sparc32/bits/pagesize.h
create mode 100644 sysdeps/sparc/sparc64/bits/pagesize.h
create mode 100644 sysdeps/unix/sysv/linux/mips/bits/pagesize.h
create mode 100644 sysdeps/x86/bits/pagesize.h
base-commit: 6c9bb270d6a624f82a38443545e3d99f5b1e07e1
--
2.49.0
More information about the Libc-alpha
mailing list