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]

[COMMIT] Fix decoding CIE's in DWARF frame info


The old code didn't take into account that the encoding used to
specify the personality routine in the augmentation could be
DW_PE_EH_aligned.

Fixed by the attach patch.

Committed to mainline.  I'll commit this to the branch later today.

Cheers,

Mark


Index: ChangeLog
===================================================================
RCS file: /cvs/src/src/gdb/ChangeLog,v
retrieving revision 1.6577
diff -u -p -r1.6577 ChangeLog
--- ChangeLog	5 Nov 2004 08:53:18 -0000	1.6577
+++ ChangeLog	5 Nov 2004 15:12:42 -0000
@@ -1,3 +1,8 @@
+2004-11-05  Mark Kettenis  <kettenis@jive.nl>
+
+	* dwarf2-frame.c (decode_frame_entry_1): Correctly skip
+	personality routine in a CIE augmentation.
+
 2004-11-05  Felix Lee  <felix+log1@specifixinc.com>
 
 	* stack.c (set_current_sal_from_frame): New function.
Index: dwarf2-frame.c
===================================================================
RCS file: /cvs/src/src/gdb/dwarf2-frame.c,v
retrieving revision 1.41
diff -u -p -r1.41 dwarf2-frame.c
--- dwarf2-frame.c	4 Nov 2004 21:15:15 -0000	1.41
+++ dwarf2-frame.c	5 Nov 2004 15:12:42 -0000
@@ -1381,7 +1381,9 @@ decode_frame_entry_1 (struct comp_unit *
 	  else if (*augmentation == 'P')
 	    {
 	      /* Skip.  */
-	      buf += size_of_encoded_value (*buf++);
+	      unsigned char encoding = *buf++;
+	      read_encoded_value (unit, encoding, buf, &bytes_read);
+	      buf += bytes_read;
 	      augmentation++;
 	    }
 


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