Skip site navigation (1) Skip section navigation (2)

Re: [PATCHES] Patches for Pgsql on Linux/Alpha (RE: Last Call...)

From: Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
To: rkirkpat(at)nag(dot)cs(dot)colorado(dot)edu (Ryan Kirkpatrick)
Cc: pgsql-ports(at)postgreSQL(dot)org, pgsql-hackers(at)postgreSQL(dot)org, pgsql-patches(at)postgreSQL(dot)org
Subject: Re: [PATCHES] Patches for Pgsql on Linux/Alpha (RE: Last Call...)
Date: 1998-10-31 02:15:01
Message-ID: 199810310215.VAA22677@candle.pha.pa.us (view raw or flat)
Thread:
Lists: pgsql-hackers
> 
> 	Ok, here they are, the long awaited patches to make pgsql compile
> once again on Linux/Alpha. It turned out that our old friend S_LOCK was
> the problem. Apparently some one had pulled the S_LOCK assembly code out
> of the static function that I put it in, and attempted to make it inlined
> again (which is what broke it the first time around). On a whim, I
> searched the net looking for an Alpha Assembly Programmer's Manual, and
> see if it would help me any. I was lucky on both accounts. I found the
> manual, and quickly figured out to make local labels. So... The S_LOCK
> code for Linux/Alpha is finally safe for inlining! :)
> 	Here is the patch for ./pgsql/src/include/storage/s_lock.h
> 
> 89c87
> <                  bne   $0, already_set     \n\
> ---
> >                  bne   $0, 3f          \n\
> 91c89
> <                  bne   $0, already_set     \n\
> ---
> >                  bne   $0, 3f          \n\
> 94,95c92,93
> <                  beq   $0, stqc_fail       \n\
> <         success: bis   $31, $31, %1        \n\
> ---
> >                  beq   $0, 2f              \n\
> >                  bis   $31, $31, %1        \n\
> 97,100c95,98
> <                  jmp   $31, end	           \n\
> <       stqc_fail: or    $31, 1, $0	       \n\
> <     already_set: bis   $0, $0, %1	       \n\
> <             end: nop      ": "=m"(*lock), "=r"(_res): :"0");
> ---
> >                  jmp   $31, 4f	           \n\
> >               2: or    $31, 1, $0	       \n\
> >               3: bis   $0, $0, %1	       \n\
> >               4: nop      ": "=m"(*lock), "=r"(_res): :"0");
> 
> 	Though there are two other catches at the moment in compiling
> pgsql on Alpha as well:
> 

I have applied this.  However, we normally prefer context diffs. 
Fortunately, this patch had old and new rows, so it was almost the same
as a context diff.

It also only dealt with the alpha locking code, which he stated was
clearly broken, so application seemed good.  Some of your more agressive
patches may have to wait a week until 6.4 is released.

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

In response to

Responses

pgsql-hackers by date

Next:From: SHIOZAKI TakehikoDate: 1998-10-31 02:21:13
Subject: Re: [HACKERS] v6.4-BETA3 problems with FreeBSD
Previous:From: Ryan KirkpatrickDate: 1998-10-31 01:53:28
Subject: Patches for Pgsql on Linux/Alpha (RE: Last Call...)

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group