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