
Dear Wolfgang Denk,
In message 1324564181-8949-1-git-send-email-wd@denx.de you 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
This patch silences build warnings for the following boards: aev BC3450 charon, cm5200 fo300 korat korat_perm lwmon5 MiniFAP PMC440 sacsng sequoia sequoia_nand sequoia_ramboot TB5200 TB5200_B TQM5200 TQM5200_B TQM5200_B_HIGHBOOT TQM5200S TQM5200S_HIGHBOOT TQM5200_STK100
post/lib_powerpc/fpu/Makefile | 17 ++++- post/lib_powerpc/fpu/darwin-ldouble.c | 141 +++++++++++++++++++++++++++++++++ 2 files changed, 156 insertions(+), 2 deletions(-) create mode 100644 post/lib_powerpc/fpu/darwin-ldouble.c
Applied, thanks.
Best regards,
Wolfgang Denk