diff options
author | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2017-06-21 13:47:07 +0100 |
---|---|---|
committer | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2017-06-21 14:54:11 +0100 |
commit | e9177fba13549a8e2a6232f46080e5c6d3e467b1 (patch) | |
tree | 1033b0bbd28193f675a116852d51c4d89b2125fe | |
parent | 76b8266f990a2912f42d1b7050840e8c7f14f2c2 (diff) | |
download | glibc-e9177fba13549a8e2a6232f46080e5c6d3e467b1.zip glibc-e9177fba13549a8e2a6232f46080e5c6d3e467b1.tar.gz glibc-e9177fba13549a8e2a6232f46080e5c6d3e467b1.tar.bz2 |
[AArch64] Use hidden __GI__dl_argv in rtld startup code
We rely on the symbol being locally defined so using extern symbol
is not correct and the linker may complain about the relocations.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | sysdeps/aarch64/dl-machine.h | 4 |
2 files changed, 7 insertions, 2 deletions
@@ -1,3 +1,8 @@ +2017-06-21 Szabolcs Nagy <szabolcs.nagy@arm.com> + + * sysdeps/aarch64/dl-machine.h (RTLD_START_1): Change _dl_argv to the + hidden __GI__dl_argv symbol. + 2017-06-21 Florian Weimer <fweimer@redhat.com> * sysdeps/posix/getaddrinfo.c (gaih_inet): Call __inet_pton_length diff --git a/sysdeps/aarch64/dl-machine.h b/sysdeps/aarch64/dl-machine.h index 02fab04..6047203 100644 --- a/sysdeps/aarch64/dl-machine.h +++ b/sysdeps/aarch64/dl-machine.h @@ -194,8 +194,8 @@ _dl_start_user: \n\ cmp " PTR "0, #0 \n\ bne 1b \n\ // Update _dl_argv \n\ - adrp x3, _dl_argv \n\ - str " PTR "2, [x3, #:lo12:_dl_argv] \n\ + adrp x3, __GI__dl_argv \n\ + str " PTR "2, [x3, #:lo12:__GI__dl_argv] \n\ .L_done_stack_adjust: \n\ // compute envp \n\ add " PTR "3, " PTR "2, " PTR "1, lsl #" PTR_SIZE_LOG " \n\ |