aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>1998-12-26 18:15:53 +0000
committerBruce Momjian <bruce@momjian.us>1998-12-26 18:15:53 +0000
commit58e539e574dc96bd953c95758428452414ed3c06 (patch)
treece48c2ec654f8b5e84eb337f909fedaef303148a
parent2be1eccec775620dc3a6f8d1123fd15303b0d096 (diff)
downloadpostgresql-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.c21
-rw-r--r--src/include/utils/memutils.h13
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))