aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <jimw@sifive.com>2020-11-09 16:53:23 -0800
committerDJ Delorie <dj@redhat.com>2020-11-10 14:02:46 -0500
commit1f67f23fdf2ad5c4fa26525f0cd74aba7ebf3375 (patch)
tree6e20421c384ec5b4f7e30df3670808f8ccd699ea
parent75a193b7611bade31a150dfcc528b973e3d46231 (diff)
downloadglibc-1f67f23fdf2ad5c4fa26525f0cd74aba7ebf3375.tar
glibc-1f67f23fdf2ad5c4fa26525f0cd74aba7ebf3375.tar.gz
glibc-1f67f23fdf2ad5c4fa26525f0cd74aba7ebf3375.tar.bz2
glibc-1f67f23fdf2ad5c4fa26525f0cd74aba7ebf3375.zip
RISC-V: Add _dl_start_user.
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
-rw-r--r--sysdeps/riscv/dl-machine.h4
1 files changed, 3 insertions, 1 deletions
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" \
);