pthread_t can well be a 64-bit value -- on FreeBSD/amd64, for example.
Better to just keep calling it pthread_t isntead of casting to anything.

	-mi

--- pr/include/private/pprthred.h.orig	2015-10-16 13:22:19 UTC
+++ pr/include/private/pprthred.h
@@ -11,6 +11,7 @@
 ** developers only.
 */
 #include "nspr.h"
+#include <pthread.h>
 
 #if defined(XP_OS2)
 #define INCL_DOS
@@ -59,7 +60,7 @@ NSPR_API(void) PR_DetachThread(void);
 ** Get the id of the named thread. Each thread is assigned a unique id
 ** when it is created or attached.
 */
-NSPR_API(PRUint32) PR_GetThreadID(PRThread *thread);
+NSPR_API(pthread_t) PR_GetThreadID(PRThread *thread);
 
 /*
 ** Set the procedure that is called when a thread is dumped. The procedure
--- pr/src/pthreads/ptthread.c.orig	2018-01-18 12:37:14 UTC
+++ pr/src/pthreads/ptthread.c
@@ -1122,9 +1122,9 @@ PR_IMPLEMENT(void) PR_ProcessExit(PRIntn status)
     _exit(status);
 }
 
-PR_IMPLEMENT(PRUint32) PR_GetThreadID(PRThread *thred)
+PR_IMPLEMENT(pthread_t) PR_GetThreadID(PRThread *thred)
 {
-    return (PRUint32)thred->id;  /* and I don't know what they will do with it */
+    return thred->id;  /* and I don't know what they will do with it */
 }
 
 /*
