[glibc/release/2.35/master] elf: Also compile dl-misc.os with $(rtld-early-cflags)

H.J. Lu hjl@sourceware.org
Thu Apr 25 15:23:27 GMT 2024


https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=55771aba9d47f834b94ea5e4600a81d92eea7bf8

commit 55771aba9d47f834b94ea5e4600a81d92eea7bf8
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Apr 25 08:06:52 2024 -0700

    elf: Also compile dl-misc.os with $(rtld-early-cflags)
    
    Also compile dl-misc.os with $(rtld-early-cflags) to avoid
    
    Program received signal SIGILL, Illegal instruction.
    0x00007ffff7fd36ea in _dl_strtoul (nptr=nptr@entry=0x7fffffffe2c9 "2",
        endptr=endptr@entry=0x7fffffffd728) at dl-misc.c:156
    156       bool positive = true;
    (gdb) bt
     #0  0x00007ffff7fd36ea in _dl_strtoul (nptr=nptr@entry=0x7fffffffe2c9 "2",
        endptr=endptr@entry=0x7fffffffd728) at dl-misc.c:156
     #1  0x00007ffff7fdb1a9 in tunable_initialize (
        cur=cur@entry=0x7ffff7ffbc00 <tunable_list+2176>,
        strval=strval@entry=0x7fffffffe2c9 "2", len=len@entry=1)
        at dl-tunables.c:131
     #2  0x00007ffff7fdb3a2 in parse_tunables (valstring=<optimized out>)
        at dl-tunables.c:258
     #3  0x00007ffff7fdb5d9 in __GI___tunables_init (envp=0x7fffffffdd58)
        at dl-tunables.c:288
     #4  0x00007ffff7fe44c3 in _dl_sysdep_start (
        start_argptr=start_argptr@entry=0x7fffffffdcb0,
        dl_main=dl_main@entry=0x7ffff7fe5f80 <dl_main>)
        at ../sysdeps/unix/sysv/linux/dl-sysdep.c:110
     #5  0x00007ffff7fe5cae in _dl_start_final (arg=0x7fffffffdcb0) at rtld.c:494
     #6  _dl_start (arg=0x7fffffffdcb0) at rtld.c:581
     #7  0x00007ffff7fe4b38 in _start ()
    (gdb)
    
    when setting GLIBC_TUNABLES in glibc compiled with APX.
    Reviewed-by: Florian Weimer <fweimer@redhat.com>
    
    (cherry picked from commit 049b7684c912dd32b67b1b15b0f43bf07d5f512e)

Diff:
---
 elf/Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/elf/Makefile b/elf/Makefile
index 8e56d55597..d079ab55ab 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -178,6 +178,7 @@ CFLAGS-.op += $(call elide-stack-protector,.op,$(elide-routines.os))
 CFLAGS-.os += $(call elide-stack-protector,.os,$(all-rtld-routines))
 
 # Add the requested compiler flags to the early startup code.
+CFLAGS-dl-misc.os += $(rtld-early-cflags)
 CFLAGS-dl-printf.os += $(rtld-early-cflags)
 CFLAGS-dl-setup_hash.os += $(rtld-early-cflags)
 CFLAGS-dl-sysdep.os += $(rtld-early-cflags)


More information about the Glibc-cvs mailing list