#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); |