Bug#475402: qt4-x11 FTBFS on mips and mipsel
Package: qt4-x11
Version: 4.4.0~rc1-2
Tags: patch
The latest version of qt4-x11 fails to build on mips and mipsel because
it introduced two new atomic operations without the necessary assembler
.set directives. The attached file updates the mips patch accordingly.
Thiemo
author: Thiemo Seufer <ths@debian.org>
Fix compilation for Linux MIPS-I code.
Index: qt4-x11-4.4.0~rc1/src/corelib/arch/mips/qatomic32.s
===================================================================
--- qt4-x11-4.4.0~rc1.orig/src/corelib/arch/mips/qatomic32.s 2008-04-04 09:41:05.000000000 +0100
+++ qt4-x11-4.4.0~rc1/src/corelib/arch/mips/qatomic32.s 2008-04-10 15:27:59.000000000 +0100
@@ -6,10 +6,12 @@
.globl q_atomic_test_and_set_int
.ent q_atomic_test_and_set_int
q_atomic_test_and_set_int:
+ .set mips2
1: ll $8,0($4)
bne $8,$5,2f
move $2,$6
sc $2,0($4)
+ .set mips0
beqz $2,1b
nop
jr $31
@@ -21,6 +23,7 @@
.globl q_atomic_test_and_set_acquire_int
.ent q_atomic_test_and_set_acquire_int
q_atomic_test_and_set_acquire_int:
+ .set mips2
1: ll $8,0($4)
bne $8,$5,2f
move $2,$6
@@ -30,6 +33,7 @@
jr $31
nop
2: sync
+ .set mips0
jr $31
move $2,$0
.end q_atomic_test_and_set_acquire_int
@@ -37,11 +41,13 @@
.globl q_atomic_test_and_set_release_int
.ent q_atomic_test_and_set_release_int
q_atomic_test_and_set_release_int:
+ .set mips2
sync
1: ll $8,0($4)
bne $8,$5,2f
move $2,$6
sc $2,0($4)
+ .set mips0
beqz $2,1b
nop
jr $31
@@ -53,10 +59,12 @@
.globl q_atomic_test_and_set_ptr
.ent q_atomic_test_and_set_ptr
q_atomic_test_and_set_ptr:
+ .set mips2
1: ll $8,0($4)
bne $8,$5,2f
move $2,$6
sc $2,0($4)
+ .set mips0
beqz $2,1b
nop
jr $31
@@ -68,6 +76,7 @@
.globl q_atomic_test_and_set_acquire_ptr
.ent q_atomic_test_and_set_acquire_ptr
q_atomic_test_and_set_acquire_ptr:
+ .set mips2
1: ll $8,0($4)
bne $8,$5,2f
move $2,$6
@@ -77,6 +86,7 @@
jr $31
nop
2: sync
+ .set mips0
jr $31
move $2,$0
.end q_atomic_test_and_set_acquire_ptr
@@ -84,11 +94,13 @@
.globl q_atomic_test_and_set_release_ptr
.ent q_atomic_test_and_set_release_ptr
q_atomic_test_and_set_release_ptr:
+ .set mips2
sync
1: ll $8,0($4)
bne $8,$5,2f
move $2,$6
sc $2,0($4)
+ .set mips0
beqz $2,1b
nop
jr $31
Reply to: