--- lib/tests/Makefile.in.orig	2015-10-16 13:22:19 UTC
+++ lib/tests/Makefile.in
@@ -167,7 +167,7 @@ else
 ifeq ($(OS_ARCH),OS2)
 	$(LINK) $(EXEFLAGS) $(LDOPTS) $< $(LIBPLC)  $(LIBPLDS) $(LIBPR) $(OS_LIBS) $(EXTRA_LIBS)
 else
-	$(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBPLDS) $(LIBPR) $(EXTRA_LIBS) -o $@
+	$(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBPLDS) $(LIBPR) $(OS_LIBS) $(EXTRA_LIBS) -o $@
 endif
 endif
 endif
--- pr/tests/Makefile.in.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/Makefile.in
@@ -489,17 +489,18 @@ endif
 ALWAYS:
 
 runtests:: $(PROGS) ALWAYS
-	@$(ECHO) "\nNSPR Test Results - $(OBJDIR)\n"
-	@$(ECHO) "BEGIN\t\t\t`date`"
-	@$(ECHO) "NSPR_TEST_LOGFILE\t$(LOGFILE)\n"
-	@$(ECHO) "Test\t\t\tResult\n"
+	@$(ECHO) "NSPR Test Results - $(OBJDIR)"
+	@$(ECHO) "BEGIN			`date`"
+	@$(ECHO) "Test			Result"
 	@cd $(OBJDIR); for i in $(PROGRAMS); do					\
-	$(ECHO) "$$i\c";										\
-	./$$i >> $(LOGFILE) 2>&1 ;								\
+	printf "$$i";										\
+	./$$i > $$i.output 2>&1;								\
 	if  [ 0 = $$? ] ; then									\
-		$(ECHO) "\t\t\tPassed";								\
-	else													\
-		$(ECHO) "\t\t\tFAILED";								\
-	fi;														\
+		$(ECHO) "			Passed";					\
+		rm $$i.output;									\
+	else											\
+		$(ECHO) "			FAILED";					\
+		cat $$i.output;									\
+	fi;											\
 	done
-	@$(ECHO) "\nEND\t\t`date`\n"
+	@$(ECHO) "END		`date`"
--- pr/tests/cleanup.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/cleanup.c
@@ -15,7 +15,7 @@
 
 static void PR_CALLBACK Thread(void *sleep)
 {
-    PR_Sleep(PR_SecondsToInterval((PRUint32)sleep));
+    PR_Sleep(PR_SecondsToInterval((intptr_t)sleep));
     printf("Thread exiting\n");
 }
 
@@ -39,7 +39,8 @@ int main(int argc, char **argv)
 	PRThreadScope type = PR_LOCAL_THREAD;
     PRFileDesc *err = PR_GetSpecialFD(PR_StandardError);
     PLOptState *opt = PL_CreateOptState(argc, argv, "Ghs:S:t:cC:");
-    PRIntn concurrency = 1, child_sleep = 10, main_sleep = 5, threads = 1;
+    PRIntn concurrency = 1, main_sleep = 5, threads = 1;
+    intptr_t child_sleep = 10;
 
     PR_STDIO_INIT();
     while (PL_OPT_EOL != (os = PL_GetNextOpt(opt)))
@@ -80,7 +81,7 @@ int main(int argc, char **argv)
         (PR_LOCAL_THREAD == type) ? "LOCAL" : "GLOBAL");
     PR_fprintf(err, "\tConcurrency: %d\n", concurrency);
     PR_fprintf(err, "\tNumber of threads: %d\n", threads);
-    PR_fprintf(err, "\tThread sleep: %d\n", child_sleep);
+    PR_fprintf(err, "\tThread sleep: %d\n", (int)child_sleep);
     PR_fprintf(err, "\tMain sleep: %d\n", main_sleep); 
     PR_fprintf(err, "\tCleanup will %sbe called\n\n", (cleanup) ? "" : "NOT "); 
 
--- pr/tests/cltsrv.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/cltsrv.c
@@ -887,7 +887,7 @@ int main(int argc, char** argv)
 {
     PRUintn index;
     PRBool boolean;
-    CSClient_t *client;
+    CSClient_t *client = NULL;
     PRStatus rv, joinStatus;
     CSServer_t *server = NULL;
 
--- pr/tests/cvar.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/cvar.c
@@ -135,14 +135,14 @@ static int alive;
 static void PR_CALLBACK CXReader(void *arg)
 {
 	CircBuf *cbp = (CircBuf *)arg;
-    PRInt32 i, n;
+    intptr_t i, n;
     void *data;
 
     n = count / 2;
     for (i = 0; i < n; i++) {
 		data = GetCBData(cbp);
-		if ((int)data != i)
-    		if (debug_mode) printf("data mismatch at for i = %d usec\n", i);
+		if ((intptr_t)data != i)
+    		if (debug_mode) printf("data mismatch at for i = %ld usec\n", (long)i);
     }
  
     PR_EnterMonitor(mon);
@@ -154,7 +154,7 @@ static void PR_CALLBACK CXReader(void *a
 static void PR_CALLBACK CXWriter(void *arg)
 {
 	CircBuf *cbp = (CircBuf *)arg;
-    PRInt32 i, n;
+    intptr_t i, n;
 
     n = count / 2;
     for (i = 0; i < n; i++)
--- pr/tests/cvar2.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/cvar2.c
@@ -95,7 +95,7 @@ PrivateCondVarThread(void *_info)
     for (index=0; index<info->loops; index++) {
         PR_Lock(info->lock);
         if (*info->tcount == 0) {
-	    DPRINTF(("PrivateCondVarThread: thread 0x%lx waiting on cvar = 0x%lx\n",
+	    DPRINTF(("PrivateCondVarThread: thread %p waiting on cvar = %p\n",
 				PR_GetCurrentThread(), info->cvar));
             PR_WaitCondVar(info->cvar, info->timeout);
 	}
@@ -108,8 +108,8 @@ PrivateCondVarThread(void *_info)
         PR_Lock(info->exitlock);
         (*info->exitcount)++;
         PR_NotifyCondVar(info->exitcvar);
-DPRINTF(("PrivateCondVarThread: thread 0x%lx notified exitcvar = 0x%lx cnt = %ld\n",
-			PR_GetCurrentThread(), info->exitcvar,(*info->exitcount)));
+DPRINTF(("PrivateCondVarThread: thread %p notified exitcvar = %p cnt = %d\n",
+			PR_GetCurrentThread(), info->exitcvar,(int)(*info->exitcount)));
         PR_Unlock(info->exitlock);
     }
 #if 0
@@ -157,7 +157,7 @@ CreateTestThread(threadinfo *info, 
 void 
 CondVarTestSUU(void *_arg)
 {
-    PRInt32 arg = (PRInt32)_arg;
+    PRInt32 arg = (PRInt32)(intptr_t)_arg;
     PRInt32 index, loops;
     threadinfo *list;
     PRLock *sharedlock;
@@ -189,7 +189,7 @@ CondVarTestSUU(void *_arg)
                          PR_TRUE,
                          PR_LOCAL_THREAD);
         index++;
-	DPRINTF(("CondVarTestSUU: created thread 0x%lx\n",list[index].thread));
+	DPRINTF(("CondVarTestSUU: created thread %p\n",list[index].thread));
     }
 
     for (loops = 0; loops < count; loops++) {
@@ -199,7 +199,7 @@ CondVarTestSUU(void *_arg)
             (*list[index].tcount)++;
             PR_NotifyCondVar(list[index].cvar);
             PR_Unlock(list[index].lock);
-	    DPRINTF(("PrivateCondVarThread: thread 0x%lx notified cvar = 0x%lx\n",
+	    DPRINTF(("PrivateCondVarThread: thread %p notified cvar = %p\n",
 				PR_GetCurrentThread(), list[index].cvar));
         }
 
@@ -227,7 +227,7 @@ CondVarTestSUU(void *_arg)
 void 
 CondVarTestSUK(void *_arg)
 {
-    PRInt32 arg = (PRInt32)_arg;
+    PRInt32 arg = (PRInt32)(intptr_t)_arg;
     PRInt32 index, loops;
     threadinfo *list;
     PRLock *sharedlock;
@@ -301,7 +301,7 @@ CondVarTestSUK(void *_arg)
 void 
 CondVarTestPUU(void *_arg)
 {
-    PRInt32 arg = (PRInt32)_arg;
+    PRInt32 arg = (PRInt32)(intptr_t)_arg;
     PRInt32 index, loops;
     threadinfo *list;
     PRLock *sharedlock;
@@ -336,7 +336,7 @@ CondVarTestPUU(void *_arg)
                          PR_FALSE,
                          PR_LOCAL_THREAD);
 
-	DPRINTF(("CondVarTestPUU: created thread 0x%lx\n",list[index].thread));
+	DPRINTF(("CondVarTestPUU: created thread %p\n",list[index].thread));
         index++;
 	tcount++;
     }
@@ -354,8 +354,8 @@ CondVarTestPUU(void *_arg)
 	PR_Lock(exitlock);
         /* Wait for threads to finish */
         while(exitcount < arg) {
-DPRINTF(("CondVarTestPUU: thread 0x%lx waiting on exitcvar = 0x%lx cnt = %ld\n",
-				PR_GetCurrentThread(), exitcvar, exitcount));
+DPRINTF(("CondVarTestPUU: thread %p waiting on exitcvar = %p cnt = %d\n",
+				PR_GetCurrentThread(), exitcvar, (int)exitcount));
             	PR_WaitCondVar(exitcvar, PR_SecondsToInterval(60));
 	}
         PR_ASSERT(exitcount >= arg);
@@ -365,7 +365,7 @@ DPRINTF(("CondVarTestPUU: thread 0x%lx w
 
     /* Join all the threads */
     for(index=0; index<(arg); index++)  {
-	DPRINTF(("CondVarTestPUU: joining thread 0x%lx\n",list[index].thread));
+	DPRINTF(("CondVarTestPUU: joining thread %p\n",list[index].thread));
         PR_JoinThread(list[index].thread);
         if (list[index].internal) {
             PR_Lock(list[index].lock);
@@ -387,7 +387,7 @@ DPRINTF(("CondVarTestPUU: thread 0x%lx w
 void 
 CondVarTestPUK(void *_arg)
 {
-    PRInt32 arg = (PRInt32)_arg;
+    PRInt32 arg = (PRInt32)(intptr_t)_arg;
     PRInt32 index, loops;
     threadinfo *list;
     PRLock *sharedlock;
@@ -468,7 +468,7 @@ CondVarTestPUK(void *_arg)
 void 
 CondVarTest(void *_arg)
 {
-    PRInt32 arg = (PRInt32)_arg;
+    PRInt32 arg = (PRInt32)(intptr_t)_arg;
     PRInt32 index, loops;
     threadinfo *list;
     PRLock *sharedlock;
@@ -601,7 +601,7 @@ CondVarTest(void *_arg)
 void 
 CondVarTimeoutTest(void *_arg)
 {
-    PRInt32 arg = (PRInt32)_arg;
+    PRInt32 arg = (PRInt32)(intptr_t)_arg;
     PRInt32 index, loops;
     threadinfo *list;
     PRLock *sharedlock;
@@ -712,7 +712,7 @@ CondVarTimeoutTest(void *_arg)
 void 
 CondVarMixedTest(void *_arg)
 {
-    PRInt32 arg = (PRInt32)_arg;
+    PRInt32 arg = (PRInt32)(intptr_t)_arg;
     PRInt32 index, loops;
     threadinfo *list;
     PRLock *sharedlock;
@@ -802,7 +802,7 @@ CondVarMixedTest(void *_arg)
         for(index=0; index<(arg*4); index+=3) {
 
             PR_Lock(list[index].lock);
-            *list[index].tcount++;
+            list[index].tcount++;
             PR_NotifyCondVar(list[index].cvar);
             PR_Unlock(list[index].lock);
 
@@ -873,7 +873,7 @@ static void Measure(void (*func)(void *)
     double d;
 
     start = PR_IntervalNow();
-    (*func)((void *)arg);
+    (*func)((void *)(intptr_t)arg);
     stop = PR_IntervalNow();
 
     d = (double)PR_IntervalToMicroseconds(stop - start);
@@ -932,7 +932,7 @@ default_threads, default_threads*2, defa
     PR_SetConcurrency(2);
 
     for (threads = default_threads; threads < default_threads*5; threads+=default_threads) {
-        printf("\n%ld Thread tests\n", threads);
+        printf("\n%d Thread tests\n", (int)threads);
         Measure(CondVarTestSUU, threads, "Condvar simple test shared UU");
         Measure(CondVarTestSUK, threads, "Condvar simple test shared UK");
         Measure(CondVarTestPUU, threads, "Condvar simple test priv UU");
--- pr/tests/foreign.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/foreign.c
@@ -202,7 +202,7 @@ static void OneShot(void *arg)
     PRFileDesc *fd;
     PRDir *dir;
     PRFileDesc *pair[2];
-    PRIntn test = (PRIntn)arg;
+    intptr_t test = (intptr_t)arg;
 
 	for (test = 0; test < 12; ++test) {
 
@@ -302,7 +302,7 @@ static void OneShot(void *arg)
 int main(int argc, char **argv)
 {
     PRStatus rv;
-	PRInt32	thread_cnt = DEFAULT_THREAD_COUNT;
+	intptr_t	thread_cnt = DEFAULT_THREAD_COUNT;
 	PLOptStatus os;
 	PLOptState *opt = PL_CreateOptState(argc, argv, "dt:");
 
--- pr/tests/forktest.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/forktest.c
@@ -47,7 +47,7 @@ ClientThreadFunc(void *arg)
 {
     PRNetAddr addr;
     PRFileDesc *sock = NULL;
-    PRInt32 tmp = (PRInt32)arg;
+    intptr_t tmp = (intptr_t)arg;
 
     /*
      * Make sure the PR_Accept call will block
@@ -143,7 +143,7 @@ DoIO(void)
         goto finish;
     }
     clientThread = PR_CreateThread( PR_USER_THREAD, ClientThreadFunc,
-        (void *) PR_ntohs(addr.inet.port), PR_PRIORITY_NORMAL, PR_LOCAL_THREAD,
+        (void *)(intptr_t)PR_ntohs(addr.inet.port), PR_PRIORITY_NORMAL, PR_LOCAL_THREAD,
         PR_JOINABLE_THREAD, 0);
     if (clientThread == NULL) {
         fprintf(stderr, "Cannot create client thread: (%d, %d)\n",
@@ -151,6 +151,9 @@ DoIO(void)
         failed_already = 1;
         goto finish;
     }
+    printf("Wait one second before accept\n");
+    fflush(stdout);
+    PR_Sleep(PR_SecondsToInterval(1));
     printf("Accepting connection at port %hu\n", PR_ntohs(addr.inet.port));
     fflush(stdout);
     sock = PR_Accept(listenSock, &addr, PR_SecondsToInterval(5));
--- pr/tests/getai.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/getai.c
@@ -13,8 +13,13 @@ int main(int argc, char **argv)
     PRAddrInfo *ai;
     void *iter;
     PRNetAddr addr;
+    const char *host;
 
-    ai = PR_GetAddrInfoByName(argv[1], PR_AF_UNSPEC, PR_AI_ADDRCONFIG);
+    if (argc > 1)
+	host = argv[1];
+    else
+	host = "www.FreeBSD.org";
+    ai = PR_GetAddrInfoByName(host, PR_AF_UNSPEC, PR_AI_ADDRCONFIG);
     if (ai == NULL) {
         fprintf(stderr, "PR_GetAddrInfoByName failed: (%d, %d)\n",
             PR_GetError(), PR_GetOSError());
--- pr/tests/instrumt.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/instrumt.c
@@ -36,6 +36,7 @@
 */
 
 #include <stdio.h>
+#define DEBUG
 #include <plstr.h>
 #include <prclist.h>
 #include <prmem.h>
@@ -50,7 +51,6 @@
 #define COUNT_LIMIT  (10 * ( 1024))
 
 #define SMALL_TRACE_BUFSIZE  ( 60 * 1024 )
-
 typedef enum 
 {
     CountLoop = 1,
@@ -78,10 +78,10 @@ static void Help(void)
 
 static void ListCounters(void)
 {
+#if defined(DEBUG) || defined(FORCE_NSPR_COUNTERS)
     PR_DEFINE_COUNTER( qh );
     PR_DEFINE_COUNTER( rh );
     const char *qn, *rn, *dn;
-    const char **qname = &qn, **rname = &rn, **desc = &dn;
     PRUint32    tCtr;
 
     PR_INIT_COUNTER_HANDLE( qh, NULL );
@@ -92,7 +92,7 @@ static void ListCounters(void)
         PR_FIND_NEXT_COUNTER_RNAME(rh, rh, qh );
         while ( rh != NULL )
         {
-            PR_GET_COUNTER_NAME_FROM_HANDLE( rh, qname, rname, desc );
+            PR_GET_COUNTER_NAME_FROM_HANDLE( rh, &qn, &rn, &dn );
             PR_GET_COUNTER(tCtr, rh);
             PR_LOG( lm, msgLevel,
                 ( "QName: %s  RName: %s  Desc: %s  Value: %ld\n", 
@@ -101,15 +101,15 @@ static void ListCounters(void)
         } 
         PR_FIND_NEXT_COUNTER_QNAME(qh, qh);
     }
-    return;    
+#endif
 } /* end ListCounters() */
 
 static void ListTraces(void)
 {
+#if defined(DEBUG) || defined(FORCE_NSPR_TRACE)
     PR_DEFINE_TRACE( qh );
     PR_DEFINE_TRACE( rh );
     const char *qn, *rn, *dn;
-    const char **qname = &qn, **rname = &rn, **desc = &dn;
 
     PR_INIT_TRACE_HANDLE( qh, NULL );
     PR_FIND_NEXT_TRACE_QNAME(qh, qh );
@@ -119,7 +119,7 @@ static void ListTraces(void)
         PR_FIND_NEXT_TRACE_RNAME(rh, rh, qh );
         while ( rh != NULL )
         {
-            PR_GET_TRACE_NAME_FROM_HANDLE( rh, qname, rname, desc );
+            PR_GET_TRACE_NAME_FROM_HANDLE( rh, &qn, &rn, &dn );
             PR_LOG( lm, msgLevel,
                 ( "QName: %s  RName: %s  Desc: %s", 
                 qn, rn, dn ));
@@ -127,7 +127,7 @@ static void ListTraces(void)
         } 
         PR_FIND_NEXT_TRACE_QNAME(qh, qh);
     }
-    return;    
+#endif
 } /* end ListCounters() */
 
 
@@ -326,7 +326,7 @@ static void PR_CALLBACK SampleTrace( voi
 */
 static void TraceTest( void )
 {
-    PRInt32 i;
+    PRIntn i = 0;
     PRInt32 size;
     PR_DEFINE_TRACE( th );
     PRThread *t1, *t2;
--- pr/tests/io_timeout.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/io_timeout.c
@@ -22,11 +22,13 @@
 /* Used to get the command line option */
 #include "plgetopt.h"
 
+#include <errno.h>
 #include <stdio.h>
+#include <string.h>
 #include "nspr.h"
 
 #define NUM_THREADS 1
-#define BASE_PORT   8000
+#define BASE_PORT   38011
 #define DEFAULT_ACCEPT_TIMEOUT 2
 
 typedef struct threadInfo {
@@ -38,7 +40,7 @@ typedef struct threadInfo {
 } threadInfo;
 
 PRIntn failed_already = 0;
-PRIntn debug_mode = 0;
+PRIntn debug_mode = 1;
 
 #define	LOCAL_SCOPE_STRING			"LOCAL scope"
 #define	GLOBAL_SCOPE_STRING			"GLOBAL scope"
@@ -54,7 +56,7 @@ thread_main(void *_info)
     PRFileDesc *clientSock;
     PRStatus rv;
 	PRThreadScope tscope;
-	char *scope_str;
+	const char *scope_str;
 
  
 	if (debug_mode)
@@ -73,6 +75,7 @@ thread_main(void *_info)
 			break;
 		default:
 			PR_NOT_REACHED("Invalid thread scope");
+			scope_str = NULL;
 			break;
 	}
 	printf("thread id %d, scope %s\n", info->id, scope_str);
@@ -91,7 +94,12 @@ thread_main(void *_info)
     rv = PR_Bind(listenSock, &listenAddr);
     if (rv == PR_FAILURE) {
 		if (debug_mode)
-        	printf("unable to bind\n");
+			printf("unable to bind to %d: %s\n",
+			    BASE_PORT + info->id, strerror(PR_GetOSError()));
+		if (PR_GetOSError() == EADDRINUSE) {
+			printf("can not proceed with this test\n");
+			exit(0);
+		}
 		failed_already=1;
         goto dead;
     }
@@ -113,8 +121,9 @@ thread_main(void *_info)
     if (clientSock == NULL) {
         if (PR_GetError() == PR_IO_TIMEOUT_ERROR) {
 			if (debug_mode) {	
-            	printf("PR_Accept() timeout worked!\n"); 
-				printf("TEST PASSED! PR_Accept() returned error %d\n",
+				printf("PR_Accept() timeout worked!\n"
+				    "TEST PASSED! PR_Accept() returned error "
+				    "PR_IO_TIMEOUT_ERROR (%ld)\n",
 							PR_IO_TIMEOUT_ERROR);
 			}
     	} else {
--- pr/tests/layer.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/layer.c
@@ -45,7 +45,10 @@ static PRUint16 default_port = 12273;
 static PRFileDesc *PushLayer(PRFileDesc *stack)
 {
     PRFileDesc *layer = PR_CreateIOLayerStub(identity, &myMethods);
-    PRStatus rv = PR_PushIOLayer(stack, PR_GetLayersIdentity(stack), layer);
+#if defined(DEBUG) || defined(FORCE_PR_ASSERT)
+    PRStatus rv = /* we only need rv for PR_ASSERT() */
+#endif
+	PR_PushIOLayer(stack, PR_GetLayersIdentity(stack), layer);
     if (verbosity > quiet)
         PR_fprintf(logFile, "Pushed layer(0x%x) onto stack(0x%x)\n", layer, stack);
     PR_ASSERT(PR_SUCCESS == rv);
--- pr/tests/lazyinit.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/lazyinit.c
@@ -43,7 +43,6 @@ int main(int argc, char **argv)
     char *path = NULL;
     PRDir *dir = NULL;
     PRLock *ml = NULL;
-    PRCondVar *cv = NULL;
     PRThread *thread = NULL;
     PRIntervalTime interval = 0;
     PRFileDesc *file, *udp, *tcp, *pair[2];
--- pr/tests/lltest.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/lltest.c
@@ -545,6 +545,7 @@ TestConversion( void )
     return;
 }
 
+#if 0
 static void ShiftCompileOnly()
 {
     /*
@@ -561,6 +562,7 @@ static void ShiftCompileOnly()
     LL_ISHL(ia, 49, 32);
 
 }  /* ShiftCompileOnly */
+#endif
    
 
 /*
@@ -635,7 +637,6 @@ TestArithmetic( void )
     PRInt64 largeValPlusOne   = LL_INIT( 0x00000002, 0x00000000 );
     PRInt64 largeValTimesTwo  = LL_INIT( 0x00000003, 0xfffffffe );
     PRInt64 largeMultCand     = LL_INIT( 0x00000000, 0x7fffffff );
-    PRInt64 largeMinusMultCand = LL_INIT( 0xffffffff, 0x10000001 );
     PRInt64 largeMultCandx64K = LL_INIT( 0x00007fff, 0xffff0000 );
     PRInt64 largeNumSHL5      = LL_INIT( 0x0000001f, 0xffffffe0 );        
     PRInt64 result, result2;
--- pr/tests/mbcs.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/mbcs.c
@@ -54,13 +54,12 @@ char *dirName =  NULL;  /* directory nam
 /*
 ** Traverse directory
 */
-static void TraverseDirectory( unsigned char *dir )
+static void TraverseDirectory(const char *dir)
 {
     PRDir *cwd;
     PRDirEntry *dirEntry;
     PRFileInfo info;
     PRStatus rc;
-    PRInt32 err;
     PRFileDesc *fd;
     char    nextDir[256];
     char    file[256];
@@ -81,16 +80,16 @@ static void TraverseDirectory( unsigned 
             exit(1);
         }
         if ( PR_FILE_FILE == info.type )  {
-            printf("File: %s \tsize: %ld\n", dirEntry->name, info.size );
+            printf("File: %s \tsize: %ld\n", dirEntry->name, (long)info.size );
             fd = PR_Open( file, PR_RDONLY, 0 );
             if ( NULL == fd )  {
                 printf("PR_Open() failed. Error: %ld, OSError: %ld\n", 
-                    PR_GetError(), PR_GetOSError());
+                    (long)PR_GetError(), (long)PR_GetOSError());
             }
             rc = PR_Close( fd );
             if ( PR_FAILURE == rc )  {
                 printf("PR_Close() failed. Error: %ld, OSError: %ld\n", 
-                    PR_GetError(), PR_GetOSError());
+                    (long)PR_GetError(), (long)PR_GetOSError());
             }
         } else if ( PR_FILE_DIRECTORY == info.type ) {
             sprintf( nextDir, "%s/%s", dir, dirEntry->name );
--- pr/tests/nbconn.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/nbconn.c
@@ -54,8 +54,7 @@ int main(int argc, char **argv)
     PRStatus rv;
     PRSocketOptionData optData;
 	const char *hostname = NULL;
-    PRIntn default_case, n, bytes_read, bytes_sent;
-	PRInt32 failed_already = 0;
+    PRIntn default_case, n;
 
     /*
      * -d           debug mode
@@ -164,7 +163,7 @@ int main(int argc, char **argv)
 				exit(1);
 			}
 			printf( "PR_GetConnectStatus: connect failed: (%ld, %ld)\n",
-					PR_GetError(), PR_GetOSError());
+					(long)PR_GetError(), (long)PR_GetOSError());
 		}
 		PR_Close(sock);
     	printf( "PASS\n");
@@ -235,7 +234,7 @@ connection_success_test()
 	PRThread *thr = NULL;
 	Server_Param sp;
 	char send_buf[DATA_BUF_SIZE], recv_buf[DATA_BUF_SIZE];
-    PRIntn default_case, n, bytes_read, bytes_sent;
+    PRIntn n, bytes_read, bytes_sent;
     PRIntn failed_already = 0;
 
 	/*
@@ -311,7 +310,7 @@ connection_success_test()
 		failed_already=1;
 		goto def_exit;
 	}
-	DPRINTF(("Created TCP_Server thread [0x%x]\n",thr));
+	DPRINTF(("Created TCP_Server thread [%p]\n", thr));
 	pd.fd = conn_fd;
 	pd.in_flags = PR_POLL_WRITE | PR_POLL_EXCEPT;
 	n = PR_Poll(&pd, 1, PR_INTERVAL_NO_TIMEOUT);
@@ -390,7 +389,7 @@ connection_success_test()
 		DPRINTF(("Data integrity verified\n"));
 	} else {
 		fprintf(stderr,"PR_GetConnectStatus: connect failed: (%ld, %ld)\n",
-				PR_GetError(), PR_GetOSError());
+				(long)PR_GetError(), (long)PR_GetOSError());
 		failed_already = 1;
 		goto def_exit;
 	}
@@ -496,7 +495,6 @@ connection_failure_test()
 		goto def_exit;
 	}
 	if (PR_GetConnectStatus(&pd) == PR_SUCCESS) {
-		PRInt32 rv;
 		fprintf(stderr,"PR_GetConnectStatus succeeded, expected to fail\n");
 		failed_already = 1;
 		goto def_exit;
--- pr/tests/nblayer.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/nblayer.c
@@ -299,7 +299,7 @@ static PRStatus PR_CALLBACK MyClose(PRFi
 static PRInt16 PR_CALLBACK MyPoll(
     PRFileDesc *fd, PRInt16 in_flags, PRInt16 *out_flags)
 {
-    PRInt16 my_flags, new_flags;
+    PRInt16 my_flags = -1, new_flags;
     PRFilePrivate *mine = (PRFilePrivate*)fd->secret;
     if (0 != (PR_POLL_READ & in_flags))
     {
@@ -342,7 +342,7 @@ static PRFileDesc * PR_CALLBACK MyAccept
     PRFileDesc *fd, PRNetAddr *addr, PRIntervalTime timeout)
 {
     PRStatus rv;
-    PRFileDesc *newfd, *layer = fd;
+    PRFileDesc *newfd;
     PRFileDesc *newstack;
     PRFilePrivate *newsecret;
 
@@ -428,6 +428,8 @@ static PRInt32 PR_CALLBACK MyRecv(
             mine->rcvinprogress = 0;
             return mine->rcvreq;  /* << -- that's it! */
         default:
+            PR_ASSERT(!"How did I get this mine->rcvstate?");
+            rv = -1;
             break;
         }
     } while (-1 != rv);
@@ -484,6 +486,8 @@ static PRInt32 PR_CALLBACK MySend(
             mine->xmtinprogress = 0;
             return mine->xmtreq;  /* <<-- That's the one! */
         default:
+            PR_ASSERT(!"How did I get this mine->xmtstate?");
+            rv = -1;
             break;
         }
     } while (-1 != rv);
--- pr/tests/nonblock.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/nonblock.c
@@ -39,7 +39,7 @@
 static void PR_CALLBACK
 clientThreadFunc(void *arg)
 {
-    PRUintn port = (PRUintn)arg;
+    intptr_t port = (intptr_t)arg;
     PRFileDesc *sock;
     PRNetAddr addr;
     char buf[CHUNK_SIZE];
@@ -147,7 +147,7 @@ static PRIntn PR_CALLBACK RealMain( PRIn
     printf("%s", buf);
 
     clientThread = PR_CreateThread(PR_USER_THREAD,
-	    clientThreadFunc, (void *) listenPort,
+	    clientThreadFunc, (void *) (intptr_t)listenPort,
 	    PR_PRIORITY_NORMAL, PR_LOCAL_THREAD,
 	    PR_UNJOINABLE_THREAD, 0);
     if (clientThread == NULL) {
@@ -191,7 +191,7 @@ static PRIntn PR_CALLBACK RealMain( PRIn
 	if (retVal != -1 || PR_GetError() != PR_WOULD_BLOCK_ERROR) {
         PL_PrintError("First Receive:\n");
 	    fprintf(stderr, "First PR_Recv: retVal: %ld, Error: %ld\n",
-            retVal, PR_GetError());
+            (long)retVal, (long)PR_GetError());
 	    exit(1);
         }
 	printf("read: EWOULDBLOCK, good\n");
@@ -201,7 +201,7 @@ static PRIntn PR_CALLBACK RealMain( PRIn
 	if (retVal != CHUNK_SIZE) {
         PL_PrintError("Second Receive:\n");
 	    fprintf(stderr, "Second PR_Recv: retVal: %ld, Error: %ld\n", 
-            retVal, PR_GetError());
+            (long)retVal, (long)PR_GetError());
 	    exit(1);
         }
 	printf("read: %d bytes, good\n", retVal);
--- pr/tests/obsints.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/obsints.c
@@ -25,6 +25,9 @@ int main(int argc, char **argv)
 #else /* NO_NSPR_10_SUPPORT */
 
 #include "prtypes.h"  /* which includes protypes.h */
+#if !defined(__GNUC__)
+#	define __unused
+#endif
 
 int main(int argc, char **argv)
 {
@@ -32,17 +35,17 @@ int main(int argc, char **argv)
      * Compilation fails if any of these integer types are not
      * defined by protypes.h.
      */
-    intn in;
-    uintn uin;
-    uint ui;
-    int8 i8;
-    uint8 ui8;
-    int16 i16;
-    uint16 ui16;
-    int32 i32;
-    uint32 ui32;
-    int64 i64;
-    uint64 ui64;
+    intn in __unused;
+    uintn uin __unused;
+    uint ui __unused;
+    int8 i8 __unused;
+    uint8 ui8 __unused;
+    int16 i16 __unused;
+    uint16 ui16 __unused;
+    int32 i32 __unused;
+    uint32 ui32 __unused;
+    int64 i64 __unused;
+    uint64 ui64 __unused;
 
     printf("PASS\n");
     return 0;
--- pr/tests/parsetm.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/parsetm.c
@@ -31,8 +31,8 @@ static void PrintExplodedTime(const PREx
 
     /* Print day of the week, month, day, hour, minute, and second */
     if (debug_mode) printf("%s %s %ld %02ld:%02ld:%02ld ",
-	    dayOfWeek[et->tm_wday], month[et->tm_month], et->tm_mday,
-	    et->tm_hour, et->tm_min, et->tm_sec);
+	    dayOfWeek[et->tm_wday], month[et->tm_month], (long)et->tm_mday,
+	    (long)et->tm_hour, (long)et->tm_min, (long)et->tm_sec);
 
     /* Print time zone */
     totalOffset = et->tm_params.tp_gmt_offset + et->tm_params.tp_dst_offset;
@@ -47,7 +47,7 @@ static void PrintExplodedTime(const PREx
         hourOffset = totalOffset / 3600;
         minOffset = (totalOffset % 3600) / 60;
         if (debug_mode) 
-            printf("%s%02ld%02ld ", sign, hourOffset, minOffset);
+            printf("%s%02ld%02ld ", sign, (long)hourOffset, (long)minOffset);
     }
 
     /* Print year */
--- pr/tests/peek.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/peek.c
@@ -135,7 +135,7 @@ static void ClientNB(void *arg)
 {
     PRFileDesc *sock;
     PRSocketOptionData opt;
-    PRUint16 port = (PRUint16) arg;
+    PRUint16 port = (intptr_t) arg;
     PRNetAddr addr;
     char buf[BUFFER_SIZE];
     PRPollDesc pd;
@@ -299,7 +299,7 @@ RunTest(PRThreadScope scope, PRFileDesc 
         exit(1);
     }
     client = PR_CreateThread(
-            PR_USER_THREAD, ClientNB, (void *) port,
+            PR_USER_THREAD, ClientNB, (void *)(intptr_t) port,
             PR_PRIORITY_NORMAL, scope, PR_JOINABLE_THREAD, 0);
     if (NULL == client) {
         fprintf(stderr, "PR_CreateThread failed\n");
--- pr/tests/perf.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/perf.c
@@ -141,7 +141,7 @@ static void PR_CALLBACK CXReader(void *a
     n = count / 2;
     for (i = 0; i < n; i++) {
     while (cxq == 0) {
-            DPRINTF(("CXReader: thread = 0x%lx waiting\n",
+            DPRINTF(("CXReader: thread = %p waiting\n",
                     PR_GetCurrentThread()));
         PR_Wait(mon, PR_INTERVAL_NO_TIMEOUT);
     }
@@ -154,7 +154,7 @@ static void PR_CALLBACK CXReader(void *a
     --alive;
     PR_Notify(mon2);
     PR_ExitMonitor(mon2);
-    DPRINTF(("CXReader: thread = 0x%lx exiting\n", PR_GetCurrentThread()));
+    DPRINTF(("CXReader: thread = %p exiting\n", PR_GetCurrentThread()));
 }
 
 static void PR_CALLBACK CXWriter(void *arg)
@@ -165,7 +165,7 @@ static void PR_CALLBACK CXWriter(void *a
     n = count / 2;
     for (i = 0; i < n; i++) {
     while (cxq == 1) {
-            DPRINTF(("CXWriter: thread = 0x%lx waiting\n",
+            DPRINTF(("CXWriter: thread = %p waiting\n",
                     PR_GetCurrentThread()));
         PR_Wait(mon, PR_INTERVAL_NO_TIMEOUT);
     }
@@ -178,7 +178,7 @@ static void PR_CALLBACK CXWriter(void *a
     --alive;
     PR_Notify(mon2);
     PR_ExitMonitor(mon2);
-    DPRINTF(("CXWriter: thread = 0x%lx exiting\n", PR_GetCurrentThread()));
+    DPRINTF(("CXWriter: thread = %p exiting\n", PR_GetCurrentThread()));
 }
 
 static void ContextSwitch(PRThreadScope scope1, PRThreadScope scope2)
@@ -198,7 +198,7 @@ static void ContextSwitch(PRThreadScope 
     if (NULL == t1) {
         fprintf(stderr, "ContextSwitch: cannot create thread\n");
     } else {
-        DPRINTF(("ContextSwitch: created %s thread = 0x%lx\n",
+        DPRINTF(("ContextSwitch: created %s thread = %p\n",
                 (scope1 == PR_GLOBAL_THREAD ?
                 "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD"),
                             t1));
@@ -212,7 +212,7 @@ static void ContextSwitch(PRThreadScope 
     if (NULL == t2) {
         fprintf(stderr, "ContextSwitch: cannot create thread\n");
     } else {
-        DPRINTF(("ContextSwitch: created %s thread = 0x%lx\n",
+        DPRINTF(("ContextSwitch: created %s thread = %p\n",
                 (scope2 == PR_GLOBAL_THREAD ?
                 "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD"),
                             t2));
@@ -254,10 +254,10 @@ static void PR_CALLBACK SemaThread(void 
 
     n = count / 2;
     for (i = 0; i < n; i++) {
-        DPRINTF(("SemaThread: thread = 0x%lx waiting on sem = 0x%lx\n",
+        DPRINTF(("SemaThread: thread = %p waiting on sem = %p\n",
                 PR_GetCurrentThread(), sem[0]));
         PR_WaitSem(sem[0]);
-        DPRINTF(("SemaThread: thread = 0x%lx posting on sem = 0x%lx\n",
+        DPRINTF(("SemaThread: thread = %p posting on sem = %p\n",
                 PR_GetCurrentThread(), sem[1]));
         PR_PostSem(sem[1]);
     }
@@ -266,7 +266,7 @@ static void PR_CALLBACK SemaThread(void 
     --alive;
     PR_Notify(mon2);
     PR_ExitMonitor(mon2);
-    DPRINTF(("SemaThread: thread = 0x%lx exiting\n", PR_GetCurrentThread()));
+    DPRINTF(("SemaThread: thread = %p exiting\n", PR_GetCurrentThread()));
 }
 
 static  PRSemaphore *sem_set1[2];
@@ -294,7 +294,7 @@ static void SemaContextSwitch(PRThreadSc
     if (NULL == t1) {
         fprintf(stderr, "SemaContextSwitch: cannot create thread\n");
     } else {
-        DPRINTF(("SemaContextSwitch: created %s thread = 0x%lx\n",
+        DPRINTF(("SemaContextSwitch: created %s thread = %p\n",
                 (scope1 == PR_GLOBAL_THREAD ?
                 "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD"),
                             t1));
@@ -309,7 +309,7 @@ static void SemaContextSwitch(PRThreadSc
     if (NULL == t2) {
         fprintf(stderr, "SemaContextSwitch: cannot create thread\n");
     } else {
-        DPRINTF(("SemaContextSwitch: created %s thread = 0x%lx\n",
+        DPRINTF(("SemaContextSwitch: created %s thread = %p\n",
                 (scope2 == PR_GLOBAL_THREAD ?
                 "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD"),
                             t2));
--- pr/tests/pipepong.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/pipepong.c
@@ -36,7 +36,7 @@ int main(int argc, char **argv)
         nBytes = fread(buf, 1, 5, stdin);
         fprintf(stderr, "pong process: received \"%s\"\n", buf);
         if (nBytes != 5) {
-            fprintf(stderr, "pong process: expected 5 bytes but got %d bytes\n",
+            fprintf(stderr, "pong process: expected 5 bytes but got %zd bytes\n",
                     nBytes);
             exit(1);
         }
--- pr/tests/poll_nm.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/poll_nm.c
@@ -47,7 +47,7 @@ PRIntn debug_mode;
 static void PR_CALLBACK
 clientThreadFunc(void *arg)
 {
-    PRUintn port = (PRUintn) arg;
+    PRUintn port = (intptr_t) arg;
     PRFileDesc *sock;
     PRNetAddr addr;
     char buf[128];
@@ -196,7 +196,7 @@ int main(int argc, char **argv)
     npds = 5;
 
     clientThread = PR_CreateThread(PR_USER_THREAD,
-	    clientThreadFunc, (void *) listenPort1,
+	    clientThreadFunc, (void *)(intptr_t)listenPort1,
 	    PR_PRIORITY_NORMAL, PR_LOCAL_THREAD,
 	    PR_UNJOINABLE_THREAD, 0);
     if (clientThread == NULL) {
@@ -206,7 +206,7 @@ int main(int argc, char **argv)
     }
 
     clientThread = PR_CreateThread(PR_USER_THREAD,
-	    clientThreadFunc, (void *) listenPort2,
+	    clientThreadFunc, (void *)(intptr_t)listenPort2,
 	    PR_PRIORITY_NORMAL, PR_LOCAL_THREAD,
 	    PR_UNJOINABLE_THREAD, 0);
     if (clientThread == NULL) {
--- pr/tests/prfz.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/prfz.c
@@ -7,7 +7,7 @@
  */
 
 #include "prprf.h"
-#include <sys/types.h>
+#include <stdint.h>
 #include <limits.h>
 #include <string.h>
 
--- pr/tests/provider.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/provider.c
@@ -1049,7 +1049,7 @@ int main(int argc, char **argv)
 {
     PRUintn index;
     PRBool boolean;
-    CSClient_t *client;
+    CSClient_t *client = NULL;
     PRStatus rv, joinStatus;
     CSServer_t *server = NULL;
 	char *thread_type;
--- pr/tests/prpoll.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/prpoll.c
@@ -39,7 +39,7 @@ int main(int argc, char **argv)
 static void
 clientThreadFunc(void *arg)
 {
-    PRUint16 port = (PRUint16) arg;
+    PRUint16 port = (PRUint16)(uintptr_t)arg;
     PRFileDesc *sock;
     PRNetAddr addr;
     char buf[BUF_SIZE];
@@ -73,7 +73,7 @@ int main(int argc, char **argv)
     PRInt32 rv;
     PROsfd sd;
     struct sockaddr_in saddr;
-    PRIntn saddr_len;
+    socklen_t saddr_len;
     PRUint16 listenPort3;
     PRFileDesc *socket_poll_fd;
     PRIntn i, j;
@@ -199,7 +199,7 @@ int main(int argc, char **argv)
     npds--;
 
     clientThread = PR_CreateThread(PR_USER_THREAD,
-	    clientThreadFunc, (void *) listenPort1,
+	    clientThreadFunc, (void *)(uintptr_t)listenPort1,
 	    PR_PRIORITY_NORMAL, PR_LOCAL_THREAD,
 	    PR_UNJOINABLE_THREAD, 0);
     if (clientThread == NULL) {
@@ -208,7 +208,7 @@ int main(int argc, char **argv)
     }
 
     clientThread = PR_CreateThread(PR_USER_THREAD,
-	    clientThreadFunc, (void *) listenPort2,
+	    clientThreadFunc, (void *)(uintptr_t)listenPort2,
 	    PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD,
 	    PR_UNJOINABLE_THREAD, 0);
     if (clientThread == NULL) {
@@ -217,7 +217,7 @@ int main(int argc, char **argv)
     }
 
     clientThread = PR_CreateThread(PR_USER_THREAD,
-	    clientThreadFunc, (void *) listenPort3,
+	    clientThreadFunc, (void *)(uintptr_t)listenPort3,
 	    PR_PRIORITY_NORMAL, PR_GLOBAL_BOUND_THREAD,
 	    PR_UNJOINABLE_THREAD, 0);
     if (clientThread == NULL) {
--- pr/tests/randseed.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/randseed.c
@@ -48,7 +48,6 @@ static void Help( void )
 static void PrintRand( void *buf, PRIntn size )
 {
     PRUint32 *rp = buf;
-    PRIntn   i;
 
     printf("%4.4d--\n", size );
     while (size > 0 ) {
--- pr/tests/ranfile.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/ranfile.c
@@ -130,7 +130,7 @@ static void PR_CALLBACK Thread(void *arg
     PRStatus rv = PR_SUCCESS;
     Hammer_t *cd = (Hammer_t*)arg;
 
-    (void)sprintf(filename, "%ssg%04ld.dat", baseName, cd->id);
+    (void)sprintf(filename, "%ssg%04d.dat", baseName, (int)cd->id);
 
     if (debug_mode) printf("Starting work on %s\n", filename);
 
@@ -364,14 +364,14 @@ int main(int argc, char **argv)
                 }
                 else
                     if (debug_mode) printf(
-                        "%s: test failed %s after %ld seconds\n",
-                        programName, where[hammer[poll].problem], duration);
+                        "%s: test failed %s after %d seconds\n",
+                        programName, where[hammer[poll].problem], (int)duration);
 					else failed_already=1;
             }
         }
     }
     if (debug_mode) printf(
-        "%s: [%ld [%ld] %ld] writes/sec average\n",
+        "%s: [%d [%d] %d] writes/sec average\n",
         programName, writesMin, writesTot * 1000 / durationTot, writesMax);
 
     PR_DestroyCondVar(cv);
--- pr/tests/runtests.sh.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/runtests.sh
@@ -58,9 +58,6 @@ fi
 # Tests not run (but should)
 #
 
-#forktest (failed on IRIX)
-#nbconn - fails on some platforms 
-#poll_er - fails on some platforms? limited use?
 #prpoll -  the bad-FD test needs to be moved to a different test
 #sleep	-  specific to OS/2
 
@@ -92,6 +89,7 @@ exit
 fdcach
 fileio
 foreign
+forktest
 formattm
 fsync
 gethost
@@ -99,7 +97,6 @@ getproto
 i2l
 initclk
 inrval
-instrumt
 intrio
 intrupt
 io_timeout
@@ -120,6 +117,7 @@ logger
 many_cv
 multiwait
 nameshm1
+nbconn
 nblayer
 nonblock
 ntioto
@@ -136,6 +134,7 @@ perf
 pipeping
 pipeping2
 pipeself
+poll_er
 poll_nm
 poll_to
 pollable
@@ -208,7 +207,7 @@ OBJDIR=`basename $PWD`
 printf "\nNSPR Test Results - $OBJDIR\n\n"
 printf "BEGIN\t\t\t`date`\n"
 printf "NSPR_TEST_LOGFILE\t${LOGFILE}\n\n"
-printf "Test\t\t\tResult\n\n"
+printf "            Test\t\t\tResult\n\n"
 if [ $OS_PLATFORM = "Windows_95" ] || [ $OS_PLATFORM = "Windows_98" ] || [ $OS_PLATFORM = "Windows_NT" ] || [ $OS_PLATFORM = "OS/2" ] ; then
 	for prog in $TESTS
 	do
@@ -226,10 +225,8 @@ if [ $OS_PLATFORM = "Windows_95" ] || [ 
 else
 	for prog in $TESTS
 	do
-		printf "$prog"
-		printf "\nBEGIN TEST: $prog\n\n" >> ${LOGFILE} 2>&1
-		export test_rval
-		./$prog >> ${LOGFILE} 2>&1 &
+		printf %16s $prog
+		./$prog >> $prog.output 2>&1 &
 		test_pid=$!
 		sleep_pid=0
 		if test -n "$TEST_TIMEOUT" && test "$TEST_TIMEOUT" -gt 0
@@ -244,28 +241,11 @@ else
 			printf "\t\t\tPassed\n";
 		else
 			printf "\t\t\tFAILED\n";
+			sed "s,^,	$prog:	," < $prog.output
 			rval=1
 		fi;
-		printf "\nEND TEST: $prog\n\n" >> ${LOGFILE} 2>&1
 	done
 fi;
 
 printf "END\t\t\t`date`\n"
 exit $rval
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
--- pr/tests/sel_spd.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/sel_spd.c
@@ -15,6 +15,9 @@
 #include <stdio.h>
 #include <errno.h>
 #include <string.h>
+#if defined(XP_UNIX) || defined(XP_OS2_EMX)
+#	include <unistd.h>	/* getopt(3) */
+#endif
 #ifdef SYMBIAN
 #include <getopt.h>
 #endif
@@ -22,16 +25,16 @@
 #define PORT_BASE 19000
 
 typedef struct timer_slot_t {
-	unsigned long d_connect;
-	unsigned long d_cl_data;
-	unsigned long d_sv_data;
-	unsigned long d_close;
-	unsigned long d_total;
-	unsigned long requests;
+	unsigned int d_connect;
+	unsigned int d_cl_data;
+	unsigned int d_sv_data;
+	unsigned int d_close;
+	unsigned int d_total;
+	unsigned int requests;
 } timer_slot_t;
 
-static long _iterations = 5;
-static long _client_data = 8192;
+static int _iterations = 5;
+static int _client_data = 8192;
 
 #ifdef SYMBIAN
 /*
@@ -40,12 +43,11 @@ static long _client_data = 8192;
  * memory and not be able to allocate thread stack or client/server data
  * buffer.
  */
-static long _server_data = (8*1024);
-static long _threads_max = 10, _threads = 10;
+static int _server_data = (8*1024);
 #else
-static long _server_data = (128*1024);
-static long _threads_max = 10, _threads = 10;
+static int _server_data = (128*1024);
 #endif
+static int _threads_max = 10, _threads = 10;
 
 static int verbose=0;
 static PRMonitor *exit_cv;
@@ -101,7 +103,7 @@ _server_thread(void *arg_id)
 	void _client_thread(void *);
 	PRThread *thread;
 	int *id =  (int *)arg_id;
-	PRFileDesc *sock;
+	PRFileDesc *sock = NULL;
 	PRSocketOptionData sockopt;
 	PRNetAddr sa;
 	PRFileDesc * newsock;
@@ -469,12 +471,12 @@ void
 tally_results(int verbose)
 {
 	int index;
-	unsigned long tot_connect = 0;
-	unsigned long tot_cl_data = 0;
-	unsigned long tot_sv_data = 0;
-	unsigned long tot_close = 0;
-	unsigned long tot_all = 0;
-	unsigned long tot_requests = 0;
+	unsigned int tot_connect = 0;
+	unsigned int tot_cl_data = 0;
+	unsigned int tot_sv_data = 0;
+	unsigned int tot_close = 0;
+	unsigned int tot_all = 0;
+	unsigned int tot_requests = 0;
 
 	fprintf(stdout, "Server results:\n\n");
 	for (index=0; index<_threads_max*2; index+=2) {
--- pr/tests/selct_nm.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/selct_nm.c
@@ -45,7 +45,7 @@ PRIntn debug_mode;
 static void
 clientThreadFunc(void *arg)
 {
-    PRUintn port = (PRUintn) arg;
+    PRUintn port = (PRUintn)(uintptr_t)arg;
     PRFileDesc *sock;
     PRNetAddr addr;
     char buf[128];
@@ -165,7 +165,7 @@ failed_already=1;
     if (debug_mode) printf("%s", buf);
 
     clientThread = PR_CreateThread(PR_USER_THREAD,
-	    clientThreadFunc, (void *) listenPort1,
+	    clientThreadFunc, (void *)(uintptr_t)listenPort1,
 	    PR_PRIORITY_NORMAL, PR_LOCAL_THREAD,
 	    PR_UNJOINABLE_THREAD, 0);
     if (clientThread == NULL) {
@@ -175,7 +175,7 @@ failed_already=1;
     }
 
     clientThread = PR_CreateThread(PR_USER_THREAD,
-	    clientThreadFunc, (void *) listenPort2,
+	    clientThreadFunc, (void *)(uintptr_t)listenPort2,
 	    PR_PRIORITY_NORMAL, PR_LOCAL_THREAD,
 	    PR_UNJOINABLE_THREAD, 0);
     if (clientThread == NULL) {
--- pr/tests/select2.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/select2.c
@@ -53,6 +53,7 @@ PRInt32 count;
 **      
 ***********************************************************************/
 
+static int exitcode = 2;
 
 static void Test_Result (int result)
 {
@@ -60,9 +61,12 @@ static void Test_Result (int result)
 	{
 		case PASS:
 			printf ("PASS\n");
+			if (exitcode == 2)
+				exitcode = 0;
 			break;
 		case FAIL:
 			printf ("FAIL\n");
+			exitcode = 1;
 			break;
 		default:
 			printf ("NOSTATUS\n");
@@ -319,4 +323,5 @@ int main(int argc, char **argv)
     PR_Cleanup();
 
 
+    return exitcode;
 }
--- pr/tests/semaerr.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/semaerr.c
@@ -65,7 +65,7 @@ int main(int argc, char **argv)
         exit(1);
     }
     if (PR_GetError() != PR_FILE_NOT_FOUND_ERROR) {
-        fprintf(stderr, "Expected error is %d but got (%d, %d)\n",
+        fprintf(stderr, "Expected error is %ld (PR_FILE_NOT_FOUND_ERROR) but got (%d, %d)\n",
                 PR_FILE_NOT_FOUND_ERROR, PR_GetError(), PR_GetOSError());
         exit(1);
     }
--- pr/tests/semaerr1.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/semaerr1.c
@@ -75,7 +75,7 @@ int main(int argc, char **argv)
         exit(1);
     }
     if (PR_GetError() != PR_FILE_EXISTS_ERROR) {
-        fprintf(stderr, "Expect %d but got %d\n", PR_FILE_EXISTS_ERROR,
+        fprintf(stderr, "Expected %ld (PR_FILE_EXISTS_ERROR) but got %d\n", PR_FILE_EXISTS_ERROR,
                 PR_GetError());
         exit(1);
     }
--- pr/tests/sendzlf.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/sendzlf.c
@@ -26,7 +26,7 @@ static void ClientThread(void *arg)
 {
     PRFileDesc *sock;
     PRNetAddr addr;
-    PRUint16 port = (PRUint16) arg;
+    PRUint16 port = (PRUint16)(uintptr_t)arg;
     char buf[1024];
     char *bufPtr;
     PRInt32 nbytes;
@@ -184,7 +184,7 @@ int main(int argc, char **argv)
     }
 
     clientThread = PR_CreateThread(PR_USER_THREAD,
-            ClientThread, (void *) PR_ntohs(PR_NetAddrInetPort(&addr)),
+            ClientThread, (void *)(uintptr_t)PR_ntohs(PR_NetAddrInetPort(&addr)),
             PR_PRIORITY_NORMAL, scope, PR_JOINABLE_THREAD, 0);
     if (NULL == clientThread) {
         fprintf(stderr, "PR_CreateThread failed\n");
--- pr/tests/server_test.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/server_test.c
@@ -60,7 +60,7 @@ PRCondVar *ServerStateCV;
 #ifdef DEBUGPRINTS
 #define DPRINTF printf
 #else
-#define DPRINTF
+#define DPRINTF(...)
 #endif
 
 
@@ -502,6 +502,7 @@ static void do_workUU(void)
     do_work();
 }
 
+#if 0
 static void do_workUK(void)
 {
     ServerScope = PR_LOCAL_THREAD;
@@ -522,6 +523,7 @@ static void do_workKK(void)
     ClientScope = PR_GLOBAL_THREAD;
     do_work();
 }
+#endif
 
 
 static void Measure(void (*func)(void), const char *msg)
--- pr/tests/servr_kk.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/servr_kk.c
@@ -57,7 +57,7 @@ PRCondVar *ServerStateCV;
 #ifdef DEBUGPRINTS
 #define DPRINTF printf
 #else
-#define DPRINTF
+#define DPRINTF(...)
 #endif
 
 PRIntn failed_already=0;
@@ -472,6 +472,7 @@ void do_work()
     PR_JoinThread(ServerThread);
 }
 
+#if 0
 static void do_workUU(void)
 {
     ServerScope = PR_LOCAL_THREAD;
@@ -492,6 +493,7 @@ static void do_workKU(void)
     ClientScope = PR_LOCAL_THREAD;
     do_work();
 }
+#endif
 
 static void do_workKK(void)
 {
--- pr/tests/servr_ku.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/servr_ku.c
@@ -57,7 +57,7 @@ PRCondVar *ServerStateCV;
 #ifdef DEBUGPRINTS
 #define DPRINTF printf
 #else
-#define DPRINTF
+#define DPRINTF(...)
 #endif
 
 PRIntn failed_already=0;
--- pr/tests/servr_uk.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/servr_uk.c
@@ -57,7 +57,7 @@ PRCondVar *ServerStateCV;
 #ifdef DEBUGPRINTS
 #define DPRINTF printf
 #else
-#define DPRINTF
+#define DPRINTF(...)
 #endif
 
 PRIntn failed_already=0;
--- pr/tests/servr_uu.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/servr_uu.c
@@ -57,7 +57,7 @@ PRCondVar *ServerStateCV;
 #ifdef DEBUGPRINTS
 #define DPRINTF printf
 #else
-#define DPRINTF
+#define DPRINTF(...)
 #endif
 
 PRIntn failed_already=0;
--- pr/tests/short_thread.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/short_thread.c
@@ -43,8 +43,8 @@ int main (int argc, char **argv)
 						 PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD, PR_UNJOINABLE_THREAD, 0)) 
 																		== NULL ) {
 		fprintf(stderr,
-			"simple_test: Error - PR_CreateThread failed: (%ld, %ld)\n",
-									  PR_GetError(), PR_GetOSError());
+			"simple_test: Error - PR_CreateThread failed: (%d, %d)\n",
+						  PR_GetError(), PR_GetOSError());
 		exit( 1 );
 	}
 	PR_Cleanup();
--- pr/tests/socket.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/socket.c
@@ -103,13 +103,15 @@ char *LARGE_FILE_NAME = "/tmp/prsocket_t
 #endif
 
 static PRInt32 num_tcp_clients = NUM_TCP_CLIENTS;
-static PRInt32 num_udp_clients = NUM_UDP_CLIENTS;
 static PRInt32 num_transmitfile_clients = NUM_TRANSMITFILE_CLIENTS;
 static PRInt32 num_tcp_connections_per_client = NUM_TCP_CONNECTIONS_PER_CLIENT;
 static PRInt32 tcp_mesg_size = TCP_MESG_SIZE;
 static PRInt32 num_tcp_mesgs_per_connection = NUM_TCP_MESGS_PER_CONNECTION;
+#if defined(SYMBIAN) && !defined(__WINSCW__)
+static PRInt32 num_udp_clients = NUM_UDP_CLIENTS;
 static PRInt32 num_udp_datagrams_per_client = NUM_UDP_DATAGRAMS_PER_CLIENT;
 static PRInt32 udp_datagram_size = UDP_DGRAM_SIZE;
+#endif
 
 static PRInt32 thread_count;
 PRUint16 server_domain = PR_AF_INET, client_domain = PR_AF_INET;
@@ -181,19 +183,23 @@ readn(PRFileDesc *sockfd, char *buf, int
     int rem;
     int bytes;
     int offset = 0;
+#ifdef WINNT
 	int err;
+#endif
 	PRIntervalTime timeout = PR_INTERVAL_NO_TIMEOUT;
 
 	if (test_cancelio)
 		timeout = PR_SecondsToInterval(2);
 
     for (rem=len; rem; offset += bytes, rem -= bytes) {
-        DPRINTF(("thread = 0x%lx: calling PR_Recv, bytes = %d\n",
+        DPRINTF(("thread = %p: calling PR_Recv, bytes = %d\n",
             PR_GetCurrentThread(), rem));
+#ifdef WINNT
 retry:
+#endif
         bytes = PR_Recv(sockfd, buf + offset, rem, 0,
             	timeout);
-        DPRINTF(("thread = 0x%lx: returning from PR_Recv, bytes = %d\n",
+        DPRINTF(("thread = %p: returning from PR_Recv, bytes = %d\n",
             PR_GetCurrentThread(), bytes));
         if (bytes < 0) {
 #ifdef WINNT
@@ -224,11 +230,11 @@ writen(PRFileDesc *sockfd, char *buf, in
     int offset = 0;
 
     for (rem=len; rem; offset += bytes, rem -= bytes) {
-        DPRINTF(("thread = 0x%lx: calling PR_Send, bytes = %d\n",
+        DPRINTF(("thread = %p: calling PR_Send, bytes = %d\n",
             PR_GetCurrentThread(), rem));
         bytes = PR_Send(sockfd, buf + offset, rem, 0,
             PR_INTERVAL_NO_TIMEOUT);
-        DPRINTF(("thread = 0x%lx: returning from PR_Send, bytes = %d\n",
+        DPRINTF(("thread = %p: returning from PR_Send, bytes = %d\n",
             PR_GetCurrentThread(), bytes));
         if (bytes <= 0)
             return -1;
@@ -279,7 +285,7 @@ Serve_Client(void *arg)
                 fprintf(stderr,"prsocket_test: ERROR - PR_Shutdown\n");
             }
 #endif
-        DPRINTF(("Serve_Client [0x%lx]: inbuf[0] = 0x%lx\n",PR_GetCurrentThread(),
+        DPRINTF(("Serve_Client [%p]: inbuf[0] = %d\n",PR_GetCurrentThread(),
             (*((int *) in_buf->data))));
         if (writen(sockfd, in_buf->data, bytes) < bytes) {
             fprintf(stderr,"prsocket_test: ERROR - Serve_Client:writen\n");
@@ -418,7 +424,7 @@ TCP_Server(void *arg)
         goto exit;
     }
 
-    DPRINTF(("TCP_Server: PR_BIND netaddr.inet.ip = 0x%lx, netaddr.inet.port = %d\n",
+    DPRINTF(("TCP_Server: PR_BIND netaddr.inet.ip = 0x%x, netaddr.inet.port = %d\n",
         netaddr.inet.ip, netaddr.inet.port));
 	if (PR_SetNetAddr(PR_IpAddrLoopback, client_domain,
 									PR_ntohs(PR_NetAddrInetPort(&netaddr)),
@@ -460,7 +466,7 @@ TCP_Server(void *arg)
         scp->datalen = sp->datalen;
 
         t = create_new_thread(PR_USER_THREAD,
-            Serve_Client, (void *)scp, 
+            Serve_Client, (void *)scp,
             PR_PRIORITY_NORMAL,
             PR_LOCAL_THREAD,
             PR_UNJOINABLE_THREAD,
@@ -470,7 +476,7 @@ TCP_Server(void *arg)
             failed_already=1;
             goto exit;
         }
-        DPRINTF(("TCP_Server: Created Serve_Client = 0x%lx\n", t));
+        DPRINTF(("TCP_Server: Created Serve_Client = %p\n", t));
     }
 
 exit:
@@ -486,9 +492,10 @@ exit:
     --(*sp->exit_counter);
     PR_Notify(sp->exit_mon);
     PR_ExitMonitor(sp->exit_mon);
-    DPRINTF(("TCP_Server [0x%lx] exiting\n", PR_GetCurrentThread()));
+    DPRINTF(("TCP_Server [%p] exiting\n", PR_GetCurrentThread()));
 }
 
+#if defined(SYMBIAN) && !defined(__WINSCW__)
 /*
  * UDP Server
  *    Server Thread
@@ -544,7 +551,7 @@ UDP_Server(void *arg)
         return;
     }
 
-    DPRINTF(("PR_Bind: UDP Server netaddr.inet.ip = 0x%lx, netaddr.inet.port = %d\n",
+    DPRINTF(("PR_Bind: UDP Server netaddr.inet.ip = 0x%x, netaddr.inet.port = %d\n",
         netaddr.inet.ip, netaddr.inet.port));
     /*
      * We can't use the IP address returned by PR_GetSockName in
@@ -582,13 +589,13 @@ UDP_Server(void *arg)
      */
     memset(&netaddr, 0 , sizeof(netaddr));
     for (i = 0; i < (num_udp_clients * num_udp_datagrams_per_client); i++) {
-        DPRINTF(("UDP_Server: calling PR_RecvFrom client  - ip = 0x%lx, port = %d bytes = %d inbuf = 0x%lx, inbuf[0] = 0x%lx\n",
+        DPRINTF(("UDP_Server: calling PR_RecvFrom client  - ip = 0x%x, port = %d bytes = %d inbuf = %p, inbuf[0] = 0x%x\n",
             netaddr.inet.ip, netaddr.inet.port, bytes, in_buf->data,
             in_buf->data[0]));
 
         rv = PR_RecvFrom(sockfd, in_buf->data, bytes, 0, &netaddr,
             PR_INTERVAL_NO_TIMEOUT);
-        DPRINTF(("UDP_Server: PR_RecvFrom client  - ip = 0x%lx, port = %d bytes = %d inbuf = 0x%lx, inbuf[0] = 0x%lx\n",
+        DPRINTF(("UDP_Server: PR_RecvFrom client  - ip = 0x%x, port = %d bytes = %d inbuf = %p, inbuf[0] = 0x%x\n",
             netaddr.inet.ip, netaddr.inet.port, rv, in_buf->data,
             in_buf->data[0]));
         if (rv != bytes) {
@@ -611,8 +618,9 @@ UDP_Server(void *arg)
     --(*sp->exit_counter);
     PR_Notify(sp->exit_mon);
     PR_ExitMonitor(sp->exit_mon);
-    DPRINTF(("UDP_Server [0x%x] exiting\n", PR_GetCurrentThread()));
+    DPRINTF(("UDP_Server [%p] exiting\n", PR_GetCurrentThread()));
 }
+#endif /* defined(SYMBIAN) && !defined(__WINSCW__) */
 
 /*
  * TCP_Client
@@ -655,7 +663,7 @@ TCP_Client(void *arg)
         }
         if (PR_Connect(sockfd, &netaddr,PR_INTERVAL_NO_TIMEOUT) < 0){
         	fprintf(stderr, "PR_Connect failed: (%ld, %ld)\n",
-            		PR_GetError(), PR_GetOSError());
+            		(long)PR_GetError(), (long)PR_GetOSError());
             failed_already=1;
             return;
         }
@@ -663,7 +671,7 @@ TCP_Client(void *arg)
             /*
              * fill in random data
              */
-            memset(out_buf->data, ((PRInt32) (&netaddr)) + i + j, bytes);
+            memset(out_buf->data, ((intptr_t)(&netaddr)) + i + j, bytes);
             /*
              * write to server
              */
@@ -676,7 +684,7 @@ TCP_Client(void *arg)
                 failed_already=1;
                 return;
             }
-            DPRINTF(("TCP Client [0x%lx]: out_buf = 0x%lx out_buf[0] = 0x%lx\n",
+            DPRINTF(("TCP Client [%p]: out_buf = %p out_buf[0] = 0x%x\n",
                 PR_GetCurrentThread(), out_buf, (*((int *) out_buf->data))));
             if (readn(sockfd, in_buf->data, bytes) < bytes) {
                 fprintf(stderr,"prsocket_test: ERROR - TCP_Client:readn\n");
@@ -716,13 +724,14 @@ TCP_Client(void *arg)
     --(*cp->exit_counter);
     PR_Notify(cp->exit_mon);
     PR_ExitMonitor(cp->exit_mon);
-    DPRINTF(("TCP_Client [0x%x] exiting\n", PR_GetCurrentThread()));
+    DPRINTF(("TCP_Client [%p] exiting\n", PR_GetCurrentThread()));
 }
 
+#if defined(SYMBIAN) && !defined(__WINSCW__)
 /*
  * UDP_Client
  *    Client Thread
- *    Create a socket and bind an address 
+ *    Create a socket and bind an address
  *    Communicate with the server at the address specified in the argument.
  *    Fill in a buffer, write data to server, read it back and check
  *    for data corruption.
@@ -780,7 +789,7 @@ UDP_Client(void *arg)
         return;
     }
 
-    DPRINTF(("PR_Bind: UDP Client netaddr.inet.ip = 0x%lx, netaddr.inet.port = %d\n",
+    DPRINTF(("PR_Bind: UDP Client netaddr.inet.ip = 0x%x, netaddr.inet.port = %d\n",
         netaddr.inet.ip, netaddr.inet.port));
 
     netaddr = cp->server_addr;
@@ -797,9 +806,9 @@ UDP_Client(void *arg)
         /*
          * fill in random data
          */
-        DPRINTF(("UDP_Client [0x%lx]: out_buf = 0x%lx bytes = 0x%lx\n",
+        DPRINTF(("UDP_Client [%p]: out_buf = %p bytes = %d\n",
             PR_GetCurrentThread(), out_buf->data, bytes));
-        memset(out_buf->data, ((PRInt32) (&netaddr)) + i, bytes);
+        memset(out_buf->data, ((intptr_t)(&netaddr)) + i, bytes);
         /*
          * write to server
          */
@@ -812,7 +821,7 @@ UDP_Client(void *arg)
         if (rv != bytes) {
             return;
         }
-        DPRINTF(("UDP_Client [0x%lx]: out_buf = 0x%lx out_buf[0] = 0x%lx\n",
+        DPRINTF(("UDP_Client [%p]: out_buf = %p out_buf[0] = 0x%x\n",
             PR_GetCurrentThread(), out_buf, (*((int *) out_buf->data))));
         if (cp->udp_connect)
             rv = PR_Recv(sockfd, in_buf->data, bytes, 0,
@@ -823,7 +832,7 @@ UDP_Client(void *arg)
         if (rv != bytes) {
             return;
         }
-        DPRINTF(("UDP_Client [0x%lx]: in_buf = 0x%lx in_buf[0] = 0x%lx\n",
+        DPRINTF(("UDP_Client [%p]: in_buf = %p in_buf[0] = 0x%x\n",
             PR_GetCurrentThread(), in_buf, (*((int *) in_buf->data))));
         /*
          * verify the data read
@@ -848,12 +857,13 @@ UDP_Client(void *arg)
     PR_Notify(cp->exit_mon);
     PR_ExitMonitor(cp->exit_mon);
     PR_DELETE(cp);
-    DPRINTF(("UDP_Client [0x%x] exiting\n", PR_GetCurrentThread()));
+    DPRINTF(("UDP_Client [%p] exiting\n", PR_GetCurrentThread()));
 }
+#endif /* defined(SYMBIAN) && !defined(__WINSCW__) */
 
 /*
  * TCP_Socket_Client_Server_Test    - concurrent server test
- *    
+ *
  *    One server and several clients are started
  *    Each client connects to the server and sends a chunk of data
  *    For each connection, server starts another thread to read the data
@@ -905,7 +915,7 @@ TCP_Socket_Client_Server_Test(void)
     sparamp->exit_counter = &thread_count;
     sparamp->datalen = datalen;
     t = PR_CreateThread(PR_USER_THREAD,
-        TCP_Server, (void *)sparamp, 
+        TCP_Server, (void *)sparamp,
         PR_PRIORITY_NORMAL,
         PR_LOCAL_THREAD,
         PR_UNJOINABLE_THREAD,
@@ -915,7 +925,7 @@ TCP_Socket_Client_Server_Test(void)
         failed_already=1;
         return -1;
     }
-    DPRINTF(("Created TCP server = 0x%lx\n", t));
+    DPRINTF(("Created TCP server = %p\n", t));
     thread_count++;
 
     /*
@@ -949,7 +959,7 @@ TCP_Socket_Client_Server_Test(void)
             failed_already=1;
             return -1;
         }
-        DPRINTF(("Created TCP client = 0x%lx\n", t));
+        DPRINTF(("Created TCP client = %p\n", t));
         thread_count++;
     }
     /* Wait for server and client threads to exit */
@@ -959,17 +969,18 @@ TCP_Socket_Client_Server_Test(void)
     }
     PR_ExitMonitor(mon2);
     printf("%30s","TCP_Socket_Client_Server_Test:");
-    printf("%2ld Server %2ld Clients %2ld connections_per_client\n",1l,
+    printf(" 1 Server %2d Clients %2d connections_per_client\n",
         num_tcp_clients, num_tcp_connections_per_client);
-    printf("%30s %2ld messages_per_connection %4ld bytes_per_message\n",":",
+    printf("%30s %2d messages_per_connection %4d bytes_per_message\n",":",
         num_tcp_mesgs_per_connection, tcp_mesg_size);
 
     return 0;
 }
 
+#if defined(SYMBIAN) && !defined(__WINSCW__)
 /*
  * UDP_Socket_Client_Server_Test    - iterative server test
- *    
+ *
  *    One server and several clients are started
  *    Each client connects to the server and sends a chunk of data
  *    For each connection, server starts another thread to read the data
@@ -1023,7 +1034,7 @@ UDP_Socket_Client_Server_Test(void)
     sparamp->datalen = datalen;
     DPRINTF(("Creating UDP server"));
     t = PR_CreateThread(PR_USER_THREAD,
-        UDP_Server, (void *)sparamp, 
+        UDP_Server, (void *)sparamp,
         PR_PRIORITY_NORMAL,
         PR_LOCAL_THREAD,
         PR_UNJOINABLE_THREAD,
@@ -1084,12 +1095,13 @@ UDP_Socket_Client_Server_Test(void)
     }
     PR_ExitMonitor(mon2);
     printf("%30s","UDP_Socket_Client_Server_Test: ");
-    printf("%2ld Server %2ld Clients\n",1l, num_udp_clients);
-    printf("%30s %2ld datagrams_per_client %4ld bytes_per_datagram\n",":",
+    printf(" 1 Server %2d Clients\n", num_udp_clients);
+    printf("%30s %2d datagrams_per_client %4d bytes_per_datagram\n",":",
         num_udp_datagrams_per_client, udp_datagram_size);
 
     return 0;
 }
+#endif /* defined(SYMBIAN) && !defined(__WINSCW__) */
 
 static PRFileDesc *small_file_fd, *large_file_fd;
 static void *small_file_addr, *small_file_header, *large_file_addr;
@@ -1441,7 +1453,7 @@ TransmitFile_Client(void *arg)
     --(*cp->exit_counter);
     PR_Notify(cp->exit_mon);
     PR_ExitMonitor(cp->exit_mon);
-    DPRINTF(("TransmitFile_Client [0x%lx] exiting\n", PR_GetCurrentThread()));
+    DPRINTF(("TransmitFile_Client [%p] exiting\n", PR_GetCurrentThread()));
 }
 
 /*
@@ -1484,7 +1496,7 @@ Serve_TransmitFile_Client(void *arg)
     if (bytes != (SMALL_FILE_SIZE+ SMALL_FILE_HEADER_SIZE)) {
         fprintf(stderr,
             "prsocet_test: PR_TransmitFile failed: (%ld, %ld)\n",
-            PR_GetError(), PR_GetOSError());
+            (long)PR_GetError(), (long)PR_GetOSError());
         failed_already=1;
     }
     bytes = PR_TransmitFile(sockfd, local_large_file_fd, NULL, 0,
@@ -1492,7 +1504,7 @@ Serve_TransmitFile_Client(void *arg)
     if (bytes != LARGE_FILE_SIZE) {
         fprintf(stderr,
             "prsocket_test: PR_TransmitFile failed: (%ld, %ld)\n",
-            PR_GetError(), PR_GetOSError());
+            (long)PR_GetError(), (long)PR_GetOSError());
         failed_already=1;
     }
 
@@ -1520,7 +1532,7 @@ Serve_TransmitFile_Client(void *arg)
 									slen, bytes);
         fprintf(stderr,
             "prsocket_test: PR_SendFile failed: (%ld, %ld)\n",
-            PR_GetError(), PR_GetOSError());
+            (long)PR_GetError(), (long)PR_GetOSError());
         failed_already=1;
     }
 
@@ -1544,7 +1556,7 @@ Serve_TransmitFile_Client(void *arg)
 									slen, bytes);
         fprintf(stderr,
             "prsocket_test: PR_SendFile failed: (%ld, %ld)\n",
-            PR_GetError(), PR_GetOSError());
+            (long)PR_GetError(), (long)PR_GetOSError());
         failed_already=1;
     }
 	/*
@@ -1566,7 +1578,7 @@ Serve_TransmitFile_Client(void *arg)
 									slen, bytes);
         fprintf(stderr,
             "prsocket_test: PR_SendFile failed: (%ld, %ld)\n",
-            PR_GetError(), PR_GetOSError());
+            (long)PR_GetError(), (long)PR_GetOSError());
         failed_already=1;
     }
 	/*
@@ -1588,7 +1600,7 @@ Serve_TransmitFile_Client(void *arg)
 									slen, bytes);
         fprintf(stderr,
             "prsocket_test: PR_SendFile failed: (%ld, %ld)\n",
-            PR_GetError(), PR_GetOSError());
+            (long)PR_GetError(), (long)PR_GetOSError());
         failed_already=1;
     }
 	/*
@@ -1610,7 +1622,7 @@ Serve_TransmitFile_Client(void *arg)
 									slen, bytes);
         fprintf(stderr,
             "prsocket_test: PR_SendFile failed: (%ld, %ld)\n",
-            PR_GetError(), PR_GetOSError());
+            (long)PR_GetError(), (long)PR_GetOSError());
         failed_already=1;
     }
 	/*
@@ -1632,7 +1644,7 @@ Serve_TransmitFile_Client(void *arg)
 									slen, bytes);
         fprintf(stderr,
             "prsocket_test: PR_SendFile failed: (%ld, %ld)\n",
-            PR_GetError(), PR_GetOSError());
+            (long)PR_GetError(), (long)PR_GetOSError());
         failed_already=1;
     }
 	/*
@@ -1654,7 +1666,7 @@ Serve_TransmitFile_Client(void *arg)
 									slen, bytes);
         fprintf(stderr,
             "prsocket_test: PR_SendFile failed: (%ld, %ld)\n",
-            PR_GetError(), PR_GetOSError());
+            (long)PR_GetError(), (long)PR_GetOSError());
         failed_already=1;
     }
 	/*
@@ -1678,7 +1690,7 @@ Serve_TransmitFile_Client(void *arg)
 									slen, bytes);
         fprintf(stderr,
             "prsocket_test: PR_SendFile failed: (%ld, %ld)\n",
-            PR_GetError(), PR_GetOSError());
+            (long)PR_GetError(), (long)PR_GetOSError());
         failed_already=1;
     }
 done:
@@ -1752,7 +1764,7 @@ TransmitFile_Server(void *arg)
         goto exit;
     }
 
-    DPRINTF(("TCP_Server: PR_BIND netaddr.inet.ip = 0x%lx, netaddr.inet.port = %d\n",
+    DPRINTF(("TCP_Server: PR_BIND netaddr.inet.ip = 0x%x, netaddr.inet.port = %d\n",
         netaddr.inet.ip, netaddr.inet.port));
     tcp_server_addr.inet.family = netaddr.inet.family;
     tcp_server_addr.inet.port = netaddr.inet.port;
@@ -1807,7 +1819,7 @@ TransmitFile_Server(void *arg)
         scp->datalen = sp->datalen;
 
         t[i] = PR_CreateThread(PR_USER_THREAD,
-            Serve_TransmitFile_Client, (void *)scp, 
+            Serve_TransmitFile_Client, (void *)scp,
             PR_PRIORITY_NORMAL,
             PR_LOCAL_THREAD,
             PR_JOINABLE_THREAD,
@@ -1818,7 +1830,7 @@ TransmitFile_Server(void *arg)
             failed_already=1;
             goto exit;
         }
-        DPRINTF(("TransmitFile_Server: Created Serve_TransmitFile_Client = 0x%lx\n", t));
+        DPRINTF(("TransmitFile_Server: Created Serve_TransmitFile_Client = %p\n", t));
     }
 
     /*
@@ -1846,12 +1858,12 @@ exit:
     --(*sp->exit_counter);
     PR_Notify(sp->exit_mon);
     PR_ExitMonitor(sp->exit_mon);
-    DPRINTF(("TransmitFile_Server [0x%lx] exiting\n", PR_GetCurrentThread()));
+    DPRINTF(("TransmitFile_Server [%p] exiting\n", PR_GetCurrentThread()));
 }
 
 /*
- * Socket_Misc_Test    - test miscellaneous functions 
- *    
+ * Socket_Misc_Test    - test miscellaneous functions
+ *
  */
 static PRInt32
 Socket_Misc_Test(void)
@@ -1986,7 +1998,7 @@ Socket_Misc_Test(void)
             fprintf(stderr,
                 "prsocket_test failed to write to file %s: (%ld, %ld)\n",
                 LARGE_FILE_NAME,
-                PR_GetError(), PR_GetOSError());
+                (long)PR_GetError(), (long)PR_GetOSError());
             failed_already=1;
             rv = -1;
             goto done;
@@ -2065,7 +2077,7 @@ Socket_Misc_Test(void)
     sparamp->exit_counter = &thread_count;
     sparamp->datalen = datalen;
     t = PR_CreateThread(PR_USER_THREAD,
-        TransmitFile_Server, (void *)sparamp, 
+        TransmitFile_Server, (void *)sparamp,
         PR_PRIORITY_NORMAL,
         PR_LOCAL_THREAD,
         PR_UNJOINABLE_THREAD,
@@ -2076,7 +2088,7 @@ Socket_Misc_Test(void)
         rv = -1;
         goto done;
     }
-    DPRINTF(("Created TCP server = 0x%x\n", t));
+    DPRINTF(("Created TCP server = %p\n", t));
     thread_count++;
 
     /*
@@ -2113,7 +2125,7 @@ Socket_Misc_Test(void)
             failed_already=1;
             goto done;
         }
-        DPRINTF(("Created TransmitFile client = 0x%lx\n", t));
+        DPRINTF(("Created TransmitFile client = %p\n", t));
         thread_count++;
     }
     /* Wait for server and client threads to exit */
@@ -2144,7 +2156,7 @@ done:
     }
     if ((PR_RmDir(TEST_DIR)) == PR_FAILURE) {
         fprintf(stderr,"prsocket_test failed to rmdir %s: (%ld, %ld)\n",
-            TEST_DIR, PR_GetError(), PR_GetOSError());
+            TEST_DIR, (long)PR_GetError(), (long)PR_GetOSError());
         failed_already=1;
     }
 
--- pr/tests/sprintf.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/sprintf.c
@@ -127,7 +127,7 @@ static void test_l(char *pattern, char *
 	(strncmp(s, sbuf, sizeof(sbuf)) != 0)) {
 	fprintf(stderr,
 	   "pattern='%s' l=%ld\nPR_smprintf='%s'\nPR_snprintf='%s'\n    sprintf='%s'\n",
-	   pattern, l, s, buf, sbuf);
+	   pattern, (long)l, s, buf, sbuf);
 	PR_smprintf_free(s);
 	exit(-1);
     }
--- pr/tests/stack.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/stack.c
@@ -54,7 +54,7 @@ PRFileDesc  *errhandle;
 int main(int argc, char **argv)
 {
 #if !(defined(SYMBIAN) && defined(__WINS__))
-    PRInt32 rv, cnt, sum;
+    PRInt32 cnt, sum;
 	DataRecord	*Item;
 	PRStack		*list1, *list2;
 	PRStackElem	*node;
@@ -209,7 +209,7 @@ int main(int argc, char **argv)
 static void stackop(void *thread_arg)
 {
     PRInt32 val, cnt, index, loops;
-	DataRecord	*Items, *Item;
+	DataRecord	*Items;
 	PRStack		*list1, *list2;
 	PRStackElem	*node;
 	stack_data *arg = (stack_data *) thread_arg;
--- pr/tests/suspend.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/suspend.c
@@ -30,14 +30,14 @@ void PR_CALLBACK
 Level_2_Thread(void *arg)
 {
     PR_Sleep(PR_MillisecondsToInterval(4 * 1000));
-    printf("Level_2_Thread[0x%lx] exiting\n",PR_GetCurrentThread());
+    printf("Level_2_Thread[%p] exiting\n",PR_GetCurrentThread());
     return;
 }
 
 void PR_CALLBACK
 Level_1_Thread(void *arg)
 {
-    PRUint32 tmp = (PRUint32)arg;
+    PRUint32 tmp = (PRUint32)(uintptr_t)arg;
     PRThreadScope scope = (PRThreadScope) tmp;
     PRThread *thr;
 
@@ -52,7 +52,7 @@ Level_1_Thread(void *arg)
     if (!thr) {
         printf("Could not create thread!\n");
     } else {
-        printf("Level_1_Thread[0x%lx] created %15s thread 0x%lx\n",
+        printf("Level_1_Thread[%p] created %15s thread %p\n",
             PR_GetCurrentThread(),
             (scope == PR_GLOBAL_THREAD) ?
             "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD",
@@ -63,7 +63,7 @@ Level_1_Thread(void *arg)
     alive--;
     PR_Notify(mon);
     PR_ExitMonitor(mon);
-    printf("Thread[0x%lx] exiting\n",PR_GetCurrentThread());
+    printf("Thread[%p] exiting\n",PR_GetCurrentThread());
 }
 
 static PRStatus PR_CALLBACK print_thread(PRThread *thread, int i, void *arg)
@@ -72,14 +72,15 @@ static PRStatus PR_CALLBACK print_thread
     PRWord *registers;
 
     printf(
-        "\nprint_thread[0x%lx]: %-20s - i = %ld\n",thread, 
+        "\nprint_thread[%p]: %-20s - i = %ld\n",thread, 
         (PR_GLOBAL_THREAD == PR_GetThreadScope(thread)) ?
         "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD", i);
     registers = PR_GetGCRegisters(thread, 0, (int *)&words);
     if (registers)
-        printf("Registers R0 = 0x%x R1 = 0x%x R2 = 0x%x R3 = 0x%x\n",
-            registers[0],registers[1],registers[2],registers[3]);
-    printf("Stack Pointer = 0x%lx\n", PR_GetSP(thread));
+        printf("Regsters R0 = 0x%lx R1 = 0x%lx R2 = 0x%lx R3 = 0x%lx\n",
+           (unsigned long)registers[0], (unsigned long)registers[1],
+           (unsigned long)registers[2], (unsigned long)registers[3]);
+    printf("Stack Pointer = %p\n", PR_GetSP(thread));
     return PR_SUCCESS;
 }
 
@@ -107,7 +108,7 @@ static void Level_0_Thread(PRThreadScope
             printf("Could not create thread!\n");
             alive--;
         }
-        printf("Level_0_Thread[0x%lx] created %15s thread 0x%lx\n",
+        printf("Level_0_Thread[%p] created %15s thread %p\n",
             PR_GetCurrentThread(),
             (scope1 == PR_GLOBAL_THREAD) ?
             "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD",
@@ -119,9 +120,10 @@ static void Level_0_Thread(PRThreadScope
     PR_EnumerateThreads(print_thread, NULL);
     registers = PR_GetGCRegisters(me, 1, (int *)&words);
     if (registers)
-        printf("My Registers: R0 = 0x%x R1 = 0x%x R2 = 0x%x R3 = 0x%x\n",
-            registers[0],registers[1],registers[2],registers[3]);
-    printf("My Stack Pointer = 0x%lx\n", PR_GetSP(me));
+        printf("My Registers: R0 = 0x%lx R1 = 0x%lx R2 = 0x%lx R3 = 0x%lx\n",
+            (unsigned long)registers[0], (unsigned long)registers[1],
+            (unsigned long)registers[2], (unsigned long)registers[3]);
+    printf("My Stack Pointer = %p\n", PR_GetSP(me));
     PR_ResumeAll();
 
     /* Wait for all threads to exit */
--- pr/tests/switch.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/switch.c
@@ -80,7 +80,7 @@ PRIntn PR_CALLBACK Switch(PRIntn argc, c
     PRStatus status;
     PRBool help = PR_FALSE;
     PRUintn concurrency = 1;
-    Shared *shared, *link;
+    Shared *shared = NULL, *link;
     PRIntervalTime timein, timeout;
     PRThreadScope thread_scope = PR_LOCAL_THREAD;
     PRUintn thread_count, inner_count, loop_count, average;
--- pr/tests/testfile.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/testfile.c
@@ -36,6 +36,9 @@ static int _debug_on = 0;
 #ifdef XP_WIN
 #define mode_t int
 #endif
+#if defined(XP_UNIX) || defined(XP_OS2_EMX)
+#	include <unistd.h>	/* getopt(3) */
+#endif
 
 #define DPRINTF(arg) if (_debug_on) printf arg
 
@@ -93,7 +96,7 @@ static PRInt32 PR_CALLBACK DirTest(void 
 PRInt32 dirtest_failed = 0;
 
 PRThread* create_new_thread(PRThreadType type,
-							void (*start)(void *arg),
+							void *(*start)(void *arg),
 							void *arg,
 							PRThreadPriority priority,
 							PRThreadScope scope,
@@ -155,7 +158,7 @@ PRInt32 native_thread = 0;
 		return((PRThread *) thandle);
 #endif
 	} else {
-		return(PR_CreateThread(type,start,arg,priority,scope,state,stackSize));
+		return(PR_CreateThread(type,(void (*)(void*))start,arg,priority,scope,state,stackSize));
 	}
 #else
 	return(PR_CreateThread(type,start,arg,priority,scope,state,stackSize));
@@ -316,8 +319,8 @@ char tmpname[1024];
 		printf(
 		"testfile PR_GetFileInfo returned incorrect status-change time: %s\n",
 		pathname);
-		printf("ft = %lld, ft1 = %lld\n",file_info.creationTime,
-									file_info1.creationTime);
+		printf("ft = %lld, ft1 = %lld\n", (long long)file_info.creationTime,
+			(long long)file_info1.creationTime);
 		rv = -1;
 		goto cleanup;
 	}
@@ -342,8 +345,8 @@ char tmpname[1024];
 		printf(
 		"testfile PR_GetFileInfo returned incorrect modify time: %s\n",
 		pathname);
-		printf("ft = %lld, ft1 = %lld\n",file_info.modifyTime,
-									file_info1.modifyTime);
+		printf("ft = %lld, ft1 = %lld\n", (long long)file_info.modifyTime,
+			(long long)file_info1.modifyTime);
 		rv = -1;
 		goto cleanup;
 	}
@@ -469,7 +472,7 @@ File_Rdwr_Param *fparamp;
 		memset(fparamp->buf, i, len);
 
 		t = create_new_thread(PR_USER_THREAD,
-			      File_Write, (void *)fparamp, 
+			      (void *(*)(void *))File_Write, (void *)fparamp, 
 			      PR_PRIORITY_NORMAL,
 			      scope,
 			      PR_UNJOINABLE_THREAD,
@@ -504,7 +507,7 @@ File_Rdwr_Param *fparamp;
 		fparamp->len = len;
 
 		t = create_new_thread(PR_USER_THREAD,
-			      File_Read, (void *)fparamp, 
+			      (void *(*)(void *))File_Read, (void *)fparamp, 
 			      PR_PRIORITY_NORMAL,
 			      scope,
 			      PR_UNJOINABLE_THREAD,
@@ -572,7 +575,7 @@ struct dirtest_arg thrarg;
 
 		thrarg.done= 0;
 		t = create_new_thread(PR_USER_THREAD,
-			      DirTest, &thrarg, 
+			      (void *(*)(void *))DirTest, &thrarg, 
 			      PR_PRIORITY_NORMAL,
 			      PR_LOCAL_THREAD,
 			      PR_UNJOINABLE_THREAD,
@@ -895,8 +898,6 @@ int main(int argc, char **argv)
 #endif
 #if defined(XP_UNIX) || defined(XP_OS2)
         int opt;
-        extern char *optarg;
-	extern int optind;
 #endif
 #if defined(XP_UNIX) || defined(XP_OS2)
         while ((opt = getopt(argc, argv, "d")) != EOF) {
--- pr/tests/threads.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/threads.c
@@ -27,7 +27,7 @@ void
 PR_CALLBACK
 DumbThread(void *arg)
 {
-    PRInt32 tmp = (PRInt32)arg;
+    PRInt32 tmp = (PRInt32)(intptr_t)arg;
     PRThreadScope scope = (PRThreadScope)tmp;
     PRThread *thr;
 
@@ -167,10 +167,10 @@ int main(int argc, char **argv)
 
     if (debug_mode)
     {
-    printf("\
-** Tests lots of thread creations.  \n\
-** Create %ld native threads %ld times. \n\
-** Create %ld user threads %ld times \n", iterations,count,iterations,count);
+    printf("** Tests lots of thread creations.\n"
+	"** Create %d native threads %d times.\n"
+	"** Create %d user threads %d times.\n", iterations, count,
+	iterations, count);
     }
 
     for (index=0; index<iterations; index++) {
--- pr/tests/thrpool_client.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/thrpool_client.c
@@ -82,11 +82,11 @@ readn(PRFileDesc *sockfd, char *buf, int
 	PRIntervalTime timeout = PR_INTERVAL_NO_TIMEOUT;
 
     for (rem=len; rem; offset += bytes, rem -= bytes) {
-        DPRINTF(("thread = 0x%lx: calling PR_Recv, bytes = %d\n",
+        DPRINTF(("thread = %p: calling PR_Recv, bytes = %d\n",
             PR_GetCurrentThread(), rem));
         bytes = PR_Recv(sockfd, buf + offset, rem, 0,
             	timeout);
-        DPRINTF(("thread = 0x%lx: returning from PR_Recv, bytes = %d\n",
+        DPRINTF(("thread = %p: returning from PR_Recv, bytes = %d\n",
             PR_GetCurrentThread(), bytes));
         if (bytes < 0) {
 			return -1;
@@ -107,11 +107,11 @@ writen(PRFileDesc *sockfd, char *buf, in
     int offset = 0;
 
     for (rem=len; rem; offset += bytes, rem -= bytes) {
-        DPRINTF(("thread = 0x%lx: calling PR_Send, bytes = %d\n",
+        DPRINTF(("thread = %p: calling PR_Send, bytes = %d\n",
             PR_GetCurrentThread(), rem));
         bytes = PR_Send(sockfd, buf + offset, rem, 0,
             PR_INTERVAL_NO_TIMEOUT);
-        DPRINTF(("thread = 0x%lx: returning from PR_Send, bytes = %d\n",
+        DPRINTF(("thread = %p: returning from PR_Send, bytes = %d\n",
             PR_GetCurrentThread(), bytes));
         if (bytes <= 0)
             return -1;
@@ -164,7 +164,7 @@ TCP_Client(void *arg)
 
         DPRINTF(("TCP client connecting to server:%d\n", server_port));
         if (PR_Connect(sockfd, &netaddr,PR_INTERVAL_NO_TIMEOUT) < 0){
-        	fprintf(stderr, "PR_Connect failed: (%ld, %ld)\n",
+        	fprintf(stderr, "PR_Connect failed: (%d, %d)\n",
             		PR_GetError(), PR_GetOSError());
             failed_already=1;
             return;
@@ -173,7 +173,7 @@ TCP_Client(void *arg)
             /*
              * fill in random data
              */
-            memset(out_buf->data, ((PRInt32) (&netaddr)) + i + j, bytes);
+            memset(out_buf->data, ((intptr_t)(&netaddr)) + i + j, bytes);
             /*
              * write to server
              */
@@ -281,7 +281,7 @@ TCP_Socket_Client_Server_Test(void)
     	PR_EnterMonitor(mon2);
         connections++;
     	PR_ExitMonitor(mon2);
-        DPRINTF(("Created TCP client = 0x%lx\n", thr));
+        DPRINTF(("Created TCP client = %p\n", thr));
     }
     /* Wait for client jobs to exit */
     PR_EnterMonitor(mon2);
@@ -291,9 +291,9 @@ TCP_Socket_Client_Server_Test(void)
     }
     PR_ExitMonitor(mon2);
     printf("%30s","TCP_Socket_Client_Server_Test:");
-    printf("%2ld Server %2ld Clients %2ld connections_per_client\n",1l,
+    printf(" 1 Server %2d Clients %2d connections_per_client\n",
         num_tcp_clients, num_tcp_connections_per_client);
-    printf("%30s %2ld messages_per_connection %4ld bytes_per_message\n",":",
+    printf("%30s %2d messages_per_connection %4d bytes_per_message\n",":",
         num_tcp_mesgs_per_connection, tcp_mesg_size);
 
     PR_DELETE(cparamp);
--- pr/tests/thrpool_server.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/thrpool_server.c
@@ -329,7 +329,7 @@ TCP_Server(void *arg)
     }
 
     DPRINTF((
-	"TCP_Server: PR_BIND netaddr.inet.ip = 0x%lx, netaddr.inet.port = %d\n",
+	"TCP_Server: PR_BIND netaddr.inet.ip = 0x%x, netaddr.inet.port = %d\n",
         netaddr.inet.ip, netaddr.inet.port));
 
 	sp = PR_NEW(Server_Param);
@@ -341,7 +341,7 @@ TCP_Server(void *arg)
 	sp->iod.socket = sockfd;
 	sp->iod.timeout = PR_SecondsToInterval(60);
 	sp->datalen = tcp_mesg_size;
-	sp->exit_mon = sc_mon;
+	sp->exit_mon = NULL;
 	sp->job_counterp = &job_counter;
 	sp->conn_counter = 0;
 	sp->tp = tp;
@@ -464,7 +464,7 @@ TCP_Server_Accept(void *arg)
 						PR_FALSE);
 
 	PR_ASSERT(NULL != jobp);
-	DPRINTF(("TCP_Server: Created Serve_Client = 0x%lx\n", jobp));
+	DPRINTF(("TCP_Server: Created Serve_Client = %p\n", jobp));
 
 	/*
 	 * single-threaded update; no lock needed
@@ -481,7 +481,7 @@ TCP_Server_Accept(void *arg)
 						print_stats, sp, PR_FALSE);
 
 	PR_ASSERT(NULL != jobp);
-	DPRINTF(("TCP_Server: Created print_stats timer job = 0x%lx\n", jobp));
+	DPRINTF(("TCP_Server: Created print_stats timer job = %p\n", jobp));
 
 exit:
 	PR_EnterMonitor(sp->exit_mon);
@@ -498,9 +498,9 @@ exit:
     }
 	PR_DestroyMonitor(sp->exit_mon);
     printf("%30s","TCP_Socket_Client_Server_Test:");
-    printf("%2ld Server %2ld Clients %2ld connections_per_client\n",1l,
+    printf(" 1 Server %2d Clients %2d connections_per_client\n",
         num_tcp_clients, num_tcp_connections_per_client);
-    printf("%30s %2ld messages_per_connection %4ld bytes_per_message\n",":",
+    printf("%30s %2d messages_per_connection %4d bytes_per_message\n",":",
         num_tcp_mesgs_per_connection, tcp_mesg_size);
 
 	DPRINTF(("%s: calling PR_ShutdownThreadPool\n", program_name));
--- pr/tests/thruput.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/thruput.c
@@ -66,7 +66,7 @@ static void PR_CALLBACK Clientel(void *a
 {
     PRStatus rv;
     PRFileDesc *xport;
-    PRInt32 bytes, sampled;
+    PRInt32 bytes, sampled = -1;
     PRIntervalTime now, interval;
     PRBool do_display = PR_FALSE;
     Shared *shared = (Shared*)arg;
@@ -175,7 +175,7 @@ static void Client(const char *server_na
 
 static void PR_CALLBACK Servette(void *arg)
 {
-    PRInt32 bytes, sampled;
+    PRInt32 bytes, sampled = -1;
     PRIntervalTime now, interval;
     PRBool do_display = PR_FALSE;
     PRFileDesc *client = (PRFileDesc*)arg;
@@ -373,6 +373,7 @@ int main(int argc, char **argv)
     else Client(server_name);
 
     return 0;
+    return 0;
 }  /* main */
 
 /* thruput.c */
--- pr/tests/timemac.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/timemac.c
@@ -24,7 +24,7 @@ static void printExplodedTime(const PREx
     const char *sign;
 
     /* Print day of the week, month, day, hour, minute, and second */
-    printf( "%s %s %ld %02ld:%02ld:%02ld ",
+    printf( "%s %s %d %02d:%02d:%02d ",
 	    dayOfWeek[et->tm_wday], month[et->tm_month], et->tm_mday,
 	    et->tm_hour, et->tm_min, et->tm_sec);
 
@@ -40,7 +40,7 @@ static void printExplodedTime(const PREx
         }
         hourOffset = totalOffset / 3600;
         minOffset = (totalOffset % 3600) / 60;
-        printf("%s%02ld%02ld ", sign, hourOffset, minOffset);
+        printf("%s%02d%02d ", sign, hourOffset, minOffset);
     }
 
     /* Print year */
@@ -97,7 +97,7 @@ int main(int argc, char** argv)
         printf("Current local time is ");
 	printExplodedTime(&et);
 	printf("\n");
-	printf("GMT offset is %ld, DST offset is %ld\n",
+	printf("GMT offset is %d, DST offset is %d\n",
 		et.tm_params.tp_gmt_offset, et.tm_params.tp_dst_offset);
         t2 = PR_ImplodeTime(&et);
         if (LL_NE(t1, t2)) {
--- pr/tests/timetest.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/timetest.c
@@ -36,7 +36,7 @@ static void PrintExplodedTime(const PREx
     const char *sign;
 
     /* Print day of the week, month, day, hour, minute, and second */
-    if (debug_mode) printf("%s %s %ld %02ld:%02ld:%02ld ",
+    if (debug_mode) printf("%s %s %d %02d:%02d:%02d ",
 	    dayOfWeek[et->tm_wday], month[et->tm_month], et->tm_mday,
 	    et->tm_hour, et->tm_min, et->tm_sec);
 
@@ -53,7 +53,7 @@ static void PrintExplodedTime(const PREx
         hourOffset = totalOffset / 3600;
         minOffset = (totalOffset % 3600) / 60;
         if (debug_mode) 
-            printf("%s%02ld%02ld ", sign, hourOffset, minOffset);
+            printf("%s%02d%02d ", sign, hourOffset, minOffset);
     }
 
     /* Print year */
@@ -232,7 +232,7 @@ int main(int argc, char** argv)
         if (debug_mode) printf("Current local time is ");
 	PrintExplodedTime(&et);
 	if (debug_mode) printf("\n");
-	if (debug_mode) printf("GMT offset is %ld, DST offset is %ld\n",
+	if (debug_mode) printf("GMT offset is %d, DST offset is %d\n",
 		et.tm_params.tp_gmt_offset, et.tm_params.tp_dst_offset);
         t2 = PR_ImplodeTime(&et);
         if (LL_NE(t1, t2)) {
--- pr/tests/y2k.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/y2k.c
@@ -43,7 +43,7 @@ static void PrintExplodedTime(const PREx
     const char *sign;
 
     /* Print day of the week, month, day, hour, minute, and second */
-    printf("%s %s %2ld %02ld:%02ld:%02ld ",
+    printf("%s %s %2d %02d:%02d:%02d ",
 	    dayOfWeek[et->tm_wday], month[et->tm_month], et->tm_mday,
 	    et->tm_hour, et->tm_min, et->tm_sec);
 
@@ -62,7 +62,7 @@ static void PrintExplodedTime(const PREx
         }
         hourOffset = totalOffset / 3600;
         minOffset = (totalOffset % 3600) / 60;
-        printf("%s%02ld%02ld ", sign, hourOffset, minOffset);
+        printf("%s%02d%02d ", sign, hourOffset, minOffset);
     }
 #ifdef PRINT_DETAILS
 	printf("{%d, %d, %d, %d, %d, %d, %d, %d, %d, { %d, %d}}\n",et->tm_usec,
--- pr/tests/y2ktmo.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/y2ktmo.c
@@ -70,7 +70,7 @@ static struct _timeb start_time_tb;
 
 static void SleepThread(void *arg)
 {
-    PRIntervalTime timeout = (PRIntervalTime) arg;
+    PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg;
     PRIntervalTime elapsed;
 #if defined(XP_UNIX) || defined(WIN32)
     PRInt32 timeout_msecs = PR_IntervalToMilliseconds(timeout);
@@ -121,7 +121,7 @@ static void SleepThread(void *arg)
 
 static void AcceptThread(void *arg)
 {
-    PRIntervalTime timeout = (PRIntervalTime) arg;
+    PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg;
     PRIntervalTime elapsed;
 #if defined(XP_UNIX) || defined(WIN32)
     PRInt32 timeout_msecs = PR_IntervalToMilliseconds(timeout);
@@ -197,7 +197,7 @@ static void AcceptThread(void *arg)
 
 static void PollThread(void *arg)
 {
-    PRIntervalTime timeout = (PRIntervalTime) arg;
+    PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg;
     PRIntervalTime elapsed;
 #if defined(XP_UNIX) || defined(WIN32)
     PRInt32 timeout_msecs = PR_IntervalToMilliseconds(timeout);
@@ -276,7 +276,7 @@ static void PollThread(void *arg)
 
 static void WaitCondVarThread(void *arg)
 {
-    PRIntervalTime timeout = (PRIntervalTime) arg;
+    PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg;
     PRIntervalTime elapsed;
 #if defined(XP_UNIX) || defined(WIN32)
     PRInt32 timeout_msecs = PR_IntervalToMilliseconds(timeout);
@@ -340,7 +340,7 @@ static void WaitCondVarThread(void *arg)
 
 static void WaitMonitorThread(void *arg)
 {
-    PRIntervalTime timeout = (PRIntervalTime) arg;
+    PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg;
     PRIntervalTime elapsed;
 #if defined(XP_UNIX) || defined(WIN32)
     PRInt32 timeout_msecs = PR_IntervalToMilliseconds(timeout);
@@ -397,7 +397,7 @@ static void WaitMonitorThread(void *arg)
 
 static void WaitCMonitorThread(void *arg)
 {
-    PRIntervalTime timeout = (PRIntervalTime) arg;
+    PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg;
     PRIntervalTime elapsed;
 #if defined(XP_UNIX) || defined(WIN32)
     PRInt32 timeout_msecs = PR_IntervalToMilliseconds(timeout);
@@ -528,7 +528,7 @@ int main(int argc, char **argv)
     for (i = 0; i < num_thread_scopes; i++) { 
         for (j = 0; j < num_thread_funcs; j++) {
             threads[idx] = PR_CreateThread(PR_USER_THREAD, threadFuncs[j],
-                (void*)PR_SecondsToInterval(secs), PR_PRIORITY_NORMAL,
+                (void*)(intptr_t)PR_SecondsToInterval(secs), PR_PRIORITY_NORMAL,
                 threadScopes[i], PR_JOINABLE_THREAD, 0);
             if (threads[idx] == NULL) {
                 fprintf(stderr, "PR_CreateThread failed\n");
--- pr/tests/zerolen.c.orig	2015-10-16 13:22:19 UTC
+++ pr/tests/zerolen.c
@@ -45,7 +45,7 @@ static void ClientThread(void *arg)
 {
     PRFileDesc *sock;
     PRNetAddr addr;
-    PRUint16 port = (PRUint16) arg;
+    PRUint16 port = (PRUint16)(uintptr_t)arg;
     char buf[1024];
     PRInt32 nbytes;
 
@@ -127,7 +127,7 @@ int main()
      * First test PR_Writev.
      */
     clientThread = PR_CreateThread(PR_USER_THREAD,
-            ClientThread, (void *) PR_ntohs(PR_NetAddrInetPort(&addr)),
+            ClientThread, (void *)(uintptr_t)PR_ntohs(PR_NetAddrInetPort(&addr)),
             PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD, PR_JOINABLE_THREAD, 0);
     if (NULL == clientThread) {
         fprintf(stderr, "PR_CreateThread failed\n");
@@ -171,7 +171,7 @@ int main()
      * Then test PR_Write.
      */
     clientThread = PR_CreateThread(PR_USER_THREAD,
-            ClientThread, (void *) PR_ntohs(PR_NetAddrInetPort(&addr)),
+            ClientThread, (void *)(uintptr_t)PR_ntohs(PR_NetAddrInetPort(&addr)),
             PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD, PR_JOINABLE_THREAD, 0);
     if (NULL == clientThread) {
         fprintf(stderr, "PR_CreateThread failed\n");
@@ -216,7 +216,7 @@ int main()
      * Finally test PR_Send.
      */
     clientThread = PR_CreateThread(PR_USER_THREAD,
-            ClientThread, (void *) PR_ntohs(PR_NetAddrInetPort(&addr)),
+            ClientThread, (void *)(uintptr_t)PR_ntohs(PR_NetAddrInetPort(&addr)),
             PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD, PR_JOINABLE_THREAD, 0);
     if (NULL == clientThread) {
         fprintf(stderr, "PR_CreateThread failed\n");
