@@ -1698,6 +1698,12 @@ size_of_loc_descr (dw_loc_descr_ref loc)
case DW_OP_GNU_parameter_ref:
size += 4;
break;
+ case DW_OP_AARCH64_pauth:
+ size += size_of_uleb128 (loc->dw_loc_oprnd1.v.val_unsigned);
+ break;
+ case DW_OP_AARCH64_paciasp_deref:
+ size += size_of_sleb128 (loc->dw_loc_oprnd1.v.val_int);
+ break;
default:
break;
}
@@ -2177,6 +2183,13 @@ output_loc_operands (dw_loc_descr_ref loc, int for_eh_or_skip)
}
break;
+ case DW_OP_AARCH64_pauth:
+ dw2_asm_output_data_uleb128 (val1->v.val_unsigned, NULL);
+ break;
+ case DW_OP_AARCH64_paciasp_deref:
+ dw2_asm_output_data_sleb128 (val1->v.val_int, NULL);
+ break;
+
default:
/* Other codes have no operands. */
break;
@@ -2365,6 +2378,15 @@ output_loc_operands_raw (dw_loc_descr_ref loc)
gcc_unreachable ();
break;
+ case DW_OP_AARCH64_pauth:
+ fputc (',', asm_out_file);
+ dw2_asm_output_data_uleb128_raw (val1->v.val_unsigned);
+ break;
+ case DW_OP_AARCH64_paciasp_deref:
+ fputc (',', asm_out_file);
+ dw2_asm_output_data_sleb128_raw (val1->v.val_int);
+ break;
+
default:
/* Other codes have no operands. */
break;