summary refs log tree commit diff
path: root/gnu/packages/patches/binutils-loongson-workaround.patch
blob: f05d6c3c96329a914ded3150b4600a4779eda887 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Enable the workaround for the Loongson 2F bug by default.

Patch by Mark H Weaver <mhw@netris.org>.

--- binutils/gas/config/tc-mips.c.orig	2012-09-04 10:21:03.000000000 -0400
+++ binutils/gas/config/tc-mips.c	2013-10-06 02:23:21.651983768 -0400
@@ -934,10 +934,10 @@ enum fix_vr4120_class
 };
 
 /* ...likewise -mfix-loongson2f-jump.  */
-static bool mips_fix_loongson2f_jump;
+static bool mips_fix_loongson2f_jump = FALSE;
 
 /* ...likewise -mfix-loongson2f-nop.  */
-static bool mips_fix_loongson2f_nop;
+static bool mips_fix_loongson2f_nop = TRUE;
 
 /* True if -mfix-loongson2f-nop or -mfix-loongson2f-jump passed.  */
 static bool mips_fix_loongson2f;
--- binutils/gas/testsuite/gas/mips/mips.exp.orig	2012-09-04 10:17:13.000000000 -0400
+++ binutils/gas/testsuite/gas/mips/mips.exp	2013-10-06 02:23:21.663983768 -0400
@@ -110,6 +110,12 @@ proc mips_arch_init {} {
 
     # Catch because the variable won't be set the first time through.
     catch {unset mips_arches}
+
+    # Disable the loongson2f nop fix by default, because most of the
+    # existing test cases for mips will fail otherwise.
+    global ASFLAGS
+    set old_ASFLAGS "$ASFLAGS"
+    set ASFLAGS "$ASFLAGS -mno-fix-loongson2f-nop"
 }
 
 # mips_arch_create ARCH GPRSIZE EXTENDS PROPS AS_FLAGS OBJDUMP_FLAGS \