-----Forwarded Message-----

From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: Bug#139003: a little bit more is needed...
Date: 27 Mar 2002 00:21:18 -0800

reopen 139003
thanks

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.

diff -urN postgresql-7.2/src/backend/storage/lmgr/s_lock.c 
postgresql-7.2.fixed/src/backend/storage/lmgr/s_lock.c
--- postgresql-7.2/src/backend/storage/lmgr/s_lock.c    Mon Nov  5 18:46:28 2001
+++ postgresql-7.2.fixed/src/backend/storage/lmgr/s_lock.c      Wed Mar 27 07:46:59 
+2002
@@ -173,9 +173,12 @@
 .global        tas                                             \n\
 tas:                                                   \n\
                        .frame  $sp, 0, $31     \n\
+                       .set push               \n\
+                       .set mips2              \n\n
                        ll              $14, 0($4)      \n\
                        or              $15, $14, 1     \n\
                        sc              $15, 0($4)      \n\
+                       .set pop                        \n\
                        beq             $15, 0, fail\n\
                        bne             $14, 0, fail\n\
                        li              $2, 0           \n\


Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to