This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
PATCH: Handle record after ZERO terminator
- From: "H. J. Lu" <hjl at lucon dot org>
- To: binutils at sources dot redhat dot com
- Date: Sat, 13 May 2006 10:37:20 -0700
- Subject: PATCH: Handle record after ZERO terminator
Some .eh_frame section has additional records after ZERO terminator.
This patch prints out them. Also if a CIE pointer is invalid, there
is no need to process further.
H.J.
----
2006-05-13 H.J. Lu <hongjiu.lu@intel.com>
* dwarf.c (display_debug_frames): Don't return on ZERO
terminator. Skip invalid CIE pointer.
--- binutils/dwarf.c.zero 2006-03-15 19:31:54.000000000 -0800
+++ binutils/dwarf.c 2006-05-11 12:44:32.000000000 -0700
@@ -2927,7 +2927,7 @@ display_debug_frames (struct dwarf_secti
{
printf ("\n%08lx ZERO terminator\n\n",
(unsigned long)(saved_start - section_start));
- return 1;
+ continue;
}
if (length == 0xffffffff)
@@ -3080,14 +3080,7 @@ display_debug_frames (struct dwarf_secti
{
warn ("Invalid CIE pointer %08lx in FDE at %08lx\n",
cie_id, (unsigned long)(saved_start - section_start));
- start = block_end;
- fc->ncols = 0;
- fc->col_type = xmalloc (sizeof (short int));
- fc->col_offset = xmalloc (sizeof (int));
- frame_need_space (fc, max_regs - 1);
- cie = fc;
- fc->augmentation = "";
- fc->fde_encoding = 0;
+ return 1;
}
else
{