|
From: <sv...@va...> - 2005-05-16 22:09:25
|
Author: sewardj
Date: 2005-05-16 19:25:09 +0100 (Mon, 16 May 2005)
New Revision: 3743
Modified:
trunk/coregrind/vg_dwarf.c
Log:
CFI reader: handle DW_CFA_GNU_window_save. Why is this sparc-specific
construct turning up in .so's in x86 SuSE 9.3 ? Answers on a postcard
please.
Modified: trunk/coregrind/vg_dwarf.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/vg_dwarf.c 2005-05-16 16:39:57 UTC (rev 3742)
+++ trunk/coregrind/vg_dwarf.c 2005-05-16 18:25:09 UTC (rev 3743)
@@ -915,7 +915,8 @@
DW_CFA_offset_extended_sf =3D 0x11, /* DWARF3 only */
DW_CFA_def_cfa_offset_sf =3D 0x13, /* DWARF3 only */
DW_CFA_lo_user =3D 0x1c,
- DW_CFA_GNU_args_size =3D 0x2e,
+ DW_CFA_GNU_window_save =3D 0x2d, /* GNU extension */
+ DW_CFA_GNU_args_size =3D 0x2e, /* GNU extension */
DW_CFA_hi_user =3D 0x3f
};
=20
@@ -1513,6 +1514,11 @@
ctx->cfa_reg =3D -1; /* indicating we don't know */
break;
=20
+ case DW_CFA_GNU_window_save:
+ /* Ignored. This appears to be sparc-specific; quite why it
+ turns up in SuSE-supplied x86 .so's beats me. */
+ break;
+
default:=20
VG_(message)(Vg_DebugMsg, "DWARF2 CFI reader: unhandled CFI "
"instruction 0:%d", (Int)lo6);=20
@@ -1636,6 +1642,10 @@
VG_(printf)("DW_CFA_expression(r%d, length %d)\n", reg, len);
break;
=20
+ case DW_CFA_GNU_window_save:
+ VG_(printf)("DW_CFA_GNU_window_save\n");
+ break;
+
default:=20
VG_(printf)("0:%d\n", (Int)lo6);=20
break;
|