elf: Fix some test dependencies (RHEL-119438)

Resolves: RHEL-119438
This commit is contained in:
Arjun Shankar 2025-12-19 16:14:30 +01:00 committed by Arjun Shankar
parent b37741885c
commit 41de17ba48
2 changed files with 55 additions and 0 deletions

28
glibc-RHEL-119438-1.patch Normal file
View File

@ -0,0 +1,28 @@
commit 39183f47d8bc9eda711c9797b18d69d7a02af91c
Author: Florian Weimer <fweimer@redhat.com>
Date: Wed Jan 8 16:55:31 2025 +0100
elf: Minimize library dependencies of tst-nolink-libc.c
On 32-bit Arm, -fasynchronous-unwind-tables creates a reference
to the symbol __aeabi_unwind_cpp_pr0. Compile the tests without
this flag even if it is passed as part of CC, to avoid linker
failures.
diff --git a/elf/Makefile b/elf/Makefile
index 576d28fdbe60e19b..13ef1205667abcd4 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -3275,8 +3275,10 @@ $(objpfx)tst-hash-collision3: $(objpfx)tst-hash-collision3-mod.so
# a port adds them to the tests variables. Neither test variant is
# linked against libc.so, but tst-nolink-libc-1 is linked against
# ld.so. The test is always run directly, not under the dynamic
-# linker.
-CFLAGS-tst-nolink-libc.c += $(no-stack-protector)
+# linker. It is necessary to minimize run-time dependencies, by
+# disabling stack protection and unwinding.
+CFLAGS-tst-nolink-libc.c += $(no-stack-protector) \
+ -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
$(objpfx)tst-nolink-libc-1: $(objpfx)tst-nolink-libc.o $(objpfx)ld.so
$(LINK.o) -nostdlib -nostartfiles -o $@ $< \
-Wl,--dynamic-linker=$(objpfx)ld.so,--no-as-needed $(objpfx)ld.so

27
glibc-RHEL-119438-2.patch Normal file
View File

@ -0,0 +1,27 @@
commit d30f41d2c9031b0540641af692e56002eab5599f
Author: Florian Weimer <fweimer@redhat.com>
Date: Thu Jun 26 11:38:00 2025 +0200
elf: Add missing DSO dependencies for tst-rtld-no-malloc-{audit,preload}
Fixes commit c1560f3f75c0e892b5522c16f91b4e303f677094
("elf: Switch to main malloc after final ld.so self-relocation").
Reviewed-by: Frédéric Bérat <fberat@redhat.com>
diff --git a/elf/Makefile b/elf/Makefile
index 13ef1205667abcd4..cf54ea084489b9cf 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -3245,9 +3245,11 @@ $(objpfx)tst-dlopen-auditdup.out: \
# Reuse an audit module which provides ample debug logging.
tst-rtld-no-malloc-audit-ENV = LD_AUDIT=$(objpfx)tst-auditmod1.so
+$(objpfx)tst-rtld-no-malloc-audit.out: $(objpfx)tst-auditmod1.so
# Any shared object should do.
tst-rtld-no-malloc-preload-ENV = LD_PRELOAD=$(objpfx)tst-auditmod1.so
+$(objpfx)tst-rtld-no-malloc-preload.out: $(objpfx)tst-auditmod1.so
LDFLAGS-tst-hash-collision1-mod.so = -Wl,--hash-style=both
$(objpfx)tst-hash-collision1: $(objpfx)tst-hash-collision1-mod.so