dwarf2out.c (build_cfa_loc): Correct to use DW_OP_regx or DW_OP_bregx when cfa->reg > 31.
* dwarf2out.c (build_cfa_loc): Correct to use DW_OP_regx or DW_OP_bregx when cfa->reg > 31. * frame-dwarf2.c (decode_stack_op) [case DW_OP_regx]: Add missing break. From-SVN: r36757
This commit is contained in:
parent
903cef853f
commit
f299afab9b
@ -1,3 +1,11 @@
|
||||
2000-10-06 Hans-Peter Nilsson <hp@bitrange.com>
|
||||
|
||||
* dwarf2out.c (build_cfa_loc): Correct to use DW_OP_regx or
|
||||
DW_OP_bregx when cfa->reg > 31.
|
||||
|
||||
* frame-dwarf2.c (decode_stack_op) [case DW_OP_regx]: Add missing
|
||||
break.
|
||||
|
||||
2000-10-05 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* c-decl.c (warn_missing_noreturn): Remove.
|
||||
|
@ -2827,9 +2827,16 @@ build_cfa_loc (cfa)
|
||||
abort ();
|
||||
|
||||
if (cfa->base_offset)
|
||||
head = new_loc_descr (DW_OP_breg0 + cfa->reg, cfa->base_offset, 0);
|
||||
else
|
||||
{
|
||||
if (cfa->reg <= 31)
|
||||
head = new_loc_descr (DW_OP_breg0 + cfa->reg, cfa->base_offset, 0);
|
||||
else
|
||||
head = new_loc_descr (DW_OP_bregx, cfa->reg, cfa->base_offset);
|
||||
}
|
||||
else if (cfa->reg <= 31)
|
||||
head = new_loc_descr (DW_OP_reg0 + cfa->reg, 0, 0);
|
||||
else
|
||||
head = new_loc_descr (DW_OP_regx, cfa->reg, 0);
|
||||
head->dw_loc_oprnd1.val_class = dw_val_class_const;
|
||||
tmp = new_loc_descr (DW_OP_deref, 0, 0);
|
||||
add_loc_descr (&head, tmp);
|
||||
|
@ -514,6 +514,7 @@ decode_stack_op (unsigned char *buf, struct frame_state *state)
|
||||
case DW_OP_regx:
|
||||
buf = decode_sleb128 (buf, &offset);
|
||||
state->cfa_reg = offset;
|
||||
break;
|
||||
case DW_OP_breg0:
|
||||
case DW_OP_breg1:
|
||||
case DW_OP_breg2:
|
||||
|
Loading…
Reference in New Issue
Block a user