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

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

From
Oliver Elphick
Date:
-----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\ 



Re: Linux/mips compile: [Fwd: Bug#139003: a little bit more

From
Bruce Momjian
Date:
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,
Pennsylvania19026
 


Re: Linux/mips compile: [Fwd: Bug#139003: a little bit more

From
Bruce Momjian
Date:
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,
Pennsylvania19026