This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]