aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-05-26 13:06:06 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-05-30 16:32:33 -0300
commit00477963c6a5abd3075044f180d4d0d122a77de0 (patch)
treecf0bf20b4fa349eb610fddcfbe6f46ee4ec74f08
parentf20464e9e42514c11d7cbb630d33b49b35b2f202 (diff)
downloadglibc-00477963c6a5abd3075044f180d4d0d122a77de0.zip
glibc-00477963c6a5abd3075044f180d4d0d122a77de0.tar.gz
glibc-00477963c6a5abd3075044f180d4d0d122a77de0.tar.bz2
csky: Remove _dl_skip_args usage
Since ad43cac44a the generic code already shuffles the argv/envp/auxv on the stack to remove the ld.so own arguments and thus _dl_skip_args is always 0. It makes the fixup_stack branch ununsed. Reviewed-by: Carlos O'Donell <carlos@redhat.com>
-rw-r--r--sysdeps/csky/dl-machine.h19
1 files changed, 1 insertions, 18 deletions
diff --git a/sysdeps/csky/dl-machine.h b/sysdeps/csky/dl-machine.h
index f81448a..48787ce 100644
--- a/sysdeps/csky/dl-machine.h
+++ b/sysdeps/csky/dl-machine.h
@@ -113,11 +113,7 @@ _start:\n\
addu t1, gb\n\
jsr t1\n\
_dl_start_user:\n\
- /* get _dl_skip_args */ \n\
- lrw r11, _dl_skip_args@GOTOFF\n\
- addu r11, gb\n\
- ldw r11, (r11, 0)\n\
- /* store program entry address in r11 */ \n\
+ /* store program entry address in r10 */ \n\
mov r10, a0\n\
/* Get argc */\n\
ldw a1, (sp, 0)\n\
@@ -125,8 +121,6 @@ _dl_start_user:\n\
mov a2, sp\n\
addi a2, 4\n\
cmpnei r11, 0\n\
- bt .L_fixup_stack\n\
-.L_done_fixup:\n\
mov a3, a1\n\
lsli a3, 2\n\
add a3, a2\n\
@@ -141,17 +135,6 @@ _dl_start_user:\n\
lrw a0, _dl_fini@GOTOFF\n\
addu a0, gb\n\
jmp r10\n\
-.L_fixup_stack:\n\
- subu a1, r11\n\
- lsli r11, 2\n\
- addu sp, r11\n\
- stw a1, (sp, 0)\n\
- mov a2, sp\n\
- addi a2, 4\n\
- lrw a3, _dl_argv@GOTOFF\n\
- addu a3, gb\n\
- stw a2, (a3, 0)\n\
- br .L_done_fixup\n\
");
/* ELF_RTYPE_CLASS_PLT iff TYPE describes relocation of a PLT entry or