Linux/mips compile: [Fwd: Bug#139003: a little bit more is needed...]

Started by Oliver Elphickabout 24 years ago3 messageshackers
Jump to latest
#1Oliver Elphick
olly@lfix.co.uk

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

From: rmurray@debian.org
To: 139003@bugs.debian.org
Cc: control@bugs.debian.org
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\
#2Bruce Momjian
bruce@momjian.us
In reply to: Oliver Elphick (#1)
Re: Linux/mips compile: [Fwd: Bug#139003: a little bit more

Your patch has been added to the PostgreSQL unapplied patches list at:

http://candle.pha.pa.us/cgi-bin/pgpatches

I will try to apply it within the next 48 hours.

---------------------------------------------------------------------------

Oliver Elphick wrote:

Checking application/pgp-signature: FAILURE
-- Start of PGP signed section.

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

From: rmurray@debian.org
To: 139003@bugs.debian.org
Cc: control@bugs.debian.org
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\

-- End of PGP section, PGP failed!

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
#3Bruce Momjian
bruce@momjian.us
In reply to: Oliver Elphick (#1)
Re: Linux/mips compile: [Fwd: Bug#139003: a little bit more

Patch applied. Thanks.

---------------------------------------------------------------------------

Oliver Elphick wrote:

Checking application/pgp-signature: FAILURE
-- Start of PGP signed section.

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

From: rmurray@debian.org
To: 139003@bugs.debian.org
Cc: control@bugs.debian.org
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\

-- End of PGP section, PGP failed!

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026