This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]