I have segfault for the following c code: extern double floor (double);
long foo (float f) { return (long) floor (f); } Command line: arm-elf-gcc -c -O1 1.c Output message: 1.c: In function 'foo': 1.c:5: internal compiler error: in expand_builtin_int_roundingfn, at builtins.c:2225 ... The environment was configured with: binutils-2.14/configure --target=arm-elf gcc/configure --target=arm-elf --enable-language=c newlib-1.12.0/configure --target/arm-elf I have found the same problem for {i386, m68k, mips, ppc}-elf. The bug appeared after the following patch: http://gcc.gnu.org/ml/gcc-cvs/2005-04/msg00503.html -- Summary: Converting floor into lfloor built-in function Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: loki at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org,uros at gcc dot gnu dot org GCC target triplet: arm-elf i386-elf m68k-elf mips-elf ppc-elf http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21282