From 81cda65f7475973151c9a4b0732975a13859bccc Mon Sep 17 00:00:00 2001
From: "Marc G. Fournier" <scrappy@hub.org>
Date: Fri, 11 Oct 1996 03:56:41 +0000
Subject: [PATCH] Add a MIPS/NetBSD port...

---
 src/backend/port/BSD44_derived/dl.c   | 12 ++++++++++++
 src/include/storage/ipc.h             |  9 ++++++++-
 src/mk/port/postgres.mk.BSD44_derived |  6 +++++-
 3 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/src/backend/port/BSD44_derived/dl.c b/src/backend/port/BSD44_derived/dl.c
index 73e9e48dbcf..4f003443362 100644
--- a/src/backend/port/BSD44_derived/dl.c
+++ b/src/backend/port/BSD44_derived/dl.c
@@ -58,17 +58,26 @@ BSD44_derived_dlerror(void)
 void *
 BSD44_derived_dlopen(char *file, int num)
 {
+#ifdef __mips__
+        (void) sprintf(error_message, "dlopen (%s) not supported", file);
+	return NULL;
+#else
 	void	*vp;
 
 	if ((vp = dlopen(file, num)) == (void *) NULL) {
 		(void) sprintf(error_message, "dlopen (%s) failed", file);
 	}
 	return(vp);
+#endif
 }
 
 void *
 BSD44_derived_dlsym(void *handle, char *name)
 {
+#ifdef __mips__
+	(void) sprintf(error_message, "dlsym (%s) failed", name);
+	return NULL;
+#else
 	void	*vp;
 	char	buf[BUFSIZ];
 
@@ -80,10 +89,13 @@ BSD44_derived_dlsym(void *handle, char *name)
 		(void) sprintf(error_message, "dlsym (%s) failed", name);
 	}
 	return(vp);
+#endif
 }
 
 void
 BSD44_derived_dlclose(void *handle)
 {
+#ifndef __mips__
 	dlclose(handle);
+#endif
 }
diff --git a/src/include/storage/ipc.h b/src/include/storage/ipc.h
index aebf51eb661..9d0ec8fd8eb 100644
--- a/src/include/storage/ipc.h
+++ b/src/include/storage/ipc.h
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: ipc.h,v 1.2 1996/10/02 20:40:17 scrappy Exp $
+ * $Id: ipc.h,v 1.3 1996/10/11 03:56:27 scrappy Exp $
  *
  * NOTES
  *    This file is very architecture-specific.  This stuff should actually
@@ -29,6 +29,9 @@
  * Many architectures have support for user-level spinlocks (i.e., an
  * atomic test-and-set instruction).  However, we have only written
  * spinlock code for the architectures listed.
+ * NB: for operating systems like NetBSD (covered by BSD44_derived),
+ *     we may in fact have different architectures, thus make the tests
+ *     based on portnames somewhat misleading.
  */
 #if defined(PORTNAME_aix) || \
     defined(PORTNAME_alpha) || \
@@ -45,6 +48,10 @@
 #define HAS_TEST_AND_SET
 #endif
 
+#if defined(PORTNAME_BSD44_derived) && defined(__mips__)
+#undef HAS_TEST_AND_SET
+#endif
+
 #if defined(HAS_TEST_AND_SET)
 
 #if defined(PORTNAME_aix)
diff --git a/src/mk/port/postgres.mk.BSD44_derived b/src/mk/port/postgres.mk.BSD44_derived
index 86366a0068c..4a231bda312 100644
--- a/src/mk/port/postgres.mk.BSD44_derived
+++ b/src/mk/port/postgres.mk.BSD44_derived
@@ -6,7 +6,7 @@
 #
 # Copyright (c) 1994-5, Regents of the University of California
 #
-#    $Id: postgres.mk.BSD44_derived,v 1.2 1996/07/25 07:28:12 scrappy Exp $
+#    $Id: postgres.mk.BSD44_derived,v 1.3 1996/10/11 03:56:41 scrappy Exp $
 #
 #-------------------------------------------------------------------------
 ifndef MK_PORT
@@ -29,7 +29,11 @@ LDADD+= -L/usr/local/lib -lfl
 #
 CFLAGS_SL = -fpic -DPIC
 
+ifeq ($(HOSTTYPE), mips)
+#SLSUFF=		.so
+else
 SLSUFF=		.so
+endif
 
 %.so: %.o
 	$(LD) -x -r -o $(objdir)/$(<F).obj $(objdir)/$(<F)
-- 
GitLab