Message ID | 20201110005323.17583-1-jimw@sifive.com |
---|---|
State | New |
Headers | show |
Series | RISC-V: Add _dl_start_user. | expand |
LGTM. On Mon, Nov 9, 2020 at 4:53 PM Jim Wilson <jimw@sifive.com> wrote: > > This is required for the debugglibc.sh script to work. Tested by > successfully using this patched script, and a riscv64-linux testsuite > run. > > We could perhaps call RTLD_EPILOGUE for ENTRY_POINT before calling > RTLD_PROLOGUE for _dl_start_user, but I don't think it matters. > > OK? > > Jim > --- > sysdeps/riscv/dl-machine.h | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/sysdeps/riscv/dl-machine.h b/sysdeps/riscv/dl-machine.h > index 03db94aeba..511140864e 100644 > --- a/sysdeps/riscv/dl-machine.h > +++ b/sysdeps/riscv/dl-machine.h > @@ -105,6 +105,7 @@ elf_machine_load_address (void) > " _RTLD_PROLOGUE (ENTRY_POINT) "\ > mv a0, sp\n\ > jal _dl_start\n\ > + " _RTLD_PROLOGUE (_dl_start_user) "\ > # Stash user entry point in s0.\n\ > mv s0, a0\n\ > # See if we were run as a command with the executable file\n\ > @@ -131,7 +132,8 @@ elf_machine_load_address (void) > lla a0, _dl_fini\n\ > # Jump to the user entry point.\n\ > jr s0\n\ > - " _RTLD_EPILOGUE (ENTRY_POINT) "\ > + " _RTLD_EPILOGUE (ENTRY_POINT) \ > + _RTLD_EPILOGUE (_dl_start_user) "\ > .previous" \ > ); > > -- > 2.25.0 >
On Mon, Nov 9, 2020 at 5:06 PM Andrew Waterman <andrew@sifive.com> wrote: > LGTM. > I don't have glibc write access, so I would need someone else to commit this for me. Jim
On Tue, 10 Nov 2020 08:44:59 PST (-0800), Jim Wilson wrote: > On Mon, Nov 9, 2020 at 5:06 PM Andrew Waterman <andrew@sifive.com> wrote: > >> LGTM. >> > > I don't have glibc write access, so I would need someone else to commit > this for me. Looks like someone did? I don't see anything on the thread, but I do in git.
diff --git a/sysdeps/riscv/dl-machine.h b/sysdeps/riscv/dl-machine.h index 03db94aeba..511140864e 100644 --- a/sysdeps/riscv/dl-machine.h +++ b/sysdeps/riscv/dl-machine.h @@ -105,6 +105,7 @@ elf_machine_load_address (void) " _RTLD_PROLOGUE (ENTRY_POINT) "\ mv a0, sp\n\ jal _dl_start\n\ + " _RTLD_PROLOGUE (_dl_start_user) "\ # Stash user entry point in s0.\n\ mv s0, a0\n\ # See if we were run as a command with the executable file\n\ @@ -131,7 +132,8 @@ elf_machine_load_address (void) lla a0, _dl_fini\n\ # Jump to the user entry point.\n\ jr s0\n\ - " _RTLD_EPILOGUE (ENTRY_POINT) "\ + " _RTLD_EPILOGUE (ENTRY_POINT) \ + _RTLD_EPILOGUE (_dl_start_user) "\ .previous" \ );