bootstrap/6172: [fr30-elf] does not build

Joel Sherrill joel.sherrill@OARcorp.com
Wed Dec 11 16:09:00 GMT 2002


I think this got it further.  Now it dies here:

./targ-include -I../../../../../gcc-3.2.1/newlib/libc/../libc/include
-fno-builtin      -g -Os -c
../../../../../gcc-3.2.1/newlib/libc/stdlib/strtod.c
../../../../../gcc-3.2.1/newlib/libc/stdlib/strtod.c: In function
`_strtod_r':
../../../../../gcc-3.2.1/newlib/libc/stdlib/strtod.c:712: unrecognizable
insn:
(insn 3500 3499 1270 (set:SI (subreg:SI (reg/v:DI 62) 4)
        (sign_extend:SI (subreg:QI (subreg:SI (reg/v:DI 62) 4) 0))) -1
(nil)
    (nil))
../../../../../gcc-3.2.1/newlib/libc/stdlib/strtod.c:712: Internal
compiler error in extract_insn, at recog.c:2148

Do you want me to close this PR and open another or continue?

Nick Clifton wrote:
> 
> Hi Joel,
> 
> > Synopsis: [fr30-elf] does not build
> >
> > State-Changed-From-To: open->feedback
> > State-Changed-By: joel
> > State-Changed-When: Thu Dec  5 07:23:15 2002
> > State-Changed-Why:
> >     still applies to 3.2.1
> 
> The patch below fixes this problem.
> 
> Cheers
>         Nick
> 
> 2002-12-05  Nick Clifton  <nickc@redhat.com>
> 
>         * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Check for frame
>         pointer and arg pointer by examining the register number.
> 
> Index: gcc/config/fr30/fr30.h
> ===================================================================
> RCS file: /cvs/gcc/gcc/gcc/config/fr30/fr30.h,v
> retrieving revision 1.28
> diff -c -3 -p -w -r1.28 fr30.h
> *** gcc/config/fr30/fr30.h      20 Feb 2002 18:31:17 -0000      1.28
> --- gcc/config/fr30/fr30.h      5 Dec 2002 18:15:50 -0000
> *************** do                                                                              \
> *** 1085,1092 ****
>         goto LABEL;                                                     \
>         if (GET_CODE (X) == PLUS                                                \
>           && ((MODE) == SImode || (MODE) == SFmode)                     \
> !         && (XEXP (X, 0) == frame_pointer_rtx                          \
> !             || XEXP(X,0) == arg_pointer_rtx)                          \
>           && GET_CODE (XEXP (X, 1)) == CONST_INT                        \
>           && IN_RANGE (INTVAL (XEXP (X, 1)), -(1 << 9), (1 <<  9) - 4)) \
>           goto LABEL;                                                   \
> --- 1085,1093 ----
>         goto LABEL;                                                     \
>         if (GET_CODE (X) == PLUS                                                \
>           && ((MODE) == SImode || (MODE) == SFmode)                     \
> !         && GET_CODE (XEXP (X, 0)) == REG                              \
> !           && (REGNO (XEXP (X, 0)) == FRAME_POINTER_REGNUM             \
> !            || REGNO (XEXP (X, 0)) == ARG_POINTER_REGNUM)              \
>           && GET_CODE (XEXP (X, 1)) == CONST_INT                        \
>           && IN_RANGE (INTVAL (XEXP (X, 1)), -(1 << 9), (1 <<  9) - 4)) \
>           goto LABEL;                                                   \

-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel@OARcorp.com                 On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available                (256) 722-9985



More information about the Gcc-bugs mailing list