From 3cbe6b2478d7a321e203857f255bcaf69bcc5c8d Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Fri, 5 Apr 2002 11:38:13 +0000
Subject: [PATCH] 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
---
 src/backend/storage/lmgr/s_lock.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/backend/storage/lmgr/s_lock.c b/src/backend/storage/lmgr/s_lock.c
index ea7b40581e4..80f4b654970 100644
--- a/src/backend/storage/lmgr/s_lock.c
+++ b/src/backend/storage/lmgr/s_lock.c
@@ -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\
-- 
GitLab