diff --git a/src/backend/storage/lmgr/s_lock.c b/src/backend/storage/lmgr/s_lock.c index f57dd9a439e..d6c1a657875 100644 --- a/src/backend/storage/lmgr/s_lock.c +++ b/src/backend/storage/lmgr/s_lock.c @@ -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__ */ diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h index 579db815a4e..0124b365a01 100644 --- a/src/include/storage/s_lock.h +++ b/src/include/storage/s_lock.h @@ -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;