From baf359954fe38b6c79f821ef6de0d2099b7d5ca2 Mon Sep 17 00:00:00 2001 From: uros Date: Fri, 15 Jun 2007 07:01:31 +0000 Subject: * libgcc2.c (CEXT): When compiling L_multc3 and L_divtc3, define to "l" if LIBGCC_LONG_DOUBLE_SIZE == 128, otherwise define to LIBGCC2_TF_CEXT. * config/i386/linux64.h (LIBGCC2_HAS_TF_MODE): New define. (LIBGCC_TF_CEXT): Ditto. (TF_SIZE): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125737 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 15 ++++++++++++--- gcc/config/i386/linux64.h | 9 ++++++++- gcc/libgcc2.c | 8 ++++++-- 3 files changed, 26 insertions(+), 6 deletions(-) (limited to 'gcc') diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 14f50febb76..63ebfa087b1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,8 +1,17 @@ +2007-06-15 Uros Bizjak + + * libgcc2.c (CEXT): When compiling L_multc3 and L_divtc3, + define to "l" if LIBGCC_LONG_DOUBLE_SIZE == 128, + otherwise define to LIBGCC2_TF_CEXT. + * config/i386/linux64.h (LIBGCC2_HAS_TF_MODE): New define. + (LIBGCC_TF_CEXT): Ditto. + (TF_SIZE): Ditto. + 2007-06-14 Seongbae Park PR rtl-optimization/32339 - * df-scan.c (df_uses_record): Don't modify flags but just add to it for - df_ref_record. + * df-scan.c (df_uses_record): Don't modify flags but just add to + it for df_ref_record. 2007-06-14 Andrew Pinski @@ -20,7 +29,7 @@ 2007-06-14 Uros Bizjak PR target/32268 - * config/i386/sfp-machine.c (CMPtype): New define. + * config/i386/sfp-machine.h (CMPtype): New define. (mach stubs): Use CMPtype instead of int as a return type. 2007-06-14 Uros Bizjak diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h index c6a7c88d883..8d68269ad89 100644 --- a/gcc/config/i386/linux64.h +++ b/gcc/config/i386/linux64.h @@ -1,5 +1,6 @@ /* Definitions for AMD x86-64 running Linux-based GNU systems with ELF format. - Copyright (C) 2001, 2002, 2004, 2005, 2006 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2004, 2005, 2006, 2007 + Free Software Foundation, Inc. Contributed by Jan Hubicka , based on linux.h. This file is part of GCC. @@ -89,6 +90,12 @@ Boston, MA 02110-1301, USA. */ #define MULTILIB_DEFAULTS { "m32" } #endif +/* Put all *tf routines in libgcc. */ +#undef LIBGCC2_HAS_TF_MODE +#define LIBGCC2_HAS_TF_MODE TARGET_64BIT +#define LIBGCC2_TF_CEXT q +#define TF_SIZE 113 + #undef NEED_INDICATE_EXEC_STACK #define NEED_INDICATE_EXEC_STACK 1 diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c index a026fff4a87..dd26a6e5ca0 100644 --- a/gcc/libgcc2.c +++ b/gcc/libgcc2.c @@ -1,7 +1,7 @@ /* More subroutines needed by GCC output code on some machines. */ /* Compile this one with gcc. */ /* Copyright (C) 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. + 2000, 2001, 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc. This file is part of GCC. @@ -1780,7 +1780,11 @@ NAME (TYPE x, int m) # define MTYPE TFtype # define CTYPE TCtype # define MODE tc -# define CEXT l +# if LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 128 +# define CEXT l +# else +# define CEXT LIBGCC2_TF_CEXT +# endif # define NOTRUNC 1 #else # error -- cgit v1.2.1