@@ -14311,8 +14311,8 @@ mem_loc_descriptor (rtx rtl, enum machin
&& ((unsigned) INTVAL (XEXP (rtl, 1))
+ (unsigned) INTVAL (XEXP (rtl, 2))
<= GET_MODE_BITSIZE (GET_MODE (rtl)))
- && GET_MODE_BITSIZE (GET_MODE (rtl)) <= DWARF2_ADDR_SIZE
- && GET_MODE_BITSIZE (GET_MODE (XEXP (rtl, 0))) <= DWARF2_ADDR_SIZE)
+ && GET_MODE_SIZE (GET_MODE (rtl)) <= DWARF2_ADDR_SIZE
+ && GET_MODE_SIZE (GET_MODE (XEXP (rtl, 0))) <= DWARF2_ADDR_SIZE)
{
int shift, size;
op0 = mem_loc_descriptor (XEXP (rtl, 0), mode,
@@ -23125,6 +23125,9 @@ hash_loc_operands (dw_loc_descr_ref loc,
case DW_OP_GNU_implicit_pointer:
hash = iterative_hash_object (val2->v.val_int, hash);
break;
+ case DW_OP_GNU_entry_value:
+ hash = hash_loc_operands (val1->v.val_loc, hash);
+ break;
default:
/* Other codes have no operands. */
@@ -23282,6 +23285,8 @@ compare_loc_operands (dw_loc_descr_ref x
&& valx1->val_class == valy1->val_class
&& valx1->v.val_die_ref.die == valy1->v.val_die_ref.die
&& valx2->v.val_int == valy2->v.val_int;
+ case DW_OP_GNU_entry_value:
+ return compare_loc_operands (valx1->v.val_loc, valy1->v.val_loc);
default:
/* Other codes have no operands. */
return true;