summaryrefslogtreecommitdiffstats
path: root/arch/mips/include/asm/fpregdef.h
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-11-10 12:24:26 +0900
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-11-10 12:24:26 +0900
commitcc03f9bc2650634ce5ec0233f5ee12e6b67f74c6 (patch)
treefc9726003631b9ed9da7fc73db53ed47317198cf /arch/mips/include/asm/fpregdef.h
parentd48037f9169f653d1124eb75157293d875e7e57f (diff)
parent206c5f60a3d902bc4b56dab2de3e88de5eb06108 (diff)
downloadop-kernel-dev-cc03f9bc2650634ce5ec0233f5ee12e6b67f74c6.zip
op-kernel-dev-cc03f9bc2650634ce5ec0233f5ee12e6b67f74c6.tar.gz
Merge 3.18-rc4 into staging-next
We want the staging fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/mips/include/asm/fpregdef.h')
-rw-r--r--arch/mips/include/asm/fpregdef.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/mips/include/asm/fpregdef.h b/arch/mips/include/asm/fpregdef.h
index 429481f..f184ba0 100644
--- a/arch/mips/include/asm/fpregdef.h
+++ b/arch/mips/include/asm/fpregdef.h
@@ -14,6 +14,20 @@
#include <asm/sgidefs.h>
+/*
+ * starting with binutils 2.24.51.20140729, MIPS binutils warn about mixing
+ * hardfloat and softfloat object files. The kernel build uses soft-float by
+ * default, so we also need to pass -msoft-float along to GAS if it supports it.
+ * But this in turn causes assembler errors in files which access hardfloat
+ * registers. We detect if GAS supports "-msoft-float" in the Makefile and
+ * explicitly put ".set hardfloat" where floating point registers are touched.
+ */
+#ifdef GAS_HAS_SET_HARDFLOAT
+#define SET_HARDFLOAT .set hardfloat
+#else
+#define SET_HARDFLOAT
+#endif
+
#if _MIPS_SIM == _MIPS_SIM_ABI32
/*
OpenPOWER on IntegriCloud