Re: /usr/bin/ld: error: a.out uses VFP register arguments, /tmp/cceTTKgu.o does not

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 23/06/2021 07:06, Erik Bryer via Gcc-help wrote:
Hi,

I'm trying to build gcc-5.5.0, but it fails at the configure step for
intl with the error message:
/usr/bin/ld: error: a.out uses VFP register arguments, /tmp/cceTTKgu.o does not
Here is what I've done...


GCC-5 is very old now and no-longer supported by the GCC developers.

# lscpu
Architecture:          armv7l
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Core(s) per socket:    4
Socket(s):             1
Model:                 3
Model name:            ARMv7 Processor rev 3 (v7l)
CPU max MHz:           1500.0000
CPU min MHz:           600.0000
BogoMIPS:              270.00
Flags:                 half thumb fastmult vfp edsp neon vfpv3 tls
vfpv4 idiva idivt vfpd32 lpae evtstrm crc32

# gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)

# cd ; cd gcc5build ; rm -rf *

# export CFLAGS='-mfloat-abi=hard'
# export CXXFLAGS='-mfloat-abi=hard'

This isn't going to work, as there are assembler files which will likely not see these flags.

Instead, use the --with-float=[soft|softfp|hard] option when configuring the compiler.

R.


# $PWD/../gcc-5.5.0/configure --prefix=/opt/gcc5 --enable-languages=c,c++

# make
[...]
checking for C compiler default output file name...
configure: error: in `/root/gcc5build/intl':
configure: error: C compiler cannot create executables
See `config.log' for more details.
make[2]: *** [configure-stage2-intl] Error 77
make[2]: Leaving directory `/root/gcc5build'
make[1]: *** [stage2-bubble] Error 2
make[1]: Leaving directory `/root/gcc5build'
make: *** [all] Error 2

# cat ./intl/config.log
[...]
configure:3000:  /root/gcc5build/./prev-gcc/xgcc
-B/root/gcc5build/./prev-gcc/
-B/opt/gcc5/armv7l-unknown-linux-gnueabihf/bin/
-B/opt/gcc5/armv7l-unknown-linux-gnueabihf/bin/ -B/opt/gcc5/armv7
l-unknown-linux-gnueabihf/lib/ -isystem
/opt/gcc5/armv7l-unknown-linux-gnueabihf/include -isystem
/opt/gcc5/armv7l-unknown-linux-gnueabihf/sys-include    -g -O2
-gtoggle  -static-libstdc++ -static-libgcc  conftest.c  >&5
/usr/bin/ld: error: a.out uses VFP register arguments, /tmp/cc8LUsFC.o does not
/usr/bin/ld: failed to merge target specific data of file /tmp/cc8LUsFC.o
collect2: error: ld returned 1 exit status
configure:3004: $? = 1
configure:3041: result:
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| /* end confdefs.h.  */
|
| int
| main ()
| {
|
|   ;
|   return 0;
| }
configure:3047: error: in `/root/gcc5build/intl':
configure:3051: error: C compiler cannot create executables
See `config.log' for more details.

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_env_CC_set=set
ac_cv_env_CC_value=' /root/gcc5build/./prev-gcc/xgcc
-B/root/gcc5build/./prev-gcc/
-B/opt/gcc5/armv7l-unknown-linux-gnueabihf/bin/
-B/opt/gcc5/armv7l-unknown-linux-gnueabihf/bin/
-B/opt/gcc5/armv7l-unknown-linux-gnueabihf/lib/ -isystem
/opt/gcc5/armv7l-unknown-linux-gnueabihf/include -isystem
/opt/gcc5/armv7l-unknown-linux-gnueabihf/sys-include   '
ac_cv_env_CFLAGS_set=set
ac_cv_env_CFLAGS_value='-g -O2 -gtoggle'
[...]

I googled and rechecked the install instructions and the FAQ. I have a
suspicion this has something to do with my using - mfloat-abi=hard. I
wonder if the fact that on the last line above av_cv_env_CFLAGS_value
does not include - mfloat-abi=hard means anything. I also tried the
compiler flags '-mfloat-abi=hard -march=armv7-a -mfpu=neon', but the
same error resulted.

Thanks,
Erik




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux