From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20568 invoked by alias); 27 Apr 2004 19:02:59 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 20552 invoked from network); 27 Apr 2004 19:02:58 -0000 Received: from unknown (HELO mail.cs.tu-berlin.de) (130.149.17.13) by sources.redhat.com with SMTP; 27 Apr 2004 19:02:58 -0000 Received: from bolero.cs.tu-berlin.de (doko@bolero.cs.tu-berlin.de [130.149.19.1]) by mail.cs.tu-berlin.de (8.9.3p2/8.9.3) with ESMTP id UAA08036; Tue, 27 Apr 2004 20:59:57 +0200 (MET DST) Received: (from doko@localhost) by bolero.cs.tu-berlin.de (8.12.10+Sun/8.12.8/Submit) id i3RIxu6n018190; Tue, 27 Apr 2004 20:59:56 +0200 (MEST) From: Matthias Klose MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <16526.44460.588062.48796@gargle.gargle.HOWL> Date: Tue, 27 Apr 2004 22:07:00 -0000 To: Gabriel Dos Reis Cc: gcc@gcc.gnu.org Subject: Re: GCC-3.3.4 status report In-Reply-To: References: X-SW-Source: 2004-04/txt/msg01282.txt.bz2 Gabriel Dos Reis writes: > > Hi, > > There are 25 open PRs targetted for 3.3.4. Of course, I don't > expect all of them to be fixed before the release. The most serious > PRs are the regressions: [...] Two more: - the branch currently doesn't bootstrap on sparc-linux. bootstrap with the patch attached succeeded. It's fixed in 3.4 and 3.3-rhl-branch. Patch by Jakub. - PR14235 is a regression against gcc-2.95 at least on m68k-linux. bootstrapped on *-linux, found in the 3.3-rhl-branch as well. Checked in by Jakub on the 3.3-rhl-branch. Both patches sent offline to you as well. Ok to checkin? Matthias 2004-04-01 Jakub Jelinek * config/sparc/sparc.h (FLOATDITF2_LIBCALL, FIX_TRUNCTFDI2_LIBCALL, FIXUNS_TRUNCTFDI2_LIBCALL): Define. (INIT_TARGET_OPTABS): If DITF_CONVERSION_LIBFUNCS, initialize DI <-> TF libfuncs for TARGET_ARCH32. (DITF_CONVERSION_LIBFUNCS): Define to 0. * config/sparc/linux.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1. * config/sparc/linux64.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1. * config.gcc (sparc-*-linux*): Revert 2004-03-25 change. * config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Likewise. * config/sparc/t-linux: Removed. --- gcc/config/sparc/t-linux64.jj 2004-03-25 23:34:49.000000000 +0100 +++ gcc/config/sparc/t-linux64 2004-04-01 18:32:10.222310746 +0200 @@ -17,7 +17,3 @@ SHLIB_MAPFILES = $(srcdir)/libgcc-std.ve CRTSTUFF_T_CFLAGS = `if test x$$($(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) \ -print-multi-os-directory) \ = x../lib64; then echo -mcmodel=medany; fi` - -# Compile libgcc2.a with pic and for -m32 also IEEE quad long double. -# -m64 implies -mlong-double-128, so this is no change for 64-bit. -TARGET_LIBGCC2_CFLAGS = -fPIC -mlong-double-128 --- gcc/config/sparc/sparc.h.jj 2004-03-08 14:24:36.000000000 +0100 +++ gcc/config/sparc/sparc.h 2004-04-01 18:31:20.341250081 +0200 @@ -2586,10 +2586,18 @@ do { #define LTTF2_LIBCALL "_Q_flt" #define LETF2_LIBCALL "_Q_fle" +/* These functions were added in SCD 2.3, so not necessarily all targets + support them. */ +#define FLOATDITF2_LIBCALL "_Q_lltoq" +#define FIX_TRUNCTFDI2_LIBCALL "_Q_qtoll" +#define FIXUNS_TRUNCTFDI2_LIBCALL "_Q_qtoull" + +#define DITF_CONVERSION_LIBFUNCS 0 + /* Assume by default that the _Qp_* 64-bit libcalls are implemented such that the inputs are fully consumed before the output memory is clobbered. */ -#define TARGET_BUGGY_QP_LIB 0 +#define TARGET_BUGGY_QP_LIB 0 /* We can define the TFmode sqrt optab only if TARGET_FPU. This is because with soft-float, the SFmode and DFmode sqrt instructions will be absent, @@ -2623,6 +2631,13 @@ do { fixtfsi_libfunc = init_one_libfunc (FIX_TRUNCTFSI2_LIBCALL); \ fixunstfsi_libfunc \ = init_one_libfunc (FIXUNS_TRUNCTFSI2_LIBCALL); \ + if (DITF_CONVERSION_LIBFUNCS) \ + { \ + floatditf_libfunc = init_one_libfunc (FLOATDITF2_LIBCALL); \ + fixtfdi_libfunc = init_one_libfunc (FIX_TRUNCTFDI2_LIBCALL);\ + fixunstfdi_libfunc \ + = init_one_libfunc (FIXUNS_TRUNCTFDI2_LIBCALL); \ + } \ if (TARGET_FPU) \ sqrt_optab->handlers[(int) TFmode].libfunc \ = init_one_libfunc ("_Q_sqrt"); \ --- gcc/config/sparc/linux.h.jj 2003-12-02 17:52:35.000000000 +0100 +++ gcc/config/sparc/linux.h 2004-04-01 18:31:20.358247035 +0200 @@ -245,6 +245,9 @@ do { \ #define LIBGCC2_LONG_DOUBLE_TYPE_SIZE 64 #endif +#undef DITF_CONVERSION_LIBFUNCS +#define DITF_CONVERSION_LIBFUNCS 1 + #if !defined(USE_GNULIBC_1) && defined(HAVE_LD_EH_FRAME_HDR) #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " #endif --- gcc/config/sparc/t-linux.jj 2004-03-25 23:34:49.000000000 +0100 +++ gcc/config/sparc/t-linux 2004-04-01 18:32:01.394892734 +0200 @@ -1,2 +0,0 @@ -# Compile libgcc2.a with pic and IEEE quad long double. -TARGET_LIBGCC2_CFLAGS = -fPIC -mlong-double-128 --- gcc/config/sparc/linux64.h.jj 2003-12-02 17:52:35.000000000 +0100 +++ gcc/config/sparc/linux64.h 2004-04-01 18:31:20.359246856 +0200 @@ -308,6 +308,9 @@ do { \ /* #define DWARF_OFFSET_SIZE PTR_SIZE */ +#undef DITF_CONVERSION_LIBFUNCS +#define DITF_CONVERSION_LIBFUNCS 1 + #if defined(HAVE_LD_EH_FRAME_HDR) #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " #endif --- gcc/config.gcc.jj 2004-04-01 18:14:40.000000000 +0200 +++ gcc/config.gcc 2004-04-01 18:32:29.049936590 +0200 @@ -2439,7 +2439,7 @@ sparc-*-linux*libc1*) # SPARC's running ;; sparc-*-linux*) # SPARC's running GNU/Linux, libc6 tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux.h" - tmake_file="t-slibgcc-elf-ver t-linux sparc/t-linux sparc/t-crtfm" + tmake_file="t-slibgcc-elf-ver t-linux sparc/t-crtfm" ;; sparc-*-lynxos*) if test x$gas = xyes Jakub