From 1fdc21e7015e339a617223ad8893a97b1c5b75f4 Mon Sep 17 00:00:00 2001 From: Julian Seward Date: Fri, 12 Jan 2007 22:11:45 +0000 Subject: [PATCH] Merge r6510 (Handle DW_CFA_undefined) git-svn-id: svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_2_BRANCH@6513 --- coregrind/m_debuginfo/readdwarf.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/coregrind/m_debuginfo/readdwarf.c b/coregrind/m_debuginfo/readdwarf.c index fcd2f771f3..9288df0b5c 100644 --- a/coregrind/m_debuginfo/readdwarf.c +++ b/coregrind/m_debuginfo/readdwarf.c @@ -2224,6 +2224,16 @@ static Int run_CF_instruction ( /*MOD*/UnwindContext* ctx, ctx->cfa_offset = off * ctx->data_a_f; break; + case DW_CFA_undefined: + reg = read_leb128( &instr[i], &nleb, 0); + i += nleb; + if (reg < 0 || reg >= N_CFI_REGS) + return 0; /* fail */ + ctx->reg[reg].tag = RR_Undef; + ctx->reg[reg].coff = 0; + ctx->reg[reg].reg = 0; + break; + case DW_CFA_GNU_args_size: /* No idea what is supposed to happen. gdb-6.3 simply ignores these. */ -- 2.47.2