blob: 589ea2b0d8fb60ca151a883aebdd6d2017b3973e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#include <bits/wordsize.h>
#ifdef __tilegx__
# if __WORDSIZE == 64
# define STACK_CHK_GUARD \
({ uintptr_t x; asm ("addi %0, tp, -16; ld %0, %0" : "=r" (x)); x; })
# else
# define STACK_CHK_GUARD \
({ uintptr_t x; asm ("addi %0, tp, -8; ld4s %0, %0" : "=r" (x)); x; })
# endif
#else
# define STACK_CHK_GUARD \
({ uintptr_t x; asm ("addi %0, tp, -8; lw %0, %0" : "=r" (x)); x; })
#endif
|