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.
+#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; })