This is the mail archive of the binutils@sourceware.org mailing list for the binutils 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: binutils: Fix reading 64-bit CIEs


Hi Guys,

  I am checking in the patch below to fix the parsing of 64-bit CIEs.
  The problem was that we were checking for the 32-bit CIE marker even
  when the frame was a 64-bit frame.

Cheers
  Nick

binutils/ChangeLog
2013-09-10  Nick Clifton  <nickc@redhat.com>

	* dwarf.c (display_debug_frames): Check for DW64_CIE_ID when
	parsing 64-bit frames.

Index: binutils/dwarf.c
===================================================================
RCS file: /cvs/src/src/binutils/dwarf.c,v
retrieving revision 1.136
diff -c -3 -p -r1.136 dwarf.c
*** binutils/dwarf.c	26 Jul 2013 17:20:20 -0000	1.136
--- binutils/dwarf.c	10 Sep 2013 16:15:51 -0000
*************** display_debug_frames (struct dwarf_secti
*** 5188,5194 ****
  
        SAFE_BYTE_GET_AND_INC (cie_id, start, offset_size, end);
  
!       if (is_eh ? (cie_id == 0) : (cie_id == DW_CIE_ID))
  	{
  	  int version;
  
--- 5188,5195 ----
  
        SAFE_BYTE_GET_AND_INC (cie_id, start, offset_size, end);
  
!       if (is_eh ? (cie_id == 0) : ((offset_size == 4 && cie_id == DW_CIE_ID)
! 				   || (offset_size == 8 && cie_id == DW64_CIE_ID)))
  	{
  	  int version;
  


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