From 58e539e574dc96bd953c95758428452414ed3c06 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Sat, 26 Dec 1998 18:15:53 +0000 Subject: [PATCH] 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 --- src/backend/storage/buffer/s_lock.c | 21 ++++++++++++++++++++- 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 77f3dbc5ad..9a6991b222 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 381dd22685..9e1adb796f 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)) -- GitLab