aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/binutils-loongson-workaround.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/binutils-loongson-workaround.patch')
-rw-r--r--gnu/packages/patches/binutils-loongson-workaround.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/gnu/packages/patches/binutils-loongson-workaround.patch b/gnu/packages/patches/binutils-loongson-workaround.patch
new file mode 100644
index 0000000000..f43572a53d
--- /dev/null
+++ b/gnu/packages/patches/binutils-loongson-workaround.patch
@@ -0,0 +1,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
+@@ -910,10 +910,10 @@
+ };
+
+ /* ...likewise -mfix-loongson2f-jump. */
+-static bfd_boolean mips_fix_loongson2f_jump;
++static bfd_boolean mips_fix_loongson2f_jump = FALSE;
+
+ /* ...likewise -mfix-loongson2f-nop. */
+-static bfd_boolean mips_fix_loongson2f_nop;
++static bfd_boolean mips_fix_loongson2f_nop = TRUE;
+
+ /* True if -mfix-loongson2f-nop or -mfix-loongson2f-jump passed. */
+ static bfd_boolean 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
+@@ -91,6 +91,12 @@
+
+ # 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 \