Bugzilla Bug 357333: upgraded to NSPR 4.6.4. MOZILLA_1_8_BRANCH SUNBIRD_0_5_RC3
authorwtchang%redhat.com
Tue, 21 Nov 2006 01:54:56 +0000
branchMOZILLA_1_8_BRANCH
changeset 3718 cabdc884ff6da65266d154e28556e50450aff53b
parent 3686 d99b97588aa555dc6c7a27ac610ceb9f97f027e4
child 3719 26fdfc949b86b9d573dba988c5017674b53f633d
push idunknown
push userunknown
push dateunknown
bugs357333
Bugzilla Bug 357333: upgraded to NSPR 4.6.4. approved for 1.8 branch, a=dveditz for drivers
admin/repackage.sh
configure
configure.in
lib/ds/Makefile.in
lib/libc/src/Makefile.in
lib/msgc/src/Makefile.in
lib/prstreams/Makefile.in
pr/include/md/_hpux.h
pr/include/prinit.h
pr/src/Makefile.in
pr/src/linking/prlink.c
pr/src/misc/prnetdb.c
pr/tests/dll/Makefile.in
pr/tests/vercheck.c
--- a/admin/repackage.sh
+++ b/admin/repackage.sh
@@ -59,56 +59,52 @@
 # Note! Files written with Gnu tar are not readable by some non-Gnu
 # versions. Sun, in particular.
 # 
 # 
 # 
 # 
 # ------------------------------------------------------------------
 
-FROMTOP=/share/builds/components/nspr20/v4.6.3
-TOTOP=./v4.6.3
-NSPRDIR=nspr-4.6.3
-SOURCETAG=NSPR_4_6_3_RTM
+FROMTOP=/share/builds/components/nspr20/v4.6.4
+TOTOP=./v4.6.4
+NSPRDIR=nspr-4.6.4
+SOURCETAG=NSPR_4_6_4_RTM
 
 #
 # enumerate Unix object directories on /s/b/c
 UNIX_OBJDIRS="
-AIX4.3_64_DBG.OBJ
-AIX4.3_64_OPT.OBJ
-AIX4.3_DBG.OBJ
-AIX4.3_OPT.OBJ
-HP-UXB.11.00_64_DBG.OBJ
-HP-UXB.11.00_64_OPT.OBJ
-HP-UXB.11.00_DBG.OBJ
-HP-UXB.11.00_OPT.OBJ
-IRIX6.5_n32_PTH_DBG.OBJ
-IRIX6.5_n32_PTH_OPT.OBJ
-Linux2.2_x86_glibc_PTH_DBG.OBJ
-Linux2.2_x86_glibc_PTH_OPT.OBJ
+HP-UXB.11.11_64_DBG.OBJ
+HP-UXB.11.11_64_OPT.OBJ
+HP-UXB.11.11_DBG.OBJ
+HP-UXB.11.11_OPT.OBJ
+HP-UXB.11.23_ia64_32_DBG.OBJ
+HP-UXB.11.23_ia64_32_OPT.OBJ
+HP-UXB.11.23_ia64_64_DBG.OBJ
+HP-UXB.11.23_ia64_64_OPT.OBJ
 Linux2.4_x86_glibc_PTH_DBG.OBJ
 Linux2.4_x86_glibc_PTH_OPT.OBJ
-OSF1V5.0_DBG.OBJ
-OSF1V5.0_OPT.OBJ
-SunOS5.6_DBG.OBJ
-SunOS5.6_OPT.OBJ
-SunOS5.8_64_DBG.OBJ
-SunOS5.8_64_OPT.OBJ
-SunOS5.8_DBG.OBJ
-SunOS5.8_OPT.OBJ
+Linux2.6_x86_64_glibc_PTH_DBG.OBJ
+Linux2.6_x86_64_glibc_PTH_OPT.OBJ
+Linux2.6_x86_glibc_PTH_DBG.OBJ
+Linux2.6_x86_glibc_PTH_OPT.OBJ
+SunOS5.9_64_DBG.OBJ
+SunOS5.9_64_OPT.OBJ
+SunOS5.9_DBG.OBJ
+SunOS5.9_OPT.OBJ
 "
 #
 # enumerate Windows object directories on /s/b/c
 WIN_OBJDIRS="
 WIN954.0_DBG.OBJ
 WIN954.0_DBG.OBJD
 WIN954.0_OPT.OBJ
-WINNT4.0_DBG.OBJ
-WINNT4.0_DBG.OBJD
-WINNT4.0_OPT.OBJ
+WINNT5.0_DBG.OBJ
+WINNT5.0_DBG.OBJD
+WINNT5.0_OPT.OBJ
 "
 
 #
 # Create the destination directory.
 #
 echo "removing directory $TOTOP"
 rm -rf $TOTOP
 echo "creating directory $TOTOP"
--- a/configure
+++ b/configure
@@ -682,17 +682,17 @@ echo "$ac_t""$build" 1>&6
 test "$host_alias" != "$target_alias" &&
   test "$program_prefix$program_suffix$program_transform_name" = \
     NONENONEs,x,x, &&
   program_prefix=${target_alias}-
 
 
 MOD_MAJOR_VERSION=4
 MOD_MINOR_VERSION=6
-MOD_PATCH_VERSION=3
+MOD_PATCH_VERSION=4
 NSPR_MODNAME=nspr20
 _HAVE_PTHREADS=
 USE_PTHREADS=
 USE_USER_PTHREADS=
 USE_NSPR_THREADS=
 USE_N32=
 USE_64=
 USE_CPLUS=
--- a/configure.in
+++ b/configure.in
@@ -45,17 +45,17 @@ AC_INIT(config/libc_r.h)
 AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf)
 AC_CANONICAL_SYSTEM
 
 dnl ========================================================
 dnl = Defaults
 dnl ========================================================
 MOD_MAJOR_VERSION=4
 MOD_MINOR_VERSION=6
-MOD_PATCH_VERSION=3
+MOD_PATCH_VERSION=4
 NSPR_MODNAME=nspr20
 _HAVE_PTHREADS=
 USE_PTHREADS=
 USE_USER_PTHREADS=
 USE_NSPR_THREADS=
 USE_N32=
 USE_64=
 USE_CPLUS=
--- a/lib/ds/Makefile.in
+++ b/lib/ds/Makefile.in
@@ -58,21 +58,16 @@ HEADERS = \
 	plarenas.h \
 	plarena.h \
 	plhash.h \
 	$(NULL)
 
 HEADERS := $(addprefix $(srcdir)/, $(HEADERS))
 
 ifeq ($(OS_ARCH), WINNT)
-ifdef NS_USE_GCC
-DLLBASE=-Wl,--image-base -Wl,0x30000000
-else
-DLLBASE=-BASE:0x30000000
-endif # GCC
 RES=$(OBJDIR)/plds.res
 RESNAME=plds.rc
 endif # WINNT
 
 ifeq ($(OS_ARCH), AIX)
 ifeq ($(CLASSIC_NSPR),1)
 OS_LIBS = -lc
 else
--- a/lib/libc/src/Makefile.in
+++ b/lib/libc/src/Makefile.in
@@ -68,21 +68,16 @@ CSRCS =\
 	$(NULL)
 
 LIBRARY_NAME	= plc
 LIBRARY_VERSION	= $(MOD_MAJOR_VERSION)
 
 RELEASE_LIBS = $(TARGETS)
 
 ifeq ($(OS_ARCH),WINNT)
-ifdef NS_USE_GCC
-DLLBASE=-Wl,--image-base -Wl,0x30000000
-else
-DLLBASE=-BASE:0x30000000
-endif
 RES=$(OBJDIR)/plc.res
 RESNAME=plc.rc
 endif # WINNT
 
 ifeq ($(OS_ARCH), AIX)
 ifeq ($(CLASSIC_NSPR),1)
 OS_LIBS = -lc
 else
--- a/lib/msgc/src/Makefile.in
+++ b/lib/msgc/src/Makefile.in
@@ -64,21 +64,16 @@ NSPR_VERSION = $(MOD_MAJOR_VERSION)
 
 EXTRA_LIBS = $(LIBNSPR)
 
 ifdef RESOLVE_LINK_SYMBOLS
 EXTRA_LIBS += $(OS_LIBS)
 endif
 
 ifeq ($(OS_ARCH), WINNT)
-ifdef NS_USE_GCC
-DLLBASE=-Wl,--image-base -Wl,0x30000000
-else
-DLLBASE=-BASE:0x30000000
-endif # GCC
 #RES=$(OBJDIR)/ds.res
 #RESNAME=$(MOD_DEPTH)/pr/src/nspr.rc
 #OS_LIBS = user32.lib
 endif # WINNT
 
 LIBRARY_NAME = msgc
 LIBRARY_VERSION = $(MOD_MAJOR_VERSION)
 
--- a/lib/prstreams/Makefile.in
+++ b/lib/prstreams/Makefile.in
@@ -83,17 +83,16 @@ CSRCS = \
 
 CXXSRCS = \
 	prstrms.cpp \
 	$(NULL)
 
 OBJS = $(addprefix $(OBJDIR)/,$(CSRCS:.c=.$(OBJ_SUFFIX)) $(CXXSRCS:.cpp=.$(OBJ_SUFFIX)))
 
 ifeq ($(OS_ARCH), WINNT)
-        DLLBASE=-BASE:0x30000000
         RES=$(OBJDIR)/prstrms.res
         RESNAME=prstrms.rc
         OS_LIBS = user32.lib
 else
     ifeq ($(OS_ARCH),OS2)
       ifneq ($(MOZ_OS2_TOOLS),VACPP)
          OS_LIBS = -lstdcpp
       endif
--- a/pr/include/md/_hpux.h
+++ b/pr/include/md/_hpux.h
@@ -43,17 +43,22 @@
  */
 
 #define PR_LINKER_ARCH    "hpux"
 #define _PR_SI_SYSNAME   "HPUX"
 #ifdef __ia64
 #define _PR_SI_ARCHITECTURE "ia64"
 #define PR_DLL_SUFFIX        ".so"
 #else
-#define _PR_SI_ARCHITECTURE "hppa"
+/*
+ * _PR_SI_ARCHITECTURE must be "hppa1.1" for backward compatibility.
+ * It was changed to "hppa" in NSPR 4.6.2, but was changed back in
+ * NSPR 4.6.4.
+ */
+#define _PR_SI_ARCHITECTURE "hppa1.1"
 #define PR_DLL_SUFFIX        ".sl"
 #endif
 
 #define _PR_VMBASE        0x30000000 
 #define _PR_STACK_VMBASE    0x50000000
 /*
  * _USE_BIG_FDS increases the size of fd_set from 256 bytes to
  * about 7500 bytes.  PR_Poll allocates three fd_sets on the
--- a/pr/include/prinit.h
+++ b/pr/include/prinit.h
@@ -58,20 +58,20 @@ PR_BEGIN_EXTERN_C
 /*
 ** NSPR's version is used to determine the likelihood that the version you
 ** used to build your component is anywhere close to being compatible with
 ** what is in the underlying library.
 **
 ** The format of the version string is
 **     "<major version>.<minor version>[.<patch level>] [<Beta>]"
 */
-#define PR_VERSION  "4.6.3"
+#define PR_VERSION  "4.6.4"
 #define PR_VMAJOR   4
 #define PR_VMINOR   6
-#define PR_VPATCH   3
+#define PR_VPATCH   4
 #define PR_BETA     PR_FALSE
 
 /*
 ** PRVersionCheck
 **
 ** The basic signature of the function that is called to provide version
 ** checking. The result will be a boolean that indicates the likelihood
 ** that the underling library will perform as the caller expects.
--- a/pr/src/Makefile.in
+++ b/pr/src/Makefile.in
@@ -311,21 +311,16 @@ OBJS += \
 	cplus/$(OBJDIR)/rctime.$(OBJ_SUFFIX)
 endif
 
 ifdef GC_LEAK_DETECTOR
 OBJS += memory/$(OBJDIR)/prgcleak.$(OBJ_SUFFIX)
 endif
 
 ifeq ($(OS_ARCH), WINNT)
-ifdef NS_USE_GCC
-DLLBASE=-Wl,--image-base -Wl,0x30000000
-else
-DLLBASE=-BASE:0x30000000
-endif # GCC
 RES=$(OBJDIR)/nspr.res
 RESNAME=nspr.rc
 endif # WINNT
 
 include $(srcdir)/md/$(PR_MD_ARCH_DIR)/objs.mk
 ifdef USE_BTHREADS
 include $(srcdir)/bthreads/objs.mk
 endif
--- a/pr/src/linking/prlink.c
+++ b/pr/src/linking/prlink.c
@@ -1262,17 +1262,18 @@ PR_UnloadLibrary(PRLibrary *lib)
 
 #ifdef XP_UNIX
 #ifdef HAVE_DLL
 #ifdef USE_DLFCN
     result = dlclose(lib->dlh);
 #elif defined(USE_HPSHL)
     result = shl_unload(lib->dlh);
 #elif defined(USE_MACH_DYLD)
-    result = NSUnLinkModule(lib->dlh, NSUNLINKMODULE_OPTION_NONE) ? 0 : -1;
+    if (lib->dlh)
+        result = NSUnLinkModule(lib->dlh, NSUNLINKMODULE_OPTION_NONE) ? 0 : -1;
 #else
 #error Configuration error
 #endif
 #endif /* HAVE_DLL */
 #endif /* XP_UNIX */
 #ifdef XP_PC
     if (lib->dlh) {
         FreeLibrary((HINSTANCE)(lib->dlh));
--- a/pr/src/misc/prnetdb.c
+++ b/pr/src/misc/prnetdb.c
@@ -103,16 +103,21 @@ PRLock *_pr_dnsLock = NULL;
 #if defined(OSF1) \
         || defined(AIX4_3_PLUS) || (defined(AIX) && defined(_THREAD_SAFE)) \
 	|| (defined(HPUX10_10) && defined(_REENTRANT)) \
         || (defined(HPUX10_20) && defined(_REENTRANT))
 #define _PR_HAVE_GETPROTO_R
 #define _PR_HAVE_GETPROTO_R_INT
 #endif
 
+#if __FreeBSD_version >= 602000
+#define _PR_HAVE_GETPROTO_R
+#define _PR_HAVE_5_ARG_GETPROTO_R
+#endif
+
 #if (defined(LINUX) && defined(__GLIBC__) && __GLIBC__ >= 2)
 #define _PR_HAVE_GETPROTO_R
 #define _PR_HAVE_5_ARG_GETPROTO_R
 #endif
 
 #if !defined(_PR_HAVE_GETPROTO_R)
 PRLock* _getproto_lock = NULL;
 #endif
--- a/pr/tests/dll/Makefile.in
+++ b/pr/tests/dll/Makefile.in
@@ -63,21 +63,16 @@ OBJS = $(OBJDIR)/mygetval.$(OBJ_SUFFIX) 
 ifeq ($(OS_TARGET), WIN16)
 W16OBJS = $(subst $(space),$(comma)$(space),$(OBJS))
 endif
 
 ifeq ($(OS_ARCH), WINNT)
 ifeq ($(OS_TARGET), WIN16)
 # do nothing
 else
-ifdef NS_USE_GCC
-DLLBASE=-Wl,--image-base -Wl,0x30000000
-else
-DLLBASE=-BASE:0x30000000
-endif
 RES=$(OBJDIR)/my.res
 RESNAME=../../../pr/src/nspr.rc
 endif
 endif
 
 ifeq (,$(filter-out WINNT OS2,$(OS_ARCH)))
 IMPORT_LIBRARY	= $(OBJDIR)/my.$(LIB_SUFFIX)
 SHARED_LIBRARY	= $(OBJDIR)/my.dll
--- a/pr/tests/vercheck.c
+++ b/pr/tests/vercheck.c
@@ -47,40 +47,40 @@
  */
 
 #include "prinit.h"
 
 #include <stdio.h>
 #include <stdlib.h>
 
 /*
- * This release (4.6.3) is backward compatible with the
- * 4.0.x, 4.1.x, 4.2.x, 4.3.x, 4.4.x, 4.5.x, 4.6, 4.6.1,
- * and 4.6.2 releases.  It, of course, is compatible with
+ * This release (4.6.4) is backward compatible with the
+ * 4.0.x, 4.1.x, 4.2.x, 4.3.x, 4.4.x, 4.5.x, 4.6, 4.6.1, 4.6.2,
+ * and 4.6.3 releases.  It, of course, is compatible with
  * itself.
  */
 static char *compatible_version[] = {
     "4.0", "4.0.1", "4.1", "4.1.1", "4.1.2", "4.1.3",
     "4.2", "4.2.1", "4.2.2", "4.3", "4.4", "4.4.1",
-    "4.5", "4.5.1", "4.6", "4.6.1", "4.6.2", PR_VERSION
+    "4.5", "4.5.1", "4.6", "4.6.1", "4.6.2", "4.6.3", PR_VERSION
 };
 
 /*
  * This release is not backward compatible with the old
  * NSPR 2.1 and 3.x releases.
  *
  * Any release is incompatible with future releases and
  * patches.
  */
 static char *incompatible_version[] = {
     "2.1 19980529",
     "3.0", "3.0.1",
     "3.1", "3.1.1", "3.1.2", "3.1.3",
     "3.5", "3.5.1",
-    "4.6.4",
+    "4.6.5",
     "4.7", "4.7.1",
     "10.0", "11.1", "12.14.20"
 };
 
 int main()
 {
     int idx;
     int num_compatible = sizeof(compatible_version) / sizeof(char *);