
Hi Wolfgang,
On Thu, 22 Dec 2011 15:29:41 +0100 Wolfgang Denk wd@denx.de wrote:
It appears that with recent versions of GCC the explicit "-mhard-float" command line option takes precedence over the ``asm(".gnu_attribute 4, 2");'' in the source file, so this no longer helps to avoid the warnings we get when linking code that uses FP instructions with other code that was built using soft-float.
We can remove the ".gnu_attribute" (which appears to carry no other information, at least so far) from the object files, but we also have to make sure we don't pull in the __gcc_qsub() and __gcc_qmul() functions from the standard libgcc, as these would again "infect" our linking. We copy this code from: gcc-4.2.2/gcc/config/rs6000/darwin-ldouble.c This old version was chosen because it was still available under a compatible license (GCC v2+). The file was stripped down to the needed parts, and reformatted so it passes checkpatch with only one warning (do not add new typedefs).
Signed-off-by: Wolfgang Denk wd@denx.de Cc: Kumar Gala galak@kernel.crashing.org Cc: Stefan Roese sr@denx.de Cc: Andy Fleming afleming@gmail.com Cc: Kim Phillips kim.phillips@freescale.com
Tested on TQM5200.
Tested-by: Anatolij Gustschin agust@denx.de
Anatolij