My build on ARM has failed with the error:
/usr/bin/ld: error: ./libgcc_s.so.1.tmp uses VFP
register arguments, libgcc.a(linux-atomic.o) does not
/usr/bin/ld: failed to merge target specific data of file
libgcc.a(linux-atomic.o)
This was on the command:
/home/pi/GM2/scratch-area/build-4.7.3/./gcc/xgcc
-B/home/pi/GM2/scratch-area/build-4.7.3/./gcc/
-B/home/pi/opt/armv6l-unknown-linux-gnueabihf/bin/ ...
This has about 1800 .o arguments and about 1700 of them errored!
The Raspberry Pi has hardware floating point - the Vector Floating
Point coprocessor mentioned in the error message. As far as I can
see so does the Odroid U3, which you, Gaius, successfully built on.
Do you know why I have the VFP register errors? I also see that
yours is ARMv7l, whereas the Pi is ARMv6.
I've found a few suggestions for putting in extra gcc parameters: -mfloat-abi=softfp,
or
-mfloat-abi=hard, or -marm -mthumb-interwork. Where can I put these? Do I need to edit the
Makefile and push them into $FLAGS_FOR_TARGET?
The configure log contains a 'uname -m' of armv6l.
On the way to this point I had cases where
file items were not in the expected places:
-
/usr/include/arm-linux-gnueabihf contained the asm, bits, gnu,
sys directories. I copied them to /usr/include
- similarly, /usr/lib/arm-linux-gnueabihf/ had the 3 crt?.o
files; I linked them to ~/GM2/scratch-area/build-4.7.3/./gcc
In those cases I just re-ran make; I didn't re-configure. I was
using the tarball of 24/12014.
Regards,
John
|