Pointer mangling cannot be supported on capability architectures.
And there is not enough bytes in dl_random for 128 bit pointers.
Stack guard is still loaded from dl_random: stack protection is
unlikely to be useful on a capability architecture, but it works.
static inline uintptr_t __attribute__ ((always_inline))
_dl_setup_pointer_guard (void *dl_random, uintptr_t stack_chk_guard)
{
+#ifdef __CHERI_PURE_CAPABILITY__
+ /* Pointer mangling is not supported on capability architectures. */
+ return 0;
+#else
uintptr_t ret;
memcpy (&ret, (char *) dl_random + sizeof (ret), sizeof (ret));
return ret;
+#endif
}