From 20ce1d0a81fa42330f4266065b5914a04a346e83 Mon Sep 17 00:00:00 2001 From: Julian Seward Date: Fri, 12 Jan 2007 19:21:22 +0000 Subject: [PATCH] Handle DW_CFA_undefined (produced by PathScale 2.4 on amd64-linux) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6510 --- 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