diff options
author | Bruce Momjian <bruce@momjian.us> | 1998-12-26 18:15:53 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 1998-12-26 18:15:53 +0000 |
commit | 58e539e574dc96bd953c95758428452414ed3c06 (patch) | |
tree | ce48c2ec654f8b5e84eb337f909fedaef303148a | |
parent | 2be1eccec775620dc3a6f8d1123fd15303b0d096 (diff) | |
download | postgresql-58e539e574dc96bd953c95758428452414ed3c06.tar.gz postgresql-58e539e574dc96bd953c95758428452414ed3c06.zip |
Long awaited port for NetBSD/m68k was finally done by Mr. Mutsuki
Nakajima. Since he is not subscribing the mailing list, I'm posting
his patches by his request. According to him, he has successfully
compiled and passed the regression test on Mac SE/30 running
NetBSD/m68k. Also, another person has reported that with the patches
PostgreSQL is working on NetBSD/sun3 too.
--
Tatsuo Ishii
-rw-r--r-- | src/backend/storage/buffer/s_lock.c | 21 | ||||
-rw-r--r-- | src/include/utils/memutils.h | 13 |
2 files changed, 30 insertions, 4 deletions
diff --git a/src/backend/storage/buffer/s_lock.c b/src/backend/storage/buffer/s_lock.c index 77f3dbc5ad0..9a6991b222f 100644 --- a/src/backend/storage/buffer/s_lock.c +++ b/src/backend/storage/buffer/s_lock.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/storage/buffer/Attic/s_lock.c,v 1.14 1998/12/18 17:25:39 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/storage/buffer/Attic/s_lock.c,v 1.15 1998/12/26 18:15:53 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -99,6 +99,25 @@ s_lock(volatile slock_t *lock, const char *file, const int line) */ +#if defined(__m68k__) +static void +tas_dummy() /* really means: extern int tas(slock_t **lock); */ +{ + __asm__(" \n\ +.global _tas \n\ +_tas: \n\ + movel sp@(0x4),a0 \n\ + tas a0@ \n\ + beq _success \n\ + moveq #-128,d0 \n\ + rts \n\ +_success: \n\ + moveq #0,d0 \n\ + rts \n\ + "); +} + +#endif /* __m68k__ */ #if defined(PPC) /* Note: need a nice gcc constrained asm version so it can be inlined */ diff --git a/src/include/utils/memutils.h b/src/include/utils/memutils.h index 381dd226850..9e1adb796f6 100644 --- a/src/include/utils/memutils.h +++ b/src/include/utils/memutils.h @@ -15,7 +15,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: memutils.h,v 1.18 1998/09/07 05:35:48 momjian Exp $ + * $Id: memutils.h,v 1.19 1998/12/26 18:15:53 momjian Exp $ * * NOTES * some of the information in this file will be moved to @@ -58,13 +58,17 @@ tending #define SHORTALIGN(LEN)\ (((long)(LEN) + (sizeof (short) - 1)) & ~(sizeof (short) - 1)) +#if defined(m68k) +#define INTALIGN(LEN) SHORTALIGN(LEN) +#else #define INTALIGN(LEN)\ (((long)(LEN) + (sizeof (int) - 1)) & ~(sizeof (int) -1)) +#endif /* * LONGALIGN(LEN) - length (or address) aligned for longs */ -#if defined(sun) && ! defined(sparc) +#if (defined(sun) && ! defined(sparc)) || defined(m68k) #define LONGALIGN(LEN) SHORTALIGN(LEN) #elif defined (__alpha) @@ -81,7 +85,10 @@ tending (((long)(LEN) + (sizeof (long) - 1)) & ~(sizeof (long) -1)) #endif -#if ! defined(sco) +#if defined(m68k) +#define DOUBLEALIGN(LEN) SHORTALIGN(LEN) +#define MAXALIGN(LEN) SHORTALIGN(LEN) +#elif ! defined(sco) #define DOUBLEALIGN(LEN)\ (((long)(LEN) + (sizeof (double) - 1)) & ~(sizeof (double) -1)) |