This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
[patch/hppa] Add proper unwind information for plt fixup routine
- From: Randolph Chung <randolph at tausq dot org>
- To: libc-alpha at sources dot redhat dot com
- Cc: carlos at baldric dot uwo dot ca
- Date: Thu, 18 Nov 2004 08:44:12 -0800
- Subject: [patch/hppa] Add proper unwind information for plt fixup routine
- Reply-to: Randolph Chung <randolph at tausq dot org>
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/