]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
arm: Use internal symbol for _dl_argv on _dl_start_user
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Thu, 28 Oct 2021 10:55:36 +0000 (07:55 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Mon, 1 Nov 2021 19:21:53 +0000 (16:21 -0300)
The lld does not support R_ARM_GOTOFF32 to preemptible symbol (_dl_argv
has default visibility).  Use the internal alias instead (one option
would to use HIDDEN_JUMPTARGET, bu the macro is not defined for
!__ASSEMBLER__ and I made this patch arm-specific to avoid require to
check extensivelly on other architecture it this might break something).

Checked on arm-linux-gnueabihf.

Reviewed-by: Fangrui Song <maskray@google.com>
sysdeps/arm/dl-machine.h

index c758bba1695579c3b1c052ca65691e353266aa9e..4ecdde4355276d4c238f8fe80abd484e29e1884c 100644 (file)
@@ -202,7 +202,7 @@ _dl_start_user:\n\
 .L_FINI_PROC:\n\
        .word   _dl_fini(GOTOFF)\n\
 .L_ARGV:\n\
-       .word   _dl_argv(GOTOFF)\n\
+       .word   __GI__dl_argv(GOTOFF)\n\
 .L_LOADED:\n\
        .word   _rtld_local(GOTOFF)\n\
 .previous\n\