about summary refs log tree commit diff
path: root/sysdeps/arm
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2021-10-28 07:55:36 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2021-11-01 16:21:53 -0300
commitd6dea8c847a7fd053e94126dfbc920b9db0e0f97 (patch)
tree72880a324f73f3c9f1dec9723ba28f6fb88f32ab /sysdeps/arm
parent14dbbf46a007ae5df36646b51ad0c9e5f5259f30 (diff)
downloadglibc-d6dea8c847a7fd053e94126dfbc920b9db0e0f97.tar.gz
glibc-d6dea8c847a7fd053e94126dfbc920b9db0e0f97.tar.xz
glibc-d6dea8c847a7fd053e94126dfbc920b9db0e0f97.zip
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>
Diffstat (limited to 'sysdeps/arm')
-rw-r--r--sysdeps/arm/dl-machine.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h
index c758bba169..4ecdde4355 100644
--- a/sysdeps/arm/dl-machine.h
+++ b/sysdeps/arm/dl-machine.h
@@ -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\