unsigned char per_encoding;
unsigned char lsda_encoding;
expressionS personality;
- enum pointer_auth_key pauth_key;
+#ifdef tc_cie_entry_extras
+ tc_cie_entry_extras
+#endif
struct cfi_insn_data *first, *last;
};
fde->per_encoding = DW_EH_PE_omit;
fde->lsda_encoding = DW_EH_PE_omit;
fde->eh_header_type = EH_COMPACT_UNKNOWN;
- fde->pauth_key = AARCH64_PAUTH_KEY_A;
+#ifdef tc_fde_entry_init_extra
+ tc_fde_entry_init_extra (fde)
+#endif
return fde;
}
if (cie->lsda_encoding != DW_EH_PE_omit)
out_one ('L');
out_one ('R');
- if (cie->pauth_key == AARCH64_PAUTH_KEY_B)
- out_one ('B');
+#ifdef tc_output_cie_extra
+ tc_output_cie_extra (cie)
+#endif
}
if (cie->signal_frame)
out_one ('S');
{
if (CUR_SEG (cie) != CUR_SEG (fde))
continue;
+#ifdef tc_cie_fde_equivalent_extra
+ if (!tc_cie_fde_equivalent_extra (cie, fde))
+ continue;
+#endif
if (cie->return_column != fde->return_column
- || cie->pauth_key != fde->pauth_key
|| cie->signal_frame != fde->signal_frame
|| cie->per_encoding != fde->per_encoding
|| cie->lsda_encoding != fde->lsda_encoding)
cie->lsda_encoding = fde->lsda_encoding;
cie->personality = fde->personality;
cie->first = fde->data;
- cie->pauth_key = fde->pauth_key;
+#ifdef tc_cie_entry_init_extra
+ tc_cie_entry_init_extra (cie, fde)
+#endif
for (i = cie->first; i ; i = i->next)
if (i->insn == DW_CFA_advance_loc