AnsweredAssumed Answered

imx6sx / 4.9.11_0.0 BSP using soft floating point libraries with the toolchain

Question asked by Mahtab Sarwar on Jan 22, 2018

Hi community,


I'm using the yocto bsp toolchain (4.9.11_0.0) to build a userspace application that I want to run on the imx6sx, where I have a mixture of source code and propriety libraries. I don't have access to the source code of the libraries that come with this application. I can use the toolchain to build and compile fine but I discovered that the application libraries were built using soft floating point emulation, and this led to the classic "xxx uses VFP register arguments, yyy does not" errors.


So I rebuilt the source by changing the -mfloat-abi=hard compiler flag to -mfloat-abi=softfp; the toolchain didn't complain and I got the application source to build fine; but I get linker errors again, this time the other way round:

libgcc.a uses VFP register arguments, userspace_src.c doesn't.


Given that I can't change the compilation of the propriety application libraries, my question is:


is it possible to build soft fp versions of at least libgcc.a in the toolchain ? Or this there another way I should do this ? Note leaving out libgcc.a cause a whole host of unresolved symbols relation to floating point emulation.