[patch/hppa] Add proper unwind information for plt fixup routine

Randolph Chung randolph@tausq.org
Thu Nov 18 16:44:00 GMT 2004


The fixup routine was written without unwinding information before, so
it was not ABI compliant and tools like gdb are not able to properly 
unwind through it. This patch adds the proper unwinding information.

Please apply.

2004-11-17  Randolph Chung  <tausq@debian.org>

	* sysdeps/hppa/dl-machine.h (TRAMPOLINE_TEMPLATE): Add unwind 
	annotations.

--- glibc-2.3.2/sysdeps/hppa/dl-machine.h.orig	2004-11-17 16:57:24.959474368 -0800
+++ glibc-2.3.2/sysdeps/hppa/dl-machine.h	2004-11-17 17:00:22.498484336 -0800
@@ -421,6 +421,9 @@
   asm (".globl " #tramp_name "\n"					\
  "	.type " #tramp_name ",@function\n"				\
   #tramp_name ":\n"							\
+ "	.proc\n"							\
+ "	.callinfo frame=64,calls,save_rp\n"				\
+ "	.entry\n"							\
  	/* Save return pointer */					\
  "	stw	%r2,-20(%sp)\n"						\
  	/* Save argument registers in the call stack frame. */		\
@@ -451,7 +454,8 @@
  "	bv	%r0(%r22)\n"						\
  	/* Return pointer. */						\
  "	ldw	-20(%sp),%r2\n"						\
-        );
+ "	.exit\n"							\
+ "	.procend\n");
   
 #ifndef PROF
 #define ELF_MACHINE_RUNTIME_TRAMPOLINE			\
-- 
Randolph Chung
Debian GNU/Linux Developer, hppa/ia64 ports
http://www.tausq.org/



More information about the Libc-alpha mailing list