[08/17] m68k: Remove _dl_skip_args usage

Message ID 20220526165003.705355-9-adhemerval.zanella@linaro.org
State Committed
Headers
Series Remove _dl_skip_args |

Checks

Context Check Description
dj/TryBot-apply_patch success Patch applied to master at the time it was sent

Commit Message

Adhemerval Zanella Netto May 26, 2022, 4:49 p.m. UTC
  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.

Checked with qemu-user that arguments are correctly passed on both
constructors and main program.
---
 sysdeps/m68k/dl-machine.h | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)
  

Comments

Andreas Schwab May 26, 2022, 5:18 p.m. UTC | #1
On Mai 26 2022, Adhemerval Zanella via Libc-alpha wrote:

> +	lea (%sp), %sp\n\

That's a no-op.
  
Adhemerval Zanella Netto May 26, 2022, 5:23 p.m. UTC | #2
On 26/05/2022 14:18, Andreas Schwab wrote:
> On Mai 26 2022, Adhemerval Zanella via Libc-alpha wrote:
> 
>> +	lea (%sp), %sp\n\
> 
> That's a no-op.
> 

Thansk, I will remove it.
  

Patch

diff --git a/sysdeps/m68k/dl-machine.h b/sysdeps/m68k/dl-machine.h
index bb51b4198c..4204fa3df8 100644
--- a/sysdeps/m68k/dl-machine.h
+++ b/sysdeps/m68k/dl-machine.h
@@ -142,15 +142,10 @@  _start:\n\
 _dl_start_user:\n\
 	| Save the user entry point address in %a4.\n\
 	move.l %d0, %a4\n\
-	| See if we were run as a command with the executable file\n\
-	| name as an extra leading argument.\n\
-	" PCREL_OP ("move.l", "_dl_skip_args", "%d0", "%d0", "%pc") "\n\
 	| Pop the original argument count\n\
 	move.l (%sp)+, %d1\n\
-	| Subtract _dl_skip_args from it.\n\
-	sub.l %d0, %d1\n\
-	| Adjust the stack pointer to skip _dl_skip_args words.\n\
-	lea (%sp, %d0*4), %sp\n\
+	| Adjust the stack pointer to skip the loaders arguments.\n\
+	lea (%sp), %sp\n\
 	| Push back the modified argument count.\n\
 	move.l %d1, -(%sp)\n\
 	# Call _dl_init (struct link_map *main_map, int argc, char **argv, char **env)\n\