This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Commit: binutils: Fix reading 64-bit CIEs
- From: Nick Clifton <nickc at redhat dot com>
- To: binutils at sourceware dot org
- Date: Tue, 10 Sep 2013 17:18:47 +0100
- Subject: Commit: binutils: Fix reading 64-bit CIEs
- Authentication-results: sourceware.org; auth=none
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;