summaryrefslogtreecommitdiff
path: root/package/valgrind
diff options
context:
space:
mode:
authorVicente Olivert Riera <Vincent.Riera@imgtec.com>2015-11-30 12:25:46 +0000
committerPeter Korsgaard <peter@korsgaard.com>2015-11-30 17:08:10 +0100
commit03ac181e049e8ce29156b05cb5e830de15f1692a (patch)
tree2e211148b579540d9bc19bd436d346b4cbc80582 /package/valgrind
parent26013972ce568e55a121c21a55afce45bc0675e9 (diff)
valgrind: add a patch to fix MIPS R6 by replacing ADDI with ADDIU
The ADDI instruction has been removed for MIPS R6, so valgrind fails to build for this revision level because it uses that assembly instruction. Using ADDIU instead fixes the problem. The patch has been sent upstream: https://bugs.kde.org/show_bug.cgi?id=356112 Fixes: http://autobuild.buildroot.net/results/488/488937704b3b6bae8daed7b24da8c740b56f4d84/ Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Diffstat (limited to 'package/valgrind')
-rw-r--r--package/valgrind/0003-mips-replace-addi-with-addiu.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/package/valgrind/0003-mips-replace-addi-with-addiu.patch b/package/valgrind/0003-mips-replace-addi-with-addiu.patch
new file mode 100644
index 000000000..9168dce19
--- /dev/null
+++ b/package/valgrind/0003-mips-replace-addi-with-addiu.patch
@@ -0,0 +1,51 @@
+mips: replace addi with addiu
+
+ADDI instruction has been removed in R6 so let's use ADDIU instead.
+
+This patch has been sent upstream:
+
+ https://bugs.kde.org/show_bug.cgi?id=356112
+
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+
+Index: valgrind/coregrind/m_dispatch/dispatch-mips32-linux.S
+===================================================================
+--- valgrind/coregrind/m_dispatch/dispatch-mips32-linux.S (revision 15740)
++++ valgrind/coregrind/m_dispatch/dispatch-mips32-linux.S (working copy)
+@@ -196,7 +196,7 @@
+ addu $13, $13, $14
+
+ lw $12, 0($13) /* t3 = VG_(tt_fast)[hash] :: ULong* */
+- addi $13, $13, 4
++ addiu $13, $13, 4
+ lw $25, 0($13) /* little-endian, so comparing 1st 32bit word */
+ nop
+
+Index: valgrind/coregrind/m_libcsetjmp.c
+===================================================================
+--- valgrind/coregrind/m_libcsetjmp.c (revision 15740)
++++ valgrind/coregrind/m_libcsetjmp.c (working copy)
+@@ -594,7 +594,7 @@
+ /* Checking whether second argument is zero. */
+ " bnez $a1, 1f \n\t"
+ " nop \n\t"
+-" addi $a1, $a1, 1 \n\t" /* We must return 1 if val=0. */
++" addiu $a1, $a1, 1 \n\t" /* We must return 1 if val=0. */
+ "1: \n\t"
+ " move $v0, $a1 \n\t" /* Return value of second argument. */
+ " j $ra \n\t"
+Index: valgrind/coregrind/m_trampoline.S
+===================================================================
+--- valgrind/coregrind/m_trampoline.S (revision 15740)
++++ valgrind/coregrind/m_trampoline.S (working copy)
+@@ -1254,8 +1254,8 @@
+ //la $a0, string
+ j strlen_cond
+ strlen_loop:
+- addi $v0, $v0, 1
+- addi $a0, $a0, 1
++ addiu $v0, $v0, 1
++ addiu $a0, $a0, 1
+ strlen_cond:
+ lbu $t0, ($a0)
+ bne $t0, $zero, strlen_loop