This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH mips] Do not compile mips16.S in soft-float mode

This libgcc patch is the second of two patches needed to build GCC soft-float
multilibs when using the latest binutils.  It skips assembling any of the code
in mips16.S when in soft-float mode because the code is not used when in
soft-float mode and because doing so generates errors during assembly (due to
using floating point registers in soft-float mode).

Tested with the mips-mti-linux-gnu toolchain.

Steve Ellcey

2014-08-08  Steve Ellcey  <>

	* config/mips/mips16.S:  Skip when __mips_soft_float is defined.

diff --git a/libgcc/config/mips/mips16.S b/libgcc/config/mips/mips16.S
index 6a43a98..150a23a 100644
--- a/libgcc/config/mips/mips16.S
+++ b/libgcc/config/mips/mips16.S
@@ -21,7 +21,7 @@ a copy of the GCC Runtime Library Exception along with this program;
 see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 <>.  */
-#ifdef __mips_micromips
+#if defined(__mips_micromips) || defined(__mips_soft_float)
   /* DO NOTHING */
@@ -749,4 +749,4 @@ CALL_STUB_RET (__mips16_call_stub_dc_10, 10, DC)
 #endif /* !__mips_single_float */
-#endif /* __mips_micromips */
+#endif /* defined(__mips_micromips) || defined(__mips_soft_float) */

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]