]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
m68k: Remove _dl_skip_args usage
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Thu, 26 May 2022 16:10:38 +0000 (13:10 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Mon, 30 May 2022 19:33:11 +0000 (16:33 -0300)
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.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
sysdeps/m68k/dl-machine.h

index bb51b4198c4a81ec143ad7b43806486263ff724a..64b9fe0b7118d965611ac47da1695cd8fec6f5e3 100644 (file)
@@ -142,15 +142,8 @@ _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\
        | 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\