Hello community, here is the log from the commit of package mozilla-nspr for openSUSE:Factory checked in at 2018-03-24 16:04:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mozilla-nspr (Old) and /work/SRC/openSUSE:Factory/.mozilla-nspr.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mozilla-nspr" Sat Mar 24 16:04:40 2018 rev:67 rq:587639 version:4.19 Changes: -------- --- /work/SRC/openSUSE:Factory/mozilla-nspr/mozilla-nspr.changes 2018-02-24 16:38:08.628117856 +0100 +++ /work/SRC/openSUSE:Factory/.mozilla-nspr.new/mozilla-nspr.changes 2018-03-24 16:04:42.050595871 +0100 @@ -1,0 +2,7 @@ +Thu Mar 15 18:23:35 UTC 2018 - cgrobert...@suse.com + +- update to version 4.19 + * changed order of shutdown cleanup to avoid a crash on Mac OSX + * build compatibility with Android NDK r16 and glibc 2.26 + +------------------------------------------------------------------- Old: ---- nspr-4.18.tar.gz New: ---- nspr-4.19.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mozilla-nspr.spec ++++++ --- /var/tmp/diff_new_pack.rBeKz0/_old 2018-03-24 16:04:42.966562850 +0100 +++ /var/tmp/diff_new_pack.rBeKz0/_new 2018-03-24 16:04:42.970562706 +0100 @@ -18,7 +18,7 @@ Name: mozilla-nspr -Version: 4.18 +Version: 4.19 Release: 0 Summary: Netscape Portable Runtime License: MPL-2.0 ++++++ nspr-4.18.tar.gz -> nspr-4.19.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nspr-4.18/nspr/.hg_archival.txt new/nspr-4.19/nspr/.hg_archival.txt --- old/nspr-4.18/nspr/.hg_archival.txt 2018-01-18 13:37:14.000000000 +0100 +++ new/nspr-4.19/nspr/.hg_archival.txt 2018-03-05 16:50:28.000000000 +0100 @@ -1,4 +1,4 @@ repo: a4b34919bf34db2ee22acbbc305693c8980b6dc6 -node: 46c961da83710de28c559f3acb66059728c56c2c +node: 2fae42c03571fbcf7ebd0a064637d2ece1068a01 branch: default -tag: NSPR_4_18_RTM +tag: NSPR_4_19_RTM diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nspr-4.18/nspr/configure new/nspr-4.19/nspr/configure --- old/nspr-4.18/nspr/configure 2018-01-18 13:37:14.000000000 +0100 +++ new/nspr-4.19/nspr/configure 2018-03-05 16:50:28.000000000 +0100 @@ -2488,7 +2488,7 @@ program_prefix=${target_alias}- MOD_MAJOR_VERSION=4 -MOD_MINOR_VERSION=18 +MOD_MINOR_VERSION=19 MOD_PATCH_VERSION=0 NSPR_MODNAME=nspr20 _HAVE_PTHREADS= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nspr-4.18/nspr/configure.in new/nspr-4.19/nspr/configure.in --- old/nspr-4.18/nspr/configure.in 2018-01-18 13:37:14.000000000 +0100 +++ new/nspr-4.19/nspr/configure.in 2018-03-05 16:50:28.000000000 +0100 @@ -15,7 +15,7 @@ dnl = Defaults dnl ======================================================== MOD_MAJOR_VERSION=4 -MOD_MINOR_VERSION=18 +MOD_MINOR_VERSION=19 MOD_PATCH_VERSION=0 NSPR_MODNAME=nspr20 _HAVE_PTHREADS= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nspr-4.18/nspr/pr/include/prinit.h new/nspr-4.19/nspr/pr/include/prinit.h --- old/nspr-4.18/nspr/pr/include/prinit.h 2018-01-18 13:37:14.000000000 +0100 +++ new/nspr-4.19/nspr/pr/include/prinit.h 2018-03-05 16:50:28.000000000 +0100 @@ -31,9 +31,9 @@ ** The format of the version string is ** "<major version>.<minor version>[.<patch level>] [<Beta>]" */ -#define PR_VERSION "4.18" +#define PR_VERSION "4.19" #define PR_VMAJOR 4 -#define PR_VMINOR 18 +#define PR_VMINOR 19 #define PR_VPATCH 0 #define PR_BETA PR_FALSE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nspr-4.18/nspr/pr/src/md/unix/unix.c new/nspr-4.19/nspr/pr/src/md/unix/unix.c --- old/nspr-4.18/nspr/pr/src/md/unix/unix.c 2018-01-18 13:37:14.000000000 +0100 +++ new/nspr-4.19/nspr/pr/src/md/unix/unix.c 2018-03-05 16:50:28.000000000 +0100 @@ -2713,8 +2713,13 @@ } /* _MD_Unix_mmap64 */ #endif /* defined(_PR_NO_LARGE_FILES) || defined(SOLARIS2_5) */ -/* Android <= 19 doesn't have mmap64. */ -#if defined(ANDROID) && __ANDROID_API__ <= 19 +/* NDK non-unified headers for API < 21 don't have mmap64. However, + * NDK unified headers do provide mmap64 for all API versions when building + * with clang. Therefore, we should provide mmap64 here for API < 21 if we're + * not using clang or if we're using non-unified headers. We check for + * non-unified headers by the lack of __ANDROID_API_L__ macro. */ +#if defined(ANDROID) && __ANDROID_API__ < 21 && \ + (!defined(__clang__) || !defined(__ANDROID_API_L__)) PR_IMPORT(void) *__mmap2(void *, size_t, int, int, int, size_t); #define ANDROID_PAGE_SIZE 4096 @@ -2784,9 +2789,9 @@ _md_iovector._stat64 = stat; _md_iovector._lseek64 = _MD_Unix_lseek64; #elif defined(_PR_HAVE_OFF64_T) -#if defined(IRIX5_3) || defined(ANDROID) +#if defined(IRIX5_3) || (defined(ANDROID) && __ANDROID_API__ < 21) /* - * Android doesn't have open64. We pass the O_LARGEFILE flag to open + * Android < 21 doesn't have open64. We pass the O_LARGEFILE flag to open * in _MD_open. */ _md_iovector._open64 = open; @@ -2794,8 +2799,14 @@ _md_iovector._open64 = open64; #endif _md_iovector._mmap64 = mmap64; +#if (defined(ANDROID) && __ANDROID_API__ < 21) + /* Same as the open64 case for Android. */ + _md_iovector._fstat64 = fstat; + _md_iovector._stat64 = stat; +#else _md_iovector._fstat64 = fstat64; _md_iovector._stat64 = stat64; +#endif _md_iovector._lseek64 = lseek64; #elif defined(_PR_HAVE_LARGE_OFF_T) _md_iovector._open64 = open; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nspr-4.18/nspr/pr/src/pthreads/ptthread.c new/nspr-4.19/nspr/pr/src/pthreads/ptthread.c --- old/nspr-4.18/nspr/pr/src/pthreads/ptthread.c 2018-01-18 13:37:14.000000000 +0100 +++ new/nspr-4.19/nspr/pr/src/pthreads/ptthread.c 2018-03-05 16:50:28.000000000 +0100 @@ -978,7 +978,23 @@ * GCC supports the constructor and destructor attributes as of * version 2.5. */ +#if defined(DARWIN) +/* + * The dynamic linker on OSX doesn't execute __attribute__((destructor)) + * destructors in the right order wrt non-__attribute((destructor)) destructors + * in other libraries. So use atexit() instead, which does. + * See https://bugzilla.mozilla.org/show_bug.cgi?id=1399746#c99 + */ +static void _PR_Fini(void); + +__attribute__ ((constructor)) +static void _register_PR_Fini() { + atexit(_PR_Fini); +} +#else static void _PR_Fini(void) __attribute__ ((destructor)); +#endif + #elif defined(__SUNPRO_C) /* * Sun Studio compiler diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nspr-4.18/nspr/pr/tests/prfz.c new/nspr-4.19/nspr/pr/tests/prfz.c --- old/nspr-4.18/nspr/pr/tests/prfz.c 2018-01-18 13:37:14.000000000 +0100 +++ new/nspr-4.19/nspr/pr/tests/prfz.c 2018-03-05 16:50:28.000000000 +0100 @@ -10,6 +10,7 @@ #include <sys/types.h> #include <limits.h> #include <string.h> +#include <stdint.h> int main(int argc, char **argv) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nspr-4.18/nspr/pr/tests/vercheck.c new/nspr-4.19/nspr/pr/tests/vercheck.c --- old/nspr-4.18/nspr/pr/tests/vercheck.c 2018-01-18 13:37:14.000000000 +0100 +++ new/nspr-4.19/nspr/pr/tests/vercheck.c 2018-03-05 16:50:28.000000000 +0100 @@ -40,7 +40,7 @@ "4.10", "4.10.1", "4.10.2", "4.10.3", "4.10.4", "4.10.5", "4.10.6", "4.10.7", "4.10.8", "4.10.9", "4.10.10", "4.11", "4.12", "4.13", "4.14", "4.15", - "4.16", "4.17", + "4.16", "4.17", "4.18", PR_VERSION }; @@ -56,8 +56,8 @@ "3.0", "3.0.1", "3.1", "3.1.1", "3.1.2", "3.1.3", "3.5", "3.5.1", - "4.18.1", - "4.19", "4.19.1", + "4.19.1", + "4.20", "4.20.1", "10.0", "11.1", "12.14.20" };