Bug 1432480, Land NSPR 4.19 into FF 60, r=me

UPGRADE_NSPR_RELEASE
This commit is contained in:
Kai Engert 2018-02-23 18:00:02 +01:00
parent 35b203a24d
commit b1312404c0
9 changed files with 41 additions and 14 deletions

View File

@ -1 +1 @@
NSPR_4_18_RTM
NSPR_4_19_BETA1

View File

@ -10,4 +10,3 @@
*/
#error "Do not include this header file."

2
nsprpub/configure vendored
View File

@ -2488,7 +2488,7 @@ test -n "$target_alias" &&
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=

View File

@ -15,7 +15,7 @@ dnl ========================================================
dnl = Defaults
dnl ========================================================
MOD_MAJOR_VERSION=4
MOD_MINOR_VERSION=18
MOD_MINOR_VERSION=19
MOD_PATCH_VERSION=0
NSPR_MODNAME=nspr20
_HAVE_PTHREADS=

View File

@ -31,11 +31,11 @@ PR_BEGIN_EXTERN_C
** The format of the version string is
** "<major version>.<minor version>[.<patch level>] [<Beta>]"
*/
#define PR_VERSION "4.18"
#define PR_VERSION "4.19 Beta"
#define PR_VMAJOR 4
#define PR_VMINOR 18
#define PR_VMINOR 19
#define PR_VPATCH 0
#define PR_BETA PR_FALSE
#define PR_BETA PR_TRUE
/*
** PRVersionCheck

View File

@ -2713,8 +2713,13 @@ static void* _MD_Unix_mmap64(
} /* _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 @@ static void _PR_InitIOV(void)
_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 @@ static void _PR_InitIOV(void)
_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;

View File

@ -978,7 +978,23 @@ void _PR_InitThreads(
* 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

View File

@ -10,6 +10,7 @@
#include <sys/types.h>
#include <limits.h>
#include <string.h>
#include <stdint.h>
int
main(int argc, char **argv)

View File

@ -40,7 +40,7 @@ static char *compatible_version[] = {
"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 @@ static char *incompatible_version[] = {
"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"
};