summary refs log tree commit diff
path: root/sysdeps/arc
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-05-26 13:04:40 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-05-30 16:32:29 -0300
commitf20464e9e42514c11d7cbb630d33b49b35b2f202 (patch)
treee2cc268ccf2cc9685662bbd729e7260f661aee61 /sysdeps/arc
parent49d877a80b29d3002887b084eec6676d9f5fec18 (diff)
downloadglibc-f20464e9e42514c11d7cbb630d33b49b35b2f202.tar.gz
glibc-f20464e9e42514c11d7cbb630d33b49b35b2f202.tar.xz
glibc-f20464e9e42514c11d7cbb630d33b49b35b2f202.zip
arc: 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.  So there is no need to adjust the argc or argv.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'sysdeps/arc')
-rw-r--r--sysdeps/arc/dl-machine.h17
1 files changed, 2 insertions, 15 deletions
diff --git a/sysdeps/arc/dl-machine.h b/sysdeps/arc/dl-machine.h
index 4ac3848557..c6ad232384 100644
--- a/sysdeps/arc/dl-machine.h
+++ b/sysdeps/arc/dl-machine.h
@@ -161,29 +161,16 @@ __start:								\n\
 	bl.d    _dl_start                                       	\n\
 	mov_s   r0, sp  /* pass ptr to aux vector tbl.    */    	\n\
 	mov r13, r0	/* safekeep app elf entry point.  */		\n\
-									\n\
-	/* (2). If ldso ran with executable as arg.       */		\n\
-	/*      skip the extra args calc by dl_start.     */		\n\
 	ld_s    r1, [sp]       /* orig argc.  */			\n\
-	ld      r12, [pcl, _dl_skip_args@pcl]                   	\n\
-	breq	r12, 0, 1f						\n\
 									\n\
-	add2    sp, sp, r12 /* discard argv entries from stack.  */	\n\
-	sub_s   r1, r1, r12 /* adjusted argc on stack.  */      	\n\
-	st_s    r1, [sp]                                        	\n\
-	add	r2, sp, 4						\n\
-	/* intermediate LD for ST emcoding limitations.  */		\n\
-	ld	r3, [pcl, _dl_argv@gotpc]    				\n\
-	st	r2, [r3]						\n\
-1:									\n\
-	/* (3). call preinit stuff.  */					\n\
+	/* (2). call preinit stuff.  */					\n\
 	ld	r0, [pcl, _rtld_local@pcl]				\n\
 	add	r2, sp, 4	; argv					\n\
 	add2	r3, r2, r1						\n\
 	add	r3, r3, 4	; env					\n\
 	bl	_dl_init@plt						\n\
 									\n\
-	/* (4) call app elf entry point.  */				\n\
+	/* (3) call app elf entry point.  */				\n\
 	add     r0, pcl, _dl_fini@pcl					\n\
 	j	[r13]							\n\
 									\n\