[OpenBIOS] r245 - openbios-devel/libgcc

svn at openbios.org svn at openbios.org
Wed Nov 5 16:52:59 CET 2008


Author: blueswirl
Date: 2008-11-05 16:52:59 +0100 (Wed, 05 Nov 2008)
New Revision: 245

Modified:
   openbios-devel/libgcc/libgcc.h
Log:
TImode confuses GCC 4.x on Sparc32, so use them only on Sparc64

Modified: openbios-devel/libgcc/libgcc.h
===================================================================
--- openbios-devel/libgcc/libgcc.h	2008-11-02 19:25:05 UTC (rev 244)
+++ openbios-devel/libgcc/libgcc.h	2008-11-05 15:52:59 UTC (rev 245)
@@ -11,27 +11,33 @@
 typedef unsigned int USItype    __attribute__ ((mode (SI)));
 typedef          int DItype     __attribute__ ((mode (DI)));
 typedef unsigned int UDItype    __attribute__ ((mode (DI)));
-typedef          int TItype     __attribute__ ((mode (TI)));
 typedef int word_type __attribute__ ((mode (__word__)));
 
 uint64_t __udivmoddi4(uint64_t num, uint64_t den, uint64_t *rem);
-__uint128_t __udivmodti4(__uint128_t num, __uint128_t den, __uint128_t *rem);
 
 int64_t __divdi3(int64_t num, int64_t den);
 uint64_t __udivdi3(uint64_t num, uint64_t den);
-__int128_t __divti3(__int128_t num, __int128_t den);
-__uint128_t __udivti3(__uint128_t num, __uint128_t den);
 
 uint64_t __umoddi3(uint64_t num, uint64_t den);
-__uint128_t __umodti3(__uint128_t num, __uint128_t den);
 
 DItype __ashldi3 (DItype u, word_type b);
 DItype __lshrdi3 (DItype u, word_type b);
 DItype __ashrdi3 (DItype u, word_type b);
 
-TItype __multi3 (TItype u, TItype v);
-
 // Must be implemented outside:
 void __divide_error(void);
 
+#ifdef __arch64__
+typedef          int TItype     __attribute__ ((mode (TI)));
+
+__uint128_t __udivmodti4(__uint128_t num, __uint128_t den, __uint128_t *rem);
+
+__int128_t __divti3(__int128_t num, __int128_t den);
+__uint128_t __udivti3(__uint128_t num, __uint128_t den);
+
+__uint128_t __umodti3(__uint128_t num, __uint128_t den);
+
+TItype __multi3 (TItype u, TItype v);
+#endif
+
 #endif /* _LIBGCC_H */




More information about the OpenBIOS mailing list