1#include <string.h> 2#include <stdint.h> 3#include "pthread_impl.h" 4 5uintptr_t __stack_chk_guard; 6 7void __init_ssp(void *entropy) 8{ 9 if (entropy) memcpy(&__stack_chk_guard, entropy, sizeof(uintptr_t)); 10 else __stack_chk_guard = (uintptr_t)&__stack_chk_guard * 1103515245; 11 12 __pthread_self()->CANARY = __stack_chk_guard; 13} 14 15void __stack_chk_fail(void) 16{ 17 a_crash(); 18} 19 20__attribute__((__visibility__("hidden"))) 21void __stack_chk_fail_local(void); 22 23weak_alias(__stack_chk_fail, __stack_chk_fail_local); 24