From: Tom Lane Date: Sat, 27 Aug 2005 16:22:48 +0000 (+0000) Subject: Get the MIPS assembler syntax right. Also add a separate sync command; X-Git-Tag: REL8_1_0BETA2~94 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5824d02155e68180bd2237946a33b29dbef1dd51;p=thirdparty%2Fpostgresql.git Get the MIPS assembler syntax right. Also add a separate sync command; the reference I consulted yesterday said SC does a SYNC, but apparently this is not true on newer MIPS processors, so be safe. --- diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h index 3951aa7137b..75b15a334e2 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.137 2005/08/26 22:04:42 tgl Exp $ + * $PostgreSQL: pgsql/src/include/storage/s_lock.h,v 1.138 2005/08/27 16:22:48 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -455,6 +455,7 @@ do \ #if defined(__mips__) && !defined(__sgi) /* Note: on SGI we use the OS' mutex ABI, see below */ +/* Note: R10000 processors require a separate SYNC */ #define HAS_TEST_AND_SET typedef unsigned int slock_t; @@ -474,11 +475,12 @@ tas(volatile slock_t *lock) " .set noreorder \n" " .set nomacro \n" " ll %0, %2 \n" - " or %1, %0, $1 \n" + " or %1, %0, 1 \n" " sc %1, %2 \n" - " xori %1, $1 \n" + " xori %1, 1 \n" " or %0, %0, %1 \n" - "1: .set pop " + " sync \n" + " .set pop " : "=&r" (_res), "=&r" (_tmp), "+R" (*_l) : : "memory");