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...)
This commit is contained in:
Tom Lane 2004-09-24 00:21:32 +00:00
parent ae169e84f7
commit 409b38f514
2 changed files with 27 additions and 4 deletions

View File

@ -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) */

View File

@ -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