|
From: <sv...@va...> - 2009-04-08 15:06:43
|
Author: tom
Date: 2009-04-08 16:06:34 +0100 (Wed, 08 Apr 2009)
New Revision: 9520
Log:
Handle DW_CFA_same_value opcodes in DWARF CFI data.
Modified:
trunk/coregrind/m_debuginfo/readdwarf.c
Modified: trunk/coregrind/m_debuginfo/readdwarf.c
===================================================================
--- trunk/coregrind/m_debuginfo/readdwarf.c 2009-04-05 11:02:29 UTC (rev 9519)
+++ trunk/coregrind/m_debuginfo/readdwarf.c 2009-04-08 15:06:34 UTC (rev 9520)
@@ -2912,6 +2912,17 @@
VG_(printf)(" rci:DW_CFA_undefined\n");
break;
+ case DW_CFA_same_value:
+ reg = read_leb128( &instr[i], &nleb, 0);
+ i += nleb;
+ if (reg < 0 || reg >= N_CFI_REGS)
+ return 0; /* fail */
+ ctx->reg[reg].tag = RR_Same;
+ ctx->reg[reg].arg = 0;
+ if (di->ddump_frames)
+ VG_(printf)(" rci:DW_CFA_same_value\n");
+ break;
+
case DW_CFA_GNU_args_size:
/* No idea what is supposed to happen. gdb-6.3 simply
ignores these. */
|