[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[MiNT] fix for falcon.h



Attached is a fix for falcon.h to define the clobbered d0 register.

Alan.
Index: sys/mint/falcon.h
===================================================================
RCS file: /mint/freemint/sys/mint/falcon.h,v
retrieving revision 1.4
diff -u -r1.4 falcon.h
--- sys/mint/falcon.h	7 Apr 2004 22:49:07 -0000	1.4
+++ sys/mint/falcon.h	2 Jun 2006 09:13:39 -0000
@@ -36,7 +36,8 @@
 		lea	sp@(12),sp"					\
 	: "=r"(retvalue)						\
 	: "g"(n), "r"(_a), "r"(_b), "r"(_c), "r"(_d), "r"(_e)		\
-	: "d0", "d1", "d2", "a0", "a1", "a2", "memory");		\
+	: __CLOBBER_RETURN("d0")					\
+	  "d1", "d2", "a0", "a1", "a2", "memory");		\
 	retvalue;							\
 })
 #endif
@@ -62,7 +63,8 @@
 		lea	sp@(18),sp"					\
 	: "=r"(retvalue)						\
 	: "g"(n), "r"(_a), "r"(_b), "r"(_c), "r"(_d)			\
-	: "d0", "d1", "d2", "a0", "a1", "a2", "memory");		\
+	: __CLOBBER_RETURN("d0")					\
+	  "d1", "d2", "a0", "a1", "a2", "memory");		\
 	retvalue;							\
 })
 #endif
@@ -92,7 +94,8 @@
 		lea	sp@(26),sp"					\
 	: "=r"(retvalue)						\
 	: "g"(n), "r"(_a), "r"(_b), "r"(_c), "r"(_d), "r"(_e), "r"(_f)	\
-	: "d0", "d1", "d2", "a0", "a1", "a2", "memory");		\
+	: __CLOBBER_RETURN("d0")					\
+	  "d1", "d2", "a0", "a1", "a2", "memory");		\
 	retvalue;							\
 })
 #endif
@@ -114,7 +117,8 @@
 		lea	sp@(10),sp"					\
 	: "=r"(retvalue)						\
 	: "g"(n), "r"(_a), "r"(_b)					\
-	: "d0", "d1", "d2", "a0", "a1", "a2", "memory");		\
+	: __CLOBBER_RETURN("d0")					\
+	  "d1", "d2", "a0", "a1", "a2", "memory");		\
 	retvalue;							\
 })
 #endif
@@ -138,7 +142,8 @@
 		lea	sp@(12),sp"					\
 	: "=r"(retvalue)						\
 	: "g"(n), "r"(_a), "r"(_b), "r"(_c)				\
-	: "d0", "d1", "d2", "a0", "a1", "a2", "memory");		\
+	: __CLOBBER_RETURN("d0")					\
+	  "d1", "d2", "a0", "a1", "a2", "memory");		\
 	retvalue;							\
 })
 #endif