tile: support tilegx32 in stackguard-macros.h

This commit is contained in:
Chris Metcalf 2012-05-17 18:51:36 +00:00
parent 69d8348e5e
commit 3f83552f2c
2 changed files with 10 additions and 1 deletions

View File

@ -1,5 +1,7 @@
2012-05-17 Chris Metcalf <cmetcalf@tilera.com>
* sysdeps/tile/stackguard-macros.h: Support tilegx32.
* data/c++-types-tilepro-linux-gnu.data: Renamed from
data/c++-types-tile-linux-gnu.data.
* data/c++-types-tilegx-linux-gnu.data: New file.

View File

@ -1,6 +1,13 @@
#include <bits/wordsize.h>
#ifdef __tilegx__
# define STACK_CHK_GUARD \
# 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; })