This is the mail archive of the
libc-ports@sources.redhat.com
mailing list for the libc-ports project.
[PATCH] tile: support tilegx32 in stackguard-macros.h
- From: Chris Metcalf <cmetcalf at tilera dot com>
- To: <libc-ports at sourceware dot org>
- Date: Thu, 17 May 2012 18:51:36 +0000
- Subject: [PATCH] tile: support tilegx32 in stackguard-macros.h
---
Pushed as trivial.
ChangeLog.tile | 2 ++
sysdeps/tile/stackguard-macros.h | 9 ++++++++-
2 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/ChangeLog.tile b/ChangeLog.tile
index 51acbc6..52b38b4 100644
--- a/ChangeLog.tile
+++ b/ChangeLog.tile
@@ -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.
diff --git a/sysdeps/tile/stackguard-macros.h b/sysdeps/tile/stackguard-macros.h
index 7679c0a..589ea2b 100644
--- a/sysdeps/tile/stackguard-macros.h
+++ b/sysdeps/tile/stackguard-macros.h
@@ -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; })
--
1.7.1