I am working on a project where a static library is built with the ARM tool chain using the hard-float abi, and then is linked with other object files (generated with gcc). The linker is the gcc linker, and the linking stage takes place on a Raspberry pi. Currently everything works fine as long as the C code built with the ARM tool chain is fixed-point. But the gcc linker complains about undefined symbols of the form __hardfp_xxx (e.g. hardfp_pow) when the C dode built with the ARM tool chain uses floating-point. It looks like I am missing a library on the gcc side. Can anyone please point me to which library it might be? How are these __hardfp_xxx symbols handled by the gcc linker?
Thank you.
Thank you very much for your answer. Incidentally I have been using the --library_interface option over the last few days and it did indeed allow me to build my application on the Raspberry Pi. I am using aeabi_glibc_hardfp as the library interface setting. As it happens I am now hitting another problem when I run my application, related to enabling the Floating-Point Unit on the Pi. But that is another story. Your suggestion is indeed a good solution to the problem in this thread. Thank you again.