OSDN Git Service

ChangeLog for gcc
authorktietz <ktietz@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 22 Jun 2009 14:04:19 +0000 (14:04 +0000)
committerktietz <ktietz@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 22 Jun 2009 14:04:19 +0000 (14:04 +0000)
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

gcc/config.gcc
gcc/config/i386/mingw32.h
libgcc/config.host
libgcc/config/i386/64/_divtc3.c
libgcc/config/i386/64/_multc3.c
libgcc/config/i386/64/_powitf2.c
libgcc/config/i386/64/eqtf2.c
libgcc/config/i386/64/getf2.c
libgcc/config/i386/64/letf2.c
libgcc/config/i386/64/sfp-machine.h

index 7b59917..0105fcb 100644 (file)
@@ -3136,7 +3136,7 @@ case ${target} in
        i[34567]86-*-linux* | x86_64-*-linux* | i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu)
                tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp i386/t-linux"
                ;;
-       i[34567]86-*-cygwin*)
+       i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw*)
                tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp"
                ;;
        ia64*-*-linux*)
index 746d7d1..6043e24 100644 (file)
@@ -123,6 +123,14 @@ along with GCC; see the file COPYING3.  If not see
 #define STANDARD_STARTFILE_PREFIX_2 ""
 #endif
 
+/* Put all *tf routines in libgcc.  */
+#undef LIBGCC2_HAS_TF_MODE
+#define LIBGCC2_HAS_TF_MODE 1
+#undef LIBGCC2_TF_CEXT
+#define LIBGCC2_TF_CEXT q
+#undef TF_SIZE
+#define TF_SIZE 113
+
 /* Output STRING, a string representing a filename, to FILE.
    We canonicalize it to be in Unix format (backslashes are replaced
    forward slashes.  */
index 25879b1..bdc1b34 100644 (file)
@@ -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
index 57ee350..0095d24 100644 (file)
@@ -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
index 49141a9..08b5ee4 100644 (file)
@@ -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
index 3bc3c90..e836015 100644 (file)
@@ -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
index d9baba6..785c42a 100644 (file)
@@ -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
index 30885cc..280447c 100644 (file)
@@ -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
index 231f981..81e0881 100644 (file)
@@ -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
index 190e3cb..5adf6db 100644 (file)
@@ -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)));