summaryrefslogtreecommitdiff
path: root/data/patches/gnuzilla-bug-1172632-2.patch
diff options
context:
space:
mode:
Diffstat (limited to 'data/patches/gnuzilla-bug-1172632-2.patch')
-rw-r--r--data/patches/gnuzilla-bug-1172632-2.patch223
1 files changed, 223 insertions, 0 deletions
diff --git a/data/patches/gnuzilla-bug-1172632-2.patch b/data/patches/gnuzilla-bug-1172632-2.patch
new file mode 100644
index 0000000..a3ff76f
--- /dev/null
+++ b/data/patches/gnuzilla-bug-1172632-2.patch
@@ -0,0 +1,223 @@
+From 23da4b840c9bf0713971f07e659394b6f26b7f9e Mon Sep 17 00:00:00 2001
+From: Mike Hommey <mh+mozilla@glandium.org>
+Date: Wed, 10 Jun 2015 09:58:50 +0900
+Subject: [PATCH] bug 1172632 - Move some allocator related configure checks in
+ a common location for both top-level and js/src to use
+
+---
+ aclocal.m4 | 1 +
+ build/autoconf/alloc.m4 | 53 +++++++++++++++++++++++++++++++++++++++++++++++++
+ configure.in | 46 +-----------------------------------------
+ js/src/aclocal.m4 | 1 +
+ js/src/configure.in | 13 ++----------
+ 5 files changed, 58 insertions(+), 56 deletions(-)
+ create mode 100644 build/autoconf/alloc.m4
+
+diff --git a/aclocal.m4 b/aclocal.m4
+index 90356f9..5f30651 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -28,16 +28,17 @@ builtin(include, build/autoconf/arch.m4)dnl
+ builtin(include, build/autoconf/android.m4)dnl
+ builtin(include, build/autoconf/zlib.m4)dnl
+ builtin(include, build/autoconf/linux.m4)dnl
+ builtin(include, build/autoconf/python-virtualenv.m4)dnl
+ builtin(include, build/autoconf/winsdk.m4)dnl
+ builtin(include, build/autoconf/icu.m4)dnl
+ builtin(include, build/autoconf/ffi.m4)dnl
+ builtin(include, build/autoconf/clang-plugin.m4)dnl
++builtin(include, build/autoconf/alloc.m4)dnl
+
+ MOZ_PROG_CHECKMSYS()
+
+ # Read the user's .mozconfig script. We can't do this in
+ # configure.in: autoconf puts the argument parsing code above anything
+ # expanded from configure.in, and we need to get the configure options
+ # from .mozconfig in place before that argument parsing code.
+ MOZ_READ_MOZCONFIG(.)
+diff --git a/build/autoconf/alloc.m4 b/build/autoconf/alloc.m4
+new file mode 100644
+index 0000000..8234a60
+--- /dev/null
++++ b/build/autoconf/alloc.m4
+@@ -0,0 +1,53 @@
++dnl This Source Code Form is subject to the terms of the Mozilla Public
++dnl License, v. 2.0. If a copy of the MPL was not distributed with this
++dnl file, You can obtain one at http://mozilla.org/MPL/2.0/.
++
++dnl Check for the existence of various allocation headers/functions
++AC_DEFUN([MOZ_CHECK_ALLOCATOR],[
++
++MALLOC_HEADERS="malloc.h malloc_np.h malloc/malloc.h sys/malloc.h"
++MALLOC_H=
++
++for file in $MALLOC_HEADERS; do
++ MOZ_CHECK_HEADER($file, [MALLOC_H=$file])
++ if test "$MALLOC_H" != ""; then
++ AC_DEFINE_UNQUOTED(MALLOC_H, <$MALLOC_H>)
++ break
++ fi
++done
++
++MOZ_CHECK_HEADERS(alloca.h)
++
++AC_CHECK_FUNCS(strndup posix_memalign memalign)
++
++AC_CHECK_FUNCS(malloc_usable_size)
++MALLOC_USABLE_SIZE_CONST_PTR=const
++MOZ_CHECK_HEADERS([malloc.h], [
++ AC_MSG_CHECKING([whether malloc_usable_size definition can use const argument])
++ AC_TRY_COMPILE([#include <malloc.h>
++ #include <stddef.h>
++ size_t malloc_usable_size(const void *ptr);],
++ [return malloc_usable_size(0);],
++ AC_MSG_RESULT([yes]),
++ AC_MSG_RESULT([no])
++ MALLOC_USABLE_SIZE_CONST_PTR=)
++])
++AC_DEFINE_UNQUOTED([MALLOC_USABLE_SIZE_CONST_PTR],[$MALLOC_USABLE_SIZE_CONST_PTR])
++
++
++dnl In newer bionic headers, valloc is built but not defined,
++dnl so we check more carefully here.
++AC_MSG_CHECKING([for valloc in malloc.h])
++AC_EGREP_HEADER(valloc, malloc.h,
++ AC_DEFINE(HAVE_VALLOC)
++ AC_MSG_RESULT([yes]),
++ AC_MSG_RESULT([no]))
++
++AC_MSG_CHECKING([for valloc in unistd.h])
++AC_EGREP_HEADER(valloc, unistd.h,
++ AC_DEFINE(HAVE_VALLOC)
++ AC_MSG_RESULT([yes]),
++ AC_MSG_RESULT([no]))
++
++
++])
+diff --git a/configure.in b/configure.in
+index 0d54167..988797d 100644
+--- a/configure.in
++++ b/configure.in
+@@ -3394,61 +3394,17 @@ if test -n "$MOZ_LINKER" -a "$OS_TARGET" = "Android"; then
+ dnl we need to use LDFLAGS because nspr doesn't inherit DSO_LDOPTS.
+ dnl Using LDFLAGS in nspr is safe, since we only really build
+ dnl libraries there.
+ DSO_LDOPTS="$DSO_LDOPTS -nostartfiles"
+ NSPR_LDFLAGS="$NSPR_LDFLAGS -nostartfiles"
+ fi
+ fi
+
+-dnl Check for the existence of various allocation headers/functions
+-
+-MALLOC_HEADERS="malloc.h malloc_np.h malloc/malloc.h sys/malloc.h"
+-MALLOC_H=
+-
+-for file in $MALLOC_HEADERS; do
+- MOZ_CHECK_HEADER($file, [MALLOC_H=$file])
+- if test "$MALLOC_H" != ""; then
+- AC_DEFINE_UNQUOTED(MALLOC_H, <$MALLOC_H>)
+- break
+- fi
+-done
+-
+-MOZ_CHECK_HEADERS(alloca.h)
+-
+-AC_CHECK_FUNCS(strndup posix_memalign memalign)
+-
+-AC_CHECK_FUNCS(malloc_usable_size)
+-MALLOC_USABLE_SIZE_CONST_PTR=const
+-MOZ_CHECK_HEADERS([malloc.h], [
+- AC_MSG_CHECKING([whether malloc_usable_size definition can use const argument])
+- AC_TRY_COMPILE([#include <malloc.h>
+- #include <stddef.h>
+- size_t malloc_usable_size(const void *ptr);],
+- [return malloc_usable_size(0);],
+- AC_MSG_RESULT([yes]),
+- AC_MSG_RESULT([no])
+- MALLOC_USABLE_SIZE_CONST_PTR=)
+-])
+-AC_DEFINE_UNQUOTED([MALLOC_USABLE_SIZE_CONST_PTR],[$MALLOC_USABLE_SIZE_CONST_PTR])
+-
+-
+-dnl In newer bionic headers, valloc is built but not defined,
+-dnl so we check more carefully here.
+-AC_MSG_CHECKING([for valloc in malloc.h])
+-AC_EGREP_HEADER(valloc, malloc.h,
+- AC_DEFINE(HAVE_VALLOC)
+- AC_MSG_RESULT([yes]),
+- AC_MSG_RESULT([no]))
+-
+-AC_MSG_CHECKING([for valloc in unistd.h])
+-AC_EGREP_HEADER(valloc, unistd.h,
+- AC_DEFINE(HAVE_VALLOC)
+- AC_MSG_RESULT([yes]),
+- AC_MSG_RESULT([no]))
++MOZ_CHECK_ALLOCATOR
+
+ dnl See if compiler supports some gcc-style attributes
+
+ AC_CACHE_CHECK(for __attribute__((always_inline)),
+ ac_cv_attribute_always_inline,
+ [AC_TRY_COMPILE([inline void f(void) __attribute__((always_inline));],
+ [],
+ ac_cv_attribute_always_inline=yes,
+diff --git a/js/src/aclocal.m4 b/js/src/aclocal.m4
+index 99c73ac..fc36340 100644
+--- a/js/src/aclocal.m4
++++ b/js/src/aclocal.m4
+@@ -27,16 +27,17 @@ builtin(include, ../../build/autoconf/arch.m4)dnl
+ builtin(include, ../../build/autoconf/android.m4)dnl
+ builtin(include, ../../build/autoconf/zlib.m4)dnl
+ builtin(include, ../../build/autoconf/linux.m4)dnl
+ builtin(include, ../../build/autoconf/python-virtualenv.m4)dnl
+ builtin(include, ../../build/autoconf/winsdk.m4)dnl
+ builtin(include, ../../build/autoconf/icu.m4)dnl
+ builtin(include, ../../build/autoconf/ffi.m4)dnl
+ builtin(include, ../../build/autoconf/clang-plugin.m4)dnl
++builtin(include, ../../build/autoconf/alloc.m4)dnl
+
+ define([__MOZ_AC_INIT_PREPARE], defn([AC_INIT_PREPARE]))
+ define([AC_INIT_PREPARE],
+ [if test -z "$srcdir"; then
+ srcdir=`dirname "[$]0"`
+ fi
+ srcdir="$srcdir/../.."
+ __MOZ_AC_INIT_PREPARE($1)
+diff --git a/js/src/configure.in b/js/src/configure.in
+index 9c21772..4f72dc3 100644
+--- a/js/src/configure.in
++++ b/js/src/configure.in
+@@ -3842,28 +3842,19 @@ _INTL_API=yes
+ MOZ_CONFIG_ICU()
+
+ MOZ_SUBCONFIGURE_ICU()
+
+ dnl ========================================================
+ dnl JavaScript shell
+ dnl ========================================================
+
+-MALLOC_HEADERS="malloc.h malloc_np.h malloc/malloc.h sys/malloc.h"
+-MALLOC_H=
+-
+-for file in $MALLOC_HEADERS; do
+- MOZ_CHECK_HEADER($file, [MALLOC_H=$file])
+- if test "$MALLOC_H" != ""; then
+- AC_DEFINE_UNQUOTED(MALLOC_H, <$MALLOC_H>)
+- break
+- fi
+-done
++MOZ_CHECK_ALLOCATOR
+
+-AC_CHECK_FUNCS(setlocale localeconv malloc_size malloc_usable_size)
++AC_CHECK_FUNCS(setlocale localeconv)
+
+ AC_SUBST(MOZILLA_VERSION)
+
+ AC_SUBST(ac_configure_args)
+
+ AC_SUBST(TOOLCHAIN_PREFIX)
+
+ if test -n "$JS_STANDALONE"; then
+--
+2.4.0.2.g36460d1.dirty
+