aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--toolchain/gcc/patches/4.2.4/901-fix_avr32_breakage.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/toolchain/gcc/patches/4.2.4/901-fix_avr32_breakage.patch b/toolchain/gcc/patches/4.2.4/901-fix_avr32_breakage.patch
new file mode 100644
index 0000000000..f12169eb9c
--- /dev/null
+++ b/toolchain/gcc/patches/4.2.4/901-fix_avr32_breakage.patch
@@ -0,0 +1,19 @@
+--- a/gcc/config/avr32/lib1funcs.S
++++ b/gcc/config/avr32/lib1funcs.S
+@@ -1,6 +1,6 @@
+ /* Macro for moving immediate value to register. */
+ .macro mov_imm reg, imm
+-.if (((\imm & 0xfffff) == \imm) || ((\imm | 0xfff00000) == \imm))
++.if ((\imm & 0xfffff) == \imm)
+ mov \reg, \imm
+ #if __AVR32_UC__ >= 2
+ .elseif ((\imm & 0xffff) == 0)
+@@ -547,7 +547,7 @@
+ #endif
+
+ __avr32_f64_mul_res_inf: /* Return INF. */
+- mov r11, 0xfff00000
++ mov_imm r11, 0xfff00000
+ bld lr, 31
+ bst r11, 31
+ mov r10, 0