target/5736: bootstraping CVS HEAD on powerpc fails in checked build
Graham Stott
grahams@redhat.com
Wed Feb 20 09:56:00 GMT 2002
The following reply was made to PR target/5736; it has been noted by GNATS.
From: Graham Stott <grahams@redhat.com>
To: pthomas@suse.de
Cc: gcc-gnats@gcc.gnu.org, aj@suse.de, dje@watson.ibm.com
Subject: Re: target/5736: bootstraping CVS HEAD on powerpc fails in checked build
Date: Wed, 20 Feb 2002 17:33:57 +0000
All,
pthomas@suse.de wrote:
>
> >Number: 5736
> >Category: target
> >Synopsis: bootstraping CVS HEAD on powerpc fails in checked build
> >Confidential: no
> >Severity: serious
> >Priority: medium
> >Responsible: unassigned
> >State: open
> >Class: sw-bug
> >Submitter-Id: net
> >Arrival-Date: Wed Feb 20 09:16:01 PST 2002
> >Closed-Date:
> >Last-Modified:
> >Originator: pthomas@suse.de
> >Release: 3.1 20020220
> >Organization:
> >Environment:
> powerpc-suse-linux-gnu
>
> gcc configured with:
> --enable-shared --with-system-zlib --enable-threads --host=powerpc-suse-linux-gnu --target=powerpc-suse-linux-gnu --build=powerpc-suse-linux-gnu --enable-checking=misc,tree,rtl,gc,gcac
> Thread model: posix
>
> >Description:
> Bootstrapping CVS HEAD with -O2 fails when compiling libgcc2, specifically _negdi2 with
> cc1: RTL check: expected code `const_int', have `plus' in rs6000_legitimate_address, at config/rs6000/rs6000.c:2014
>
Looks to be a simple typo in LEGITIMATE_OFFSET_ADDRESS_P.
> Compiling at lower optimisation succeeds.
>
> >How-To-Repeat:
> Compile attatched _negdi2.i with:
> ./xgcc -B./ -O2 -DIN_GCC -fPIC -g1 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fPIC -mstrict-align -DL_negdi2 -c _negdi2.i
> >Fix:
>
You might want to try this patch it's completly untested. I don't have enough time or resources to test it.
Graham.
ChangeLog
* config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Fix typo.
------------------------------------------------------------------------
Index: gcc/config/rs6000/rs6000.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/rs6000.h,v
retrieving revision 1.182
diff -c -p -r1.182 rs6000.h
*** rs6000.h 2002/02/20 04:56:34 1.182
--- rs6000.h 2002/02/20 17:24:00
*************** typedef struct rs6000_args
*** 1974,1980 ****
&& GET_CODE (XEXP (X, 0)) == REG \
&& INT_REG_OK_FOR_BASE_P (XEXP (X, 0), (STRICT)) \
&& LEGITIMATE_ADDRESS_INTEGER_P (XEXP (X, 1), 0) \
! && (! ALTIVEC_VECTOR_MODE (MODE) || INTVAL (X) == 0) \
&& (((MODE) != DFmode && (MODE) != DImode) \
|| (TARGET_32BIT \
? LEGITIMATE_ADDRESS_INTEGER_P (XEXP (X, 1), 4) \
--- 1974,1981 ----
&& GET_CODE (XEXP (X, 0)) == REG \
&& INT_REG_OK_FOR_BASE_P (XEXP (X, 0), (STRICT)) \
&& LEGITIMATE_ADDRESS_INTEGER_P (XEXP (X, 1), 0) \
! && (! ALTIVEC_VECTOR_MODE (MODE) \
! || INTVAL (XEXP (X, 1)) == 0) \
&& (((MODE) != DFmode && (MODE) != DImode) \
|| (TARGET_32BIT \
? LEGITIMATE_ADDRESS_INTEGER_P (XEXP (X, 1), 4) \
------------------------------------------------------------------------
More information about the Gcc-prs
mailing list