summaryrefslogtreecommitdiff
path: root/libgcc/config
diff options
context:
space:
mode:
authorktietz <ktietz@138bc75d-0d04-0410-961f-82ee72b054a4>2009-06-22 14:04:19 +0000
committerktietz <ktietz@138bc75d-0d04-0410-961f-82ee72b054a4>2009-06-22 14:04:19 +0000
commitf7ef49daae907e2f7d2cc52eb410cacdfc94d6f9 (patch)
tree394b4627bcbefa076f61363862053b8d80fd8f9e /libgcc/config
parentf1b641ce09450bce969d2cda26e64a69b0d5962e (diff)
downloadgcc-f7ef49daae907e2f7d2cc52eb410cacdfc94d6f9.tar.gz
ChangeLog for gcc
2009-06-22 Kai Tietz <kai.tietz@onevision.com> * config.gcc: Add for x86 and x64 mingw targets t-fprules-soft and t-softfp support. * config/i386/mingw32.h (LIBGCC2_HAS_TF_MODE): Enable TFmode. (LIBGCC2_TF_CEXT): Define. (TF_SIZE): Define. ChangeLog for libgcc 2009-06-22 Kai Tietz <kai.tietz@onevision.com> * config.host: Add soft emulation for x86 and x64 mingw targets. * config/i386/64/_divtc3.c: Disable for mingw targets usage of .symver assembly symbol. * config/i386/64/_multc3.c: Likewise. * config/i386/64/_powitf2.c: Likewise. * config/i386/64/eqtf2.c: Likewise. * config/i386/64/getf2.c: Likewise. * config/i386/64/letf2.c: Likewise. * config/i386/64/letf2.c: Likewise. * config/i386/64/sfp-machine.h (_FP_W_TYPE): Define it for x64 mingw target as unsigned long long. (_FP_WS_TYPE): Define it for x64 mingw target as signed long long. (_FP_I_TYPE): Define it for x64 mingw target as long long. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148798 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgcc/config')
-rw-r--r--libgcc/config/i386/64/_divtc3.c2
-rw-r--r--libgcc/config/i386/64/_multc3.c2
-rw-r--r--libgcc/config/i386/64/_powitf2.c2
-rw-r--r--libgcc/config/i386/64/eqtf2.c2
-rw-r--r--libgcc/config/i386/64/getf2.c2
-rw-r--r--libgcc/config/i386/64/letf2.c2
-rw-r--r--libgcc/config/i386/64/sfp-machine.h13
7 files changed, 22 insertions, 3 deletions
diff --git a/libgcc/config/i386/64/_divtc3.c b/libgcc/config/i386/64/_divtc3.c
index 57ee350b7cd..0095d245ede 100644
--- a/libgcc/config/i386/64/_divtc3.c
+++ b/libgcc/config/i386/64/_divtc3.c
@@ -9,6 +9,8 @@
#undef __divtc3
extern __typeof__ (__divtc3_shared) __divtc3_compat __attribute__((alias ("__divtc3_shared")));
+#ifndef _WIN32
asm (".symver __divtc3_compat,__divtc3@GCC_4.0.0");
asm (".symver __divtc3_shared,__divtc3@@GCC_4.3.0");
#endif
+#endif
diff --git a/libgcc/config/i386/64/_multc3.c b/libgcc/config/i386/64/_multc3.c
index 49141a9384f..08b5ee451d0 100644
--- a/libgcc/config/i386/64/_multc3.c
+++ b/libgcc/config/i386/64/_multc3.c
@@ -9,6 +9,8 @@
#undef __multc3
extern __typeof__ (__multc3_shared) __multc3_compat __attribute__((alias ("__multc3_shared")));
+#ifndef _WIN32
asm (".symver __multc3_compat,__multc3@GCC_4.0.0");
asm (".symver __multc3_shared,__multc3@@GCC_4.3.0");
#endif
+#endif
diff --git a/libgcc/config/i386/64/_powitf2.c b/libgcc/config/i386/64/_powitf2.c
index 3bc3c904de7..e8360156b5b 100644
--- a/libgcc/config/i386/64/_powitf2.c
+++ b/libgcc/config/i386/64/_powitf2.c
@@ -9,6 +9,8 @@
#undef __powitf2
extern __typeof__ (__powitf2_shared) __powitf2_compat __attribute__((alias ("__powitf2_shared")));
+#ifndef _WIN32
asm (".symver __powitf2_compat,__powitf2@GCC_4.0.0");
asm (".symver __powitf2_shared,__powitf2@@GCC_4.3.0");
#endif
+#endif
diff --git a/libgcc/config/i386/64/eqtf2.c b/libgcc/config/i386/64/eqtf2.c
index d9baba689be..785c42ad5c6 100644
--- a/libgcc/config/i386/64/eqtf2.c
+++ b/libgcc/config/i386/64/eqtf2.c
@@ -8,6 +8,8 @@
#undef __netf2
strong_alias (__netf2_shared, __netf2_compat);
+#ifndef _WIN32
asm (".symver __netf2_compat,__netf2@GCC_3.0");
asm (".symver __netf2_shared,__netf2@@GCC_4.3.0");
#endif
+#endif
diff --git a/libgcc/config/i386/64/getf2.c b/libgcc/config/i386/64/getf2.c
index 30885cc0caf..280447c1e83 100644
--- a/libgcc/config/i386/64/getf2.c
+++ b/libgcc/config/i386/64/getf2.c
@@ -8,6 +8,8 @@
#undef __gttf2
strong_alias (__gttf2_shared, __gttf2_compat);
+#ifndef _WIN32
asm (".symver __gttf2_compat,__gttf2@GCC_3.0");
asm (".symver __gttf2_shared,__gttf2@@GCC_4.3.0");
#endif
+#endif
diff --git a/libgcc/config/i386/64/letf2.c b/libgcc/config/i386/64/letf2.c
index 231f981c84c..81e0881c844 100644
--- a/libgcc/config/i386/64/letf2.c
+++ b/libgcc/config/i386/64/letf2.c
@@ -8,6 +8,8 @@
#undef __lttf2
strong_alias (__lttf2_shared, __lttf2_compat);
+#ifndef _WIN32
asm (".symver __lttf2_compat,__lttf2@GCC_3.0");
asm (".symver __lttf2_shared,__lttf2@@GCC_4.3.0");
#endif
+#endif
diff --git a/libgcc/config/i386/64/sfp-machine.h b/libgcc/config/i386/64/sfp-machine.h
index 190e3cb0e81..5adf6dbbaa4 100644
--- a/libgcc/config/i386/64/sfp-machine.h
+++ b/libgcc/config/i386/64/sfp-machine.h
@@ -1,7 +1,14 @@
#define _FP_W_TYPE_SIZE 64
-#define _FP_W_TYPE unsigned long
-#define _FP_WS_TYPE signed long
-#define _FP_I_TYPE long
+
+#ifdef _WIN64
+ #define _FP_W_TYPE unsigned long long
+ #define _FP_WS_TYPE signed long long
+ #define _FP_I_TYPE long long
+#else
+ #define _FP_W_TYPE unsigned long
+ #define _FP_WS_TYPE signed long
+ #define _FP_I_TYPE long
+#endif
typedef int TItype __attribute__ ((mode (TI)));
typedef unsigned int UTItype __attribute__ ((mode (TI)));