RISC-V: Add _dl_start_user.
authorJim Wilson <jimw@sifive.com>
Tue, 10 Nov 2020 00:53:23 +0000 (16:53 -0800)
committerDJ Delorie <dj@redhat.com>
Tue, 10 Nov 2020 19:02:46 +0000 (14:02 -0500)
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

index 03db94a..5111408 100644 (file)
@@ -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" \
 );