#include <string.h> | |
#include <stdint.h> | |
#include "pthread_impl.h" | |
uintptr_t __stack_chk_guard; | |
void __init_ssp(void* entropy) { | |
if (entropy) | |
memcpy(&__stack_chk_guard, entropy, sizeof(uintptr_t)); | |
else | |
__stack_chk_guard = (uintptr_t)&__stack_chk_guard * 1103515245; | |
__pthread_self()->CANARY = __stack_chk_guard; | |
} | |
void __stack_chk_fail(void) { | |
a_crash(); | |
} | |
__attribute__((__visibility__("hidden"))) void __stack_chk_fail_local(void); | |
weak_alias(__stack_chk_fail, __stack_chk_fail_local); |