Comment 3 for bug 1304267

Revision history for this message
changyp (changyp6) wrote :

I consider this behavior as a bug is based on the following facts.

When I try to build a multi-lib Linaro arm linux gcc, I always get error messages like this "libgcc_s.so.tmp uses VFP registers while xxxx.o does not", when building for armv6 soft float libgcc_s.so, even if I added -mfloat-abi=soft and -msoft-float and configured eglibc with option --without-fp

After some investigation, I found crti.o crtn.o and crt1.o are always tagged with Tag_FP_arch: VFPv3.
But when I build .c and .cpp files with -mfloat-abi=soft, this tag goes away.

So I did a test with Linaro-arm-linux-gcc 2014.03, and I found that when multi-lib gcc build .S files, the VFP tag is always added, but when building .c or .cpp files, gcc respect option -mfloat-abi=soft and remove Tag_FP_arch: XXXX