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

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: [PATCHES] Patches for Pgsql on Linux/Alpha (RE: Last Call...)
Дата
Msg-id 199810310215.VAA22677@candle.pha.pa.us
обсуждение исходный текст
Ответ на Patches for Pgsql on Linux/Alpha (RE: Last Call...)  (Ryan Kirkpatrick <rkirkpat@nag.cs.colorado.edu>)
Ответы Re: [PATCHES] Patches for Pgsql on Linux/Alpha (RE: Last Call...)
Список 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@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
 


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Ryan Kirkpatrick
Дата:
Сообщение: Patches for Pgsql on Linux/Alpha (RE: Last Call...)
Следующее
От: SHIOZAKI Takehiko
Дата:
Сообщение: Re: [HACKERS] v6.4-BETA3 problems with FreeBSD