From: Tom Lane Date: Fri, 24 Sep 2004 00:21:32 +0000 (+0000) Subject: Fix TAS assembly stuff for Solaris/386. (I'm not in a position to X-Git-Tag: REL9_0_0~11834 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=409b38f514b1b03bbb1cc7daff58974b70b93c37;p=pg-rex%2Fsyncrep.git Fix TAS assembly stuff for Solaris/386. (I'm not in a position to actually test this, but it couldn't be broken any worse than it was...) --- diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h index 8d8155d65f..4bf1445d23 100644 --- a/src/include/storage/s_lock.h +++ b/src/include/storage/s_lock.h @@ -66,7 +66,7 @@ * Portions Copyright (c) 1996-2004, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/storage/s_lock.h,v 1.129 2004/09/02 17:10:58 tgl Exp $ + * $PostgreSQL: pgsql/src/include/storage/s_lock.h,v 1.130 2004/09/24 00:21:29 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -658,6 +658,18 @@ typedef unsigned char slock_t; #endif +/* out-of-line assembler from src/backend/port/tas/*.s */ + +#if defined(__sun) && defined(__i386) +/* + * Solaris/386 (we only get here for non-gcc case) + */ +#define HAS_TEST_AND_SET + +typedef unsigned char slock_t; +#endif + + #endif /* !defined(HAS_TEST_AND_SET) */ diff --git a/src/template/solaris b/src/template/solaris index f2e7aaa047..4b6d9cdb58 100644 --- a/src/template/solaris +++ b/src/template/solaris @@ -3,10 +3,21 @@ if test "$GCC" != yes ; then CFLAGS="-O -v" # -v is like gcc -Wall fi -# Pick right test-and-set (TAS) code. +# Pick right test-and-set (TAS) code. We need out-of-line assembler +# when not using gcc. case $host in - sparc-*-solaris*) need_tas=yes; tas_file=solaris_sparc.s ;; - i?86-*-solaris*) need_tas=yes; tas_file=solaris_i386.s ;; + sparc-*-solaris*) + if test "$GCC" != yes ; then + need_tas=yes + tas_file=solaris_sparc.s + fi + ;; + i?86-*-solaris*) + if test "$GCC" != yes ; then + need_tas=yes + tas_file=solaris_i386.s + fi + ;; esac # -D_POSIX_PTHREAD_SEMANTICS enables 5-arg getpwuid_r, among other things