http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46508
           Summary: [4.6 regression] "Add ARM VFP ABI support to libffi"
                    broke build for armv5tel-linux-gnueabi with
                    binutils-2.20.1
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libffi
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: mi...@it.uu.se


Attempting to build gcc-4.6-20101113 with --enable-languages=java (which
enables libffi) for armv5tel-linux-gnueabi with binutils-2.20.1 fails due to
the assembler complaining about VFP instructions in libffi's arm sysv.S:

> /tmp/gcc-4.6-20101113/configure --target=armv5tel-unknown-linux-gnueabi 
> --with-arch=armv5te --prefix=/home/mikpe/pkgs/linux-x86/cross-armv5tel 
> --disable-nls --disable-shared --disable-libmudflap --disable-multilib 
> --enable-threads=posix --enable-checking=release --enable-languages=c,c++,java
> make
...
libtool: compile:  /tmp/objdir/./gcc/xgcc -B/tmp/objdir/./gcc/
-B/home/mikpe/pkgs/linux-x86/cross-armv5tel/armv5tel-unknown-linux-gnueabi/bin/
-B/home/mikpe/pkgs/linux-x86/cross-armv5tel/armv5tel-unknown-linux-gnueabi/lib/
-isystem
/home/mikpe/pkgs/linux-x86/cross-armv5tel/armv5tel-unknown-linux-gnueabi/include
-isystem
/home/mikpe/pkgs/linux-x86/cross-armv5tel/armv5tel-unknown-linux-gnueabi/sys-include
-DHAVE_CONFIG_H -I. -I/tmp/gcc-4.6-20101113/libffi -I.
-I/tmp/gcc-4.6-20101113/libffi/include -Iinclude
-I/tmp/gcc-4.6-20101113/libffi/src -I. -I/tmp/gcc-4.6-20101113/libffi/include
-Iinclude -I/tmp/gcc-4.6-20101113/libffi/src -g -O2 -MT src/arm/sysv.lo -MD -MP
-MF src/arm/.deps/sysv.Tpo -c /tmp/gcc-4.6-20101113/libffi/src/arm/sysv.S -o
src/arm/sysv.o
/tmp/gcc-4.6-20101113/libffi/src/arm/sysv.S: Assembler messages:
/tmp/gcc-4.6-20101113/libffi/src/arm/sysv.S:266: Error: selected processor does
not support `flddle d0,[ip]'
/tmp/gcc-4.6-20101113/libffi/src/arm/sysv.S:267: Error: selected processor does
not support `fldmiadgt ip,{d0-d7}'
/tmp/gcc-4.6-20101113/libffi/src/arm/sysv.S:307: Error: selected processor does
not support `fstseq s0,[r2]'
/tmp/gcc-4.6-20101113/libffi/src/arm/sysv.S:311: Error: selected processor does
not support `fstdeq d0,[r2]'
/tmp/gcc-4.6-20101113/libffi/src/arm/sysv.S:316: Error: selected processor does
not support `fstmiadeq r2,{d0-d3}'
/tmp/gcc-4.6-20101113/libffi/src/arm/sysv.S:400: Error: selected processor does
not support `fstmfdd sp!,{d0-d7}'
/tmp/gcc-4.6-20101113/libffi/src/arm/sysv.S:438: Error: selected processor does
not support `flds s0,[sp]'
/tmp/gcc-4.6-20101113/libffi/src/arm/sysv.S:441: Error: selected processor does
not support `fldd d0,[sp]'
/tmp/gcc-4.6-20101113/libffi/src/arm/sysv.S:450: Error: selected processor does
not support `fldmiad sp,{d0-d1}'
/tmp/gcc-4.6-20101113/libffi/src/arm/sysv.S:453: Error: selected processor does
not support `fldmiad sp,{d0-d3}'
make[4]: *** [src/arm/sysv.lo] Error 1
make[4]: Leaving directory `/tmp/objdir/armv5tel-unknown-linux-gnueabi/libffi'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/tmp/objdir/armv5tel-unknown-linux-gnueabi/libffi'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/tmp/objdir/armv5tel-unknown-linux-gnueabi/libffi'
make[1]: *** [all-target-libffi] Error 2
make[1]: Leaving directory `/tmp/objdir'
make: *** [all] Error 2

Notes:
1. If binutils is downgraded to 2.19.1 then gas no longer complains.
2. gcc-4.6-20101023 built Ok with the same configuration (a number of
bootstrap-unbreaking patches were applied though). This error is a regression
from r166032, "Add ARM VFP ABI support to libffi":
http://gcc.gnu.org/ml/gcc-cvs/2010-10/msg01219.html
http://gcc.gnu.org/ml/gcc-patches/2010-10/msg02419.html

Reply via email to