diff options
Diffstat (limited to 'gdb/dwarf2expr.c')
-rw-r--r-- | gdb/dwarf2expr.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gdb/dwarf2expr.c b/gdb/dwarf2expr.c index 8d1810e..91fccf9 100644 --- a/gdb/dwarf2expr.c +++ b/gdb/dwarf2expr.c @@ -904,6 +904,13 @@ execute_stack_op (struct dwarf_expr_context *ctx, op_ptr += 4; ctx->dwarf_call (ctx, result); goto no_push; + + case DW_OP_GNU_entry_value: + /* This operation is not yet supported by GDB. */ + ctx->location = DWARF_VALUE_OPTIMIZED_OUT; + ctx->stack_len = 0; + ctx->num_pieces = 0; + goto abort_expression; default: error (_("Unhandled dwarf expression opcode 0x%x"), op); @@ -921,6 +928,7 @@ execute_stack_op (struct dwarf_expr_context *ctx, if (ctx->location == DWARF_VALUE_IMPLICIT_POINTER) add_piece (ctx, 8 * ctx->addr_size, 0); +abort_expression: ctx->recursion_depth--; gdb_assert (ctx->recursion_depth >= 0); #undef sign_ext |