From 7c6992b55a66e6ea3dbd1054ba5b013c8eb5c202 Mon Sep 17 00:00:00 2001 From: gonzo Date: Fri, 23 Mar 2012 17:54:06 +0000 Subject: Before jumping to application's entry point set ra == pc in order to let backtracing routine know to go no further. --- libexec/rtld-elf/mips/rtld_start.S | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libexec') diff --git a/libexec/rtld-elf/mips/rtld_start.S b/libexec/rtld-elf/mips/rtld_start.S index 75a4825..a35fced 100644 --- a/libexec/rtld-elf/mips/rtld_start.S +++ b/libexec/rtld-elf/mips/rtld_start.S @@ -80,7 +80,8 @@ LEAF(rtld_start) move a0, s0 /* stack pointer */ move t9, v0 PTR_SUBU sp, 4*SZREG /* ABI requires to reserve memory for 4 regs */ - jr t9 /* _start(sp, cleanup, obj); */ + move ra,t9 /* RA == PC signals backtrace routine to stop */ + j t9 /* _start(sp, cleanup, obj); */ move a3, s3 /* restore ps_strings */ END(rtld_start) -- cgit v1.1