--- src/libs/xpcom18a4/nsprpub/configure.orig	2020-07-10 02:59:20.000000000 +1000
+++ src/libs/xpcom18a4/nsprpub/configure	2020-08-21 01:44:24.895103000 +1000
@@ -2657,6 +2657,10 @@
     OS_RELEASE=`uname -v`.`uname -r`
 fi
 
+if test "$OS_ARCH" = "BSDSUniX"; then
+    OS_RELEASE=`echo $OS_RELEASE | sed 's/-.*//'`
+fi
+
 if test "$OS_ARCH" = "FreeBSD"; then
     OS_RELEASE=`echo $OS_RELEASE | sed 's/-.*//'`
 fi
@@ -3288,6 +3292,40 @@
     PR_MD_CSRCS=dgux.c
     ;;
 
+*-bsdsunix*)
+    if test -z "$USE_NSPR_THREADS"; then
+        USE_PTHREADS=1
+    fi
+    cat >> confdefs.h <<\EOF
+#define XP_UNIX 1
+EOF
+
+    cat >> confdefs.h <<\EOF
+#define BSDSUNIX 1
+EOF
+
+    cat >> confdefs.h <<\EOF
+#define HAVE_BSD_FLOCK 1
+EOF
+
+    cat >> confdefs.h <<\EOF
+#define HAVE_SOCKLEN_T 1
+EOF
+
+    CFLAGS="$CFLAGS $(DSO_CFLAGS) -ansi -Wall"
+    MOZ_OBJFORMAT=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
+    if test "$MOZ_OBJFORMAT" = "elf"; then
+        DLL_SUFFIX=so
+    else
+        DLL_SUFFIX=so.1.0
+    fi
+    MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
+    DSO_CFLAGS=-fPIC
+    DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
+    MDCPUCFG_H=_bsdsunix.cfg
+    PR_MD_CSRCS=bsdsunix.c
+    ;;
+
 *-freebsd*)
     if test -z "$USE_NSPR_THREADS"; then
         USE_PTHREADS=1
@@ -5216,6 +5254,7 @@
 	if test -z "`egrep -i '(unrecognize|unknown)' conftest.out | grep pthread`" && test -z "`egrep -i '(error|incorrect)' conftest.out`" ; then
 	    ac_cv_have_dash_pthread=yes
 		case "$target_os" in
+	    bsdsunix*)
 	    freebsd*)
 # Freebsd doesn't use -pthread for compiles, it uses them for linking
             ;;
@@ -5252,6 +5291,21 @@
             _PTHREAD_LDFLAGS=
         fi
 	    ;;
+    *-bsdsunix*)
+	    cat >> confdefs.h <<\EOF
+#define _REENTRANT 1
+EOF
+
+	    cat >> confdefs.h <<\EOF
+#define _THREAD_SAFE 1
+EOF
+
+	    	    if test "$ac_cv_have_dash_pthread" = "yes"; then
+	        _PTHREAD_LDFLAGS="-pthread"
+	    else
+	        _PTHREAD_LDFLAGS="-lc_r"
+	    fi
+	    ;;
     *-freebsd*)
 	    cat >> confdefs.h <<\EOF
 #define _REENTRANT 1
@@ -5366,6 +5420,14 @@
 
     fi
     ;;
+*-bsdsunix*)
+    if test -n "$USE_NSPR_THREADS"; then
+        cat >> confdefs.h <<\EOF
+#define _PR_LOCAL_THREADS_ONLY 1
+EOF
+
+    fi
+    ;;
 *-freebsd*)
     if test -n "$USE_NSPR_THREADS"; then
         cat >> confdefs.h <<\EOF