mirror of
https://github.com/postgres/postgres.git
synced 2025-05-11 05:41:32 +03:00
Adjust m68k spinlock code to avoid duplicate in-line and not-in-line
definitions on recent Linux systems, per Martin Pitt.
This commit is contained in:
parent
a310a1d80c
commit
396526d8c3
@ -9,7 +9,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* 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); */
|
/* really means: extern int tas(slock_t* **lock); */
|
||||||
static void
|
static void
|
||||||
tas_dummy()
|
tas_dummy()
|
||||||
@ -169,7 +174,7 @@ _success: \n\
|
|||||||
#endif /* __NetBSD__ && __ELF__ */
|
#endif /* __NetBSD__ && __ELF__ */
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
#endif /* __m68k__ */
|
#endif /* __m68k__ && !__linux__ */
|
||||||
|
|
||||||
|
|
||||||
#else /* not __GNUC__ */
|
#else /* not __GNUC__ */
|
||||||
|
@ -66,7 +66,7 @@
|
|||||||
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
|
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
|
||||||
* Portions Copyright (c) 1994, Regents of the University of California
|
* 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;
|
return (int) ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else /* __INTEL_COMPILER */
|
||||||
|
|
||||||
static __inline__ int
|
static __inline__ int
|
||||||
tas(volatile slock_t *lock)
|
tas(volatile slock_t *lock)
|
||||||
@ -203,7 +203,7 @@ tas(volatile slock_t *lock)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif /* __INTEL_COMPILER */
|
||||||
#endif /* __ia64__ || __ia64 */
|
#endif /* __ia64__ || __ia64 */
|
||||||
|
|
||||||
|
|
||||||
@ -328,7 +328,7 @@ do \
|
|||||||
#endif /* powerpc */
|
#endif /* powerpc */
|
||||||
|
|
||||||
|
|
||||||
#if defined(__mc68000__) && defined(__linux__)
|
#if (defined(__mc68000__) || defined(__m68k__)) && defined(__linux__)
|
||||||
#define HAS_TEST_AND_SET
|
#define HAS_TEST_AND_SET
|
||||||
|
|
||||||
typedef unsigned char slock_t;
|
typedef unsigned char slock_t;
|
||||||
@ -350,7 +350,7 @@ tas(volatile slock_t *lock)
|
|||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* defined(__mc68000__) && defined(__linux__) */
|
#endif /* (__mc68000__ || __m68k__) && __linux__ */
|
||||||
|
|
||||||
|
|
||||||
#if defined(__vax__)
|
#if defined(__vax__)
|
||||||
@ -491,7 +491,7 @@ tas(volatile slock_t *lock)
|
|||||||
/* These live in s_lock.c, but only for gcc */
|
/* These live in s_lock.c, but only for gcc */
|
||||||
|
|
||||||
|
|
||||||
#if defined(__m68k__)
|
#if defined(__m68k__) && !defined(__linux__)
|
||||||
#define HAS_TEST_AND_SET
|
#define HAS_TEST_AND_SET
|
||||||
|
|
||||||
typedef unsigned char slock_t;
|
typedef unsigned char slock_t;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user