diff options
author | Kai Tietz <ktietz@gcc.gnu.org> | 2009-06-22 16:04:19 +0200 |
---|---|---|
committer | Kai Tietz <ktietz@gcc.gnu.org> | 2009-06-22 16:04:19 +0200 |
commit | f0375e7861101189c0f9c6159ff7d0f9fd61c84e (patch) | |
tree | 394b4627bcbefa076f61363862053b8d80fd8f9e /libgcc | |
parent | 3f53cdbe6721b84b0e0fd82e420921a685108395 (diff) | |
download | gcc-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.host | 2 | ||||
-rw-r--r-- | libgcc/config/i386/64/_divtc3.c | 2 | ||||
-rw-r--r-- | libgcc/config/i386/64/_multc3.c | 2 | ||||
-rw-r--r-- | libgcc/config/i386/64/_powitf2.c | 2 | ||||
-rw-r--r-- | libgcc/config/i386/64/eqtf2.c | 2 | ||||
-rw-r--r-- | libgcc/config/i386/64/getf2.c | 2 | ||||
-rw-r--r-- | libgcc/config/i386/64/letf2.c | 2 | ||||
-rw-r--r-- | libgcc/config/i386/64/sfp-machine.h | 13 |
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))); |