]> granicus.if.org Git - postgresql/commitdiff
Looks like a small patch is needed as well to do the right thing on Linux.
authorBruce Momjian <bruce@momjian.us>
Fri, 5 Apr 2002 11:38:13 +0000 (11:38 +0000)
committerBruce Momjian <bruce@momjian.us>
Fri, 5 Apr 2002 11:38:13 +0000 (11:38 +0000)
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

src/backend/storage/lmgr/s_lock.c

index ea7b40581e4c562260923a8261de540bccaf15c9..80f4b654970059d70246f7bf2763d98aa750b050 100644 (file)
@@ -9,7 +9,7 @@
  *
  *
  * 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\
 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\