mirror of
https://github.com/postgres/postgres.git
synced 2025-06-19 04:21:08 +03:00
Looks like a small patch is needed as well to do the right thing on Linux.
The patch enables the mips2 ISA for the ll/sc operations, and then restores it when done. The kernel/libc emulation code will take over on CPUs without ll/sc, and on CPUs with it, it'll use the operations provided by the CPU. Combined with the earlier fix (removing -mips2), postgresql builds again on mips and mipsel. The patch is against 7.2-7. Oliver Elphick
This commit is contained in:
@ -9,7 +9,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/storage/lmgr/s_lock.c,v 1.5 2001/11/05 17:46:28 momjian Exp $
|
* $Header: /cvsroot/pgsql/src/backend/storage/lmgr/s_lock.c,v 1.6 2002/04/05 11:38:13 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -173,9 +173,12 @@ tas_dummy()
|
|||||||
.global tas \n\
|
.global tas \n\
|
||||||
tas: \n\
|
tas: \n\
|
||||||
.frame $sp, 0, $31 \n\
|
.frame $sp, 0, $31 \n\
|
||||||
|
.set push \n\
|
||||||
|
.set mips2 \n\n
|
||||||
ll $14, 0($4) \n\
|
ll $14, 0($4) \n\
|
||||||
or $15, $14, 1 \n\
|
or $15, $14, 1 \n\
|
||||||
sc $15, 0($4) \n\
|
sc $15, 0($4) \n\
|
||||||
|
.set pop \n\
|
||||||
beq $15, 0, fail\n\
|
beq $15, 0, fail\n\
|
||||||
bne $14, 0, fail\n\
|
bne $14, 0, fail\n\
|
||||||
li $2, 0 \n\
|
li $2, 0 \n\
|
||||||
|
Reference in New Issue
Block a user