diff options
Diffstat (limited to 'gdb/dwarf2expr.c')
-rw-r--r-- | gdb/dwarf2expr.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gdb/dwarf2expr.c b/gdb/dwarf2expr.c index 117d5ba8cf3..40ce6087318 100644 --- a/gdb/dwarf2expr.c +++ b/gdb/dwarf2expr.c @@ -1392,6 +1392,20 @@ execute_stack_op (struct dwarf_expr_context *ctx, "or for DW_OP_breg*(0)+DW_OP_deref*")); } + case DW_OP_GNU_parameter_ref: + { + union call_site_parameter_u kind_u; + + kind_u.param_offset.cu_off = extract_unsigned_integer (op_ptr, 4, + byte_order); + op_ptr += 4; + ctx->funcs->push_dwarf_reg_entry_value (ctx, + CALL_SITE_PARAMETER_PARAM_OFFSET, + kind_u, + -1 /* deref_size */); + } + goto no_push; + case DW_OP_GNU_const_type: { cu_offset type_die; |