aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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))