aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorKai Tietz <ktietz@gcc.gnu.org>2009-06-22 16:04:19 +0200
committerKai Tietz <ktietz@gcc.gnu.org>2009-06-22 16:04:19 +0200
commitf0375e7861101189c0f9c6159ff7d0f9fd61c84e (patch)
tree394b4627bcbefa076f61363862053b8d80fd8f9e /libgcc
parent3f53cdbe6721b84b0e0fd82e420921a685108395 (diff)
downloadgcc-f0375e7861101189c0f9c6159ff7d0f9fd61c84e.zip
gcc-f0375e7861101189c0f9c6159ff7d0f9fd61c84e.tar.gz
gcc-f0375e7861101189c0f9c6159ff7d0f9fd61c84e.tar.bz2
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. From-SVN: r148798
Diffstat (limited to 'libgcc')
-rw-r--r--libgcc/config.host2
-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
8 files changed, 23 insertions, 4 deletions
diff --git a/libgcc/config.host b/libgcc/config.host
index 25879b1..bdc1b34 100644
--- a/libgcc/config.host
+++ b/libgcc/config.host
@@ -571,7 +571,7 @@ case ${host} in
i[34567]86-*-darwin* | x86_64-*-darwin* | \
i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \
i[34567]86-*-linux* | x86_64-*-linux* | \
- i[34567]86-*-cygwin*)
+ i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw*)
if test "${host_address}" = 32; then
tmake_file="${tmake_file} t-softfp i386/${host_address}/t-fprules-softfp"
fi
diff --git a/libgcc/config/i386/64/_divtc3.c b/libgcc/config/i386/64/_divtc3.c
index 57ee350..0095d24 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 49141a9..08b5ee4 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 3bc3c90..e836015 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 d9baba6..785c42a 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 30885cc..280447c 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 231f981..81e0881 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 190e3cb..5adf6db 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)));