[glibc] RISC-V: Add _dl_start_user.

DJ Delorie dj@sourceware.org
Tue Nov 10 19:03:32 GMT 2020


https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=1f67f23fdf2ad5c4fa26525f0cd74aba7ebf3375

commit 1f67f23fdf2ad5c4fa26525f0cd74aba7ebf3375
Author: Jim Wilson <jimw@sifive.com>
Date:   Mon Nov 9 16:53:23 2020 -0800

    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

Diff:
---
 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" \
 );


More information about the Glibc-cvs mailing list