arm: Use internal symbol for _dl_argv on _dl_start_user

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>
This commit is contained in:
Adhemerval Zanella 2021-10-28 07:55:36 -03:00
parent 14dbbf46a0
commit d6dea8c847

View 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\