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
This commit is contained in:
Kai Tietz 2009-06-22 16:04:19 +02:00
parent 3f53cdbe67
commit f0375e7861
10 changed files with 32 additions and 5 deletions

View 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*)

View 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. */

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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)));