971122 for arm-coff dies building newlib/libm: testcase attached
Robin Kirkham
Robin.Kirkham@mlb.dmt.csiro.au
Wed Nov 26 23:40:00 GMT 1997
It's possible this is not a configuration that is supposed to work--I was
just trying this out to prove a point but it backfired a little 8-(
I am not in a position to investigate it much, but I will report the problem
in case anyone is interested in or working on ARM support in egcs.
I built binutils 2.8.1 and egcs 971122 with target configuration arm-coff
(strictly, arm-1-coff) on a sun-sparc-solaris2.5.1 host. The tools and compiler
build without incident, including the gcclib and libstdc++ libraries. Then
I configured newlib 1.8.0 similarly and started building it. The compiler
failed compiling newlib/libm/math/ef_exp.c. The error was
[much deleted ...]
arm-1-gcc -g -O2 -O2 -DABORT_PROVIDED -fno-builtin
-I/opt/embedded/src/newlib-1.8.0/build-arm-1-coff/arm-1-coff/newlib/./targ-incl
ude -I/opt/embedded/src/newlib-1.8.0/newlib/./libc/include -c
../../../../../newlib/libm/math/ef_exp.c
../../../../../newlib/libm/math/ef_exp.c: In function `__ieee754_expf':
../../../../../newlib/libm/math/ef_exp.c:102: internal error--unrecognizable
insn:
(insn 621 66 77 (set (reg:SF 49)
(if_then_else:SF (eq (reg:CC 24 cc)
(const_int 0))
(reg/v:SF 31)
(const_double:SF (cc0) 0 0))) -1 (insn_list 66 (nil))
(expr_list:REG_DEAD (reg:CC 24 cc)
(expr_list:REG_DEAD (reg/v:SF 31)
(nil))))
arm-1-gcc: Internal compiler error: program cc1 got fatal signal 6
gmake[3]: *** [ef_exp.o] Error 1
gmake[3]: Leaving directory
`/opt/embedded/src/newlib-1.8.0/build-arm-1-coff/arm-1-coff/newlib/libm/math'
I've prepared a single file testcase bad.c (simply using arm-1-gcc -E) which
is attached to this mail. It causes a similar error (below). The compile
succeeds if you don't use -O.
% arm-gcc -O -c bad.c
ef_exp.c: In function `__ieee754_expf':
ef_exp.c:102: internal error--unrecognizable insn:
(insn 593 589 77 (set (reg:SF 46)
(if_then_else:SF (eq (reg:CC 24 cc)
(const_int 0))
(reg/v:SF 31)
(const_double:SF (cc0) 0 0))) -1 (insn_list 66 (nil))
(expr_list:REG_DEAD (reg:CC 24 cc)
(expr_list:REG_DEAD (reg/v:SF 31)
(nil))))
arm-1-gcc: Internal compiler error: program cc1 got fatal signal 6
%
As I say I am not in a position to investigate this, but of course I'll
any addition information if someone wants.
Thanks,
Robin Kirkham CSIRO Manufacturing Science and Technology
Project Engineer Locked Bag 9, Preston 3072, Australia
robin.kirkham@mlb.dmt.csiro.au Phone: +61 3 9662-7756 Fax: +61 3 9662-7851
More information about the Gcc
mailing list