+
+#if __has_feature(ptrauth_signed_block_descriptors)
+ uintptr_t oldDesc =
+ ptrauth_blend_discriminator(
+ &aBlock->descriptor, _Block_descriptor_ptrauth_discriminator);
+ uintptr_t newDesc =
+ ptrauth_blend_discriminator(
+ &result->descriptor, _Block_descriptor_ptrauth_discriminator);
+
+ result->descriptor =
+ ptrauth_auth_and_resign(aBlock->descriptor, ptrauth_key_asda, oldDesc,
+ ptrauth_key_asda, newDesc);