diff --git a/src/backend/storage/lmgr/s_lock.c b/src/backend/storage/lmgr/s_lock.c
index 940b686..138b337 100644
--- a/src/backend/storage/lmgr/s_lock.c
+++ b/src/backend/storage/lmgr/s_lock.c
@@ -247,36 +247,6 @@ _success:						\n\
 	);
 }
 #endif   /* __m68k__ && !__linux__ */
-#else							/* not __GNUC__ */
-
-/*
- * All non gcc
- */
-
-
-#if defined(sun3)
-static void
-tas_dummy()						/* really means: extern int tas(slock_t
-								 * *lock); */
-{
-	asm("LLA0:");
-	asm("   .data");
-	asm("   .text");
-	asm("|#PROC# 04");
-	asm("   .globl  _tas");
-	asm("_tas:");
-	asm("|#PROLOGUE# 1");
-	asm("   movel   sp@(0x4),a0");
-	asm("   tas a0@");
-	asm("   beq LLA1");
-	asm("   moveq   #-128,d0");
-	asm("   rts");
-	asm("LLA1:");
-	asm("   moveq   #0,d0");
-	asm("   rts");
-	asm("   .data");
-}
-#endif   /* sun3 */
 #endif   /* not __GNUC__ */
 #endif   /* HAVE_SPINLOCKS */
 
diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h
index 38e09ce..1b493ac 100644
--- a/src/include/storage/s_lock.h
+++ b/src/include/storage/s_lock.h
@@ -551,31 +551,6 @@ tas(volatile slock_t *lock)
 
 #endif	 /* __vax__ */
 
-
-#if defined(__ns32k__)		/* National Semiconductor 32K */
-#define HAS_TEST_AND_SET
-
-typedef unsigned char slock_t;
-
-#define TAS(lock) tas(lock)
-
-static __inline__ int
-tas(volatile slock_t *lock)
-{
-	register int	_res;
-
-	__asm__ __volatile__(
-		"	sbitb	0, %1	\n"
-		"	sfsd	%0		\n"
-:		"=r"(_res), "+m"(*lock)
-:
-:		"memory");
-	return _res;
-}
-
-#endif	 /* __ns32k__ */
-
-
 #if defined(__alpha) || defined(__alpha__)	/* Alpha */
 /*
  * Correct multi-processor locking methods are explained in section 5.5.3
@@ -886,25 +861,6 @@ typedef unsigned long slock_t;
 #define S_LOCK_FREE(lock)	(test_then_add(lock,0) == 0)
 #endif	 /* __sgi */
 
-
-#if defined(sinix)		/* Sinix */
-/*
- * SINIX / Reliant UNIX
- * slock_t is defined as a struct abilock_t, which has a single unsigned long
- * member. (Basically same as SGI)
- */
-#define HAS_TEST_AND_SET
-
-#include "abi_mutex.h"
-typedef abilock_t slock_t;
-
-#define TAS(lock)	(!acquire_lock(lock))
-#define S_UNLOCK(lock)	release_lock(lock)
-#define S_INIT_LOCK(lock)	init_lock(lock)
-#define S_LOCK_FREE(lock)	(stat_lock(lock) == UNLOCKED)
-#endif	 /* sinix */
-
-
 #if defined(_AIX)	/* AIX */
 /*
  * AIX (POWER)
@@ -922,14 +878,6 @@ typedef int slock_t;
 
 /* These are in s_lock.c */
 
-
-#if defined(sun3)		/* Sun3 */
-#define HAS_TEST_AND_SET
-
-typedef unsigned char slock_t;
-#endif
-
-
 #if defined(__SUNPRO_C) && (defined(__i386) || defined(__x86_64__) || defined(__sparc__) || defined(__sparc))
 #define HAS_TEST_AND_SET
 
