[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#281993: [patch/hppa] add unwind information to plt fixup routine



Package: glibc
Version: 2.3.2-16
Tags: patch

Please consider including this patch in the next glibc upload, if it is
not picked up from cvs. Not urgent, but will help with gdb users.

thanks
randolph


#! /bin/sh -e

# All lines beginning with `# DP:' are a description of the patch.
# DP: Description: Add unwind information for the plt fixup routine
# DP: Author:  Randolph Chung (tausq@debian.org)
# DP: Upstream status: Submitted and accepted on 2004-11-20
# DP: Status Details: Tested with no regressions.
# DP: Date: 2004-11-19

if [ $# -ne 2 ]; then
    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
    exit 1
fi
case "$1" in
    -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;;
    -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;;
    *)
	echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
	exit 1
esac
exit 0

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			\




Reply to: