This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB 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]

Re: [RFC/RFA/hppa] unwind pc in bottom frame using correct register


> hrm, something is broken. on hppa64-hp-hpux11.11 this is causing a lot
> of unwinding failures. the hpux unwind_pc method is getting flags that
> have the magic "2" bit set, so it gets the pc from 31 instead of the
> pcoqh register.

figured it out.. we were only clearing the first half of the register on
64-bit... i committed the following patch to fix the problem.

randolph
-- 
Randolph Chung
Debian GNU/Linux Developer, hppa/ia64 ports
http://www.tausq.org/


2004-12-07  Randolph Chung  <tausq@debian.org>

	* hppa-tdep.c (hppa_frame_prev_register_helper): Zero out the entire
	register for both 32- and 64-bit targets.

Index: hppa-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/hppa-tdep.c,v
retrieving revision 1.188
diff -u -p -r1.188 hppa-tdep.c
--- hppa-tdep.c	8 Dec 2004 01:48:02 -0000	1.188
+++ hppa-tdep.c	8 Dec 2004 06:09:45 -0000
@@ -2459,7 +2467,10 @@ hppa_frame_prev_register_helper (struct 
   if (regnum == HPPA_FLAGS_REGNUM)
     {
       if (valuep)
-	store_unsigned_integer (valuep, 4, 0);
+	store_unsigned_integer (valuep, 
+			        register_size (get_frame_arch (next_frame), 
+					       regnum), 
+				0);
 
       /* It's a computed value.  */
       *optimizedp = 0;


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