Commit 396526d8 authored by Tom Lane's avatar Tom Lane

Adjust m68k spinlock code to avoid duplicate in-line and not-in-line

definitions on recent Linux systems, per Martin Pitt.
parent a310a1d8
......@@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/storage/lmgr/s_lock.c,v 1.37 2005/08/25 17:17:09 tgl Exp $
* $PostgreSQL: pgsql/src/backend/storage/lmgr/s_lock.c,v 1.38 2005/08/26 14:47:35 tgl Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -135,7 +135,12 @@ s_lock(volatile slock_t *lock, const char *file, int line)
*/
#if defined(__m68k__)
/*
* Note: all the if-tests here probably ought to be testing gcc version
* rather than platform, but I don't have adequate info to know what to
* write. Ideally we'd flush all this in favor of the inline version.
*/
#if defined(__m68k__) && !defined(__linux__)
/* really means: extern int tas(slock_t* **lock); */
static void
tas_dummy()
......@@ -169,7 +174,7 @@ _success: \n\
#endif /* __NetBSD__ && __ELF__ */
);
}
#endif /* __m68k__ */
#endif /* __m68k__ && !__linux__ */
#else /* not __GNUC__ */
......
......@@ -66,7 +66,7 @@
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* $PostgreSQL: pgsql/src/include/storage/s_lock.h,v 1.135 2005/08/25 17:17:10 tgl Exp $
* $PostgreSQL: pgsql/src/include/storage/s_lock.h,v 1.136 2005/08/26 14:47:35 tgl Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -191,7 +191,7 @@ tas(volatile slock_t *lock)
return (int) ret;
}
#else
#else /* __INTEL_COMPILER */
static __inline__ int
tas(volatile slock_t *lock)
......@@ -203,7 +203,7 @@ tas(volatile slock_t *lock)
return ret;
}
#endif
#endif /* __INTEL_COMPILER */
#endif /* __ia64__ || __ia64 */
......@@ -328,7 +328,7 @@ do \
#endif /* powerpc */
#if defined(__mc68000__) && defined(__linux__)
#if (defined(__mc68000__) || defined(__m68k__)) && defined(__linux__)
#define HAS_TEST_AND_SET
typedef unsigned char slock_t;
......@@ -350,7 +350,7 @@ tas(volatile slock_t *lock)
return rv;
}
#endif /* defined(__mc68000__) && defined(__linux__) */
#endif /* (__mc68000__ || __m68k__) && __linux__ */
#if defined(__vax__)
......@@ -491,7 +491,7 @@ tas(volatile slock_t *lock)
/* These live in s_lock.c, but only for gcc */
#if defined(__m68k__)
#if defined(__m68k__) && !defined(__linux__)
#define HAS_TEST_AND_SET
typedef unsigned char slock_t;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment