When I compile C code with my cross toolchain, the linker prints pages of warnings saying that my executable uses hard floats but my libc uses soft floats. What's the difference?
When I compile C code with my cross toolchain, the linker prints pages of warnings saying that my executable uses hard floats but my libc uses soft floats. What's the difference?
It may be the case that softfloats leave the data in the fpu alone, whilst hardfloats require the overhead of pushing the fpu registers out to cache when the process becomes active. This is why FPU is normally disabled for the kernel at compile time, don't waste cycles pushing it in and out of memory every time someone makes a kernel call.