[oe] [PATCH 2/4] php: disable non-deterministic valgrind

Khem Raj raj.khem at gmail.com
Wed Jul 4 13:08:05 UTC 2018


On Tue, Jul 3, 2018 at 2:42 AM Ross Burton <ross.burton at intel.com> wrote:
>
> Valgrind support in PHP looks on the host for Valgrind headers, backport a patch
> from upstream so that Valgrind support is disabled by default.
>
> Signed-off-by: Ross Burton <ross.burton at intel.com>
> ---
>  meta-oe/recipes-devtools/php/php.inc            |   1 +
>  meta-oe/recipes-devtools/php/php/valgrind.patch | 115 ++++++++++++++++++++++++
>  2 files changed, 116 insertions(+)
>  create mode 100644 meta-oe/recipes-devtools/php/php/valgrind.patch
>

Fails to apply

Applying patch valgrind.patch
patching file NEWS
Hunk #1 succeeded at 133 with fuzz 2 (offset 131 lines).
patching file acinclude.m4
Hunk #1 FAILED at 3249.
1 out of 1 hunk FAILED -- rejects in file acinclude.m4
patching file configure.ac
patch unexpectedly ends in middle of line
Hunk #1 FAILED at 753.
1 out of 1 hunk FAILED -- rejects in file configure.ac
Patch valgrind.patch does not apply (enforce with -f)



> diff --git a/meta-oe/recipes-devtools/php/php.inc b/meta-oe/recipes-devtools/php/php.inc
> index 066b97cd26..f262d60d15 100644
> --- a/meta-oe/recipes-devtools/php/php.inc
> +++ b/meta-oe/recipes-devtools/php/php.inc
> @@ -24,6 +24,7 @@ SRC_URI_append_class-target = " \
>              file://0001-acinclude.m4-don-t-unset-cache-variables.patch \
>              file://70_mod_php${PHP_MAJOR_VERSION}.conf \
>              file://php-fpm.service \
> +            file://valgrind.patch \
>            "
>  S = "${WORKDIR}/php-${PV}"
>
> diff --git a/meta-oe/recipes-devtools/php/php/valgrind.patch b/meta-oe/recipes-devtools/php/php/valgrind.patch
> new file mode 100644
> index 0000000000..c3e232ba23
> --- /dev/null
> +++ b/meta-oe/recipes-devtools/php/php/valgrind.patch
> @@ -0,0 +1,115 @@
> +Upstream-Status: Backport
> +Signed-off-by: Ross Burton <ross.burton at intel.com>
> +
> +From 25ba60b1479eb332a7388732f3ee5467000fbe73 Mon Sep 17 00:00:00 2001
> +From: Michael Heimpold <mhei at heimpold.de>
> +Date: Wed, 14 Feb 2018 14:46:17 +0100
> +Subject: [PATCH] Fixed bug #75722: Rework valgrind detection
> +
> +As described in bug report #75722, the configure script (acinclude.m4)
> +currently searches for the valgrind header file and enables valgrind
> +support if found.
> +
> +When cross-compiling the searched paths are invalid for the target
> +platform because they belong to the host system. At the moment, there is
> +no way to tell the build system a dedicated path where to look for the
> +header file.
> +
> +This leads to the issue, that when cross-compiling eg. for ARMv5 platform,
> +that valgrind header file is detected - e.g. because host system is amd64 -
> +and support is enabled - but target platform will never support valgrind
> +(valgrind requires e.g. at least ARMv7).
> +
> +This change reworks the detection so that user could manually opt-in
> +valgrind support and optionally specify a directory where the build system
> +should look for the header file using the --with-valgrind option.
> +---
> + NEWS         |  4 ++++
> + acinclude.m4 | 20 --------------------
> + configure.ac | 30 +++++++++++++++++++++++++++++-
> + 3 files changed, 33 insertions(+), 21 deletions(-)
> +
> +diff --git a/NEWS b/NEWS
> +index 1faf13831ebd..5d65fd083357 100644
> +--- a/NEWS
> ++++ b/NEWS
> +@@ -2,6 +2,10 @@ PHP                                                                        NEWS
> + |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> + ?? ??? 2018, PHP 7.2.5
> +
> ++- Core:
> ++  . Fixed bug #75722 (Convert valgrind detection to configure option).
> ++    (Michael Heimpold)
> ++
> + - Mbstring:
> +   . Fixed bug #75944 (Wrong cp1251 detection). (dmk001)
> +   . Fixed bug #76113 (mbstring does not build with Oniguruma 6.8.1).
> +diff --git a/acinclude.m4 b/acinclude.m4
> +index d42d70853515..eb06cb7e363f 100644
> +--- a/acinclude.m4
> ++++ b/acinclude.m4
> +@@ -3249,23 +3249,3 @@ AC_DEFUN([PHP_CHECK_BUILTIN_SSUBLL_OVERFLOW], [
> +
> + dnl Load the AX_CHECK_COMPILE_FLAG macro from the autoconf archive.
> + m4_include([build/ax_check_compile_flag.m4])
> +-
> +-dnl PHP_CHECK_VALGRIND
> +-AC_DEFUN([PHP_CHECK_VALGRIND], [
> +-  AC_MSG_CHECKING([for valgrind])
> +-
> +-  SEARCH_PATH="/usr/local /usr"
> +-  SEARCH_FOR="/include/valgrind/valgrind.h"
> +-  for i in $SEARCH_PATH ; do
> +-    if test -r $i/$SEARCH_FOR; then
> +-      VALGRIND_DIR=$i
> +-    fi
> +-  done
> +-
> +-  if test -z "$VALGRIND_DIR"; then
> +-    AC_MSG_RESULT([not found])
> +-  else
> +-    AC_MSG_RESULT(found in $VALGRIND_DIR)
> +-    AC_DEFINE(HAVE_VALGRIND, 1, [ ])
> +-  fi
> +-])
> +diff --git a/configure.ac b/configure.ac
> +index 05f94f08a9c8..c5d9be978bda 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -753,7 +753,35 @@ if test "x$php_crypt_r" = "x1"; then
> +   PHP_CRYPT_R_STYLE
> + fi
> +
> +-PHP_CHECK_VALGRIND
> ++dnl Check valgrind support
> ++PHP_ARG_WITH(valgrind, [whether to enable valgrind support],
> ++[  --with-valgrind=DIR     Enable valgrind support], yes, no)
> ++
> ++if test "$PHP_VALGRIND" != "no"; then
> ++
> ++  AC_MSG_CHECKING([for valgrind header])
> ++
> ++  if test "$PHP_VALGRIND" = "yes"; then
> ++    SEARCH_PATH="/usr/local /usr"
> ++  else
> ++    SEARCH_PATH="$PHP_VALGRIND"
> ++  fi
> ++
> ++  SEARCH_FOR="/include/valgrind/valgrind.h"
> ++  for i in $SEARCH_PATH ; do
> ++    if test -r $i/$SEARCH_FOR; then
> ++      VALGRIND_DIR=$i
> ++    fi
> ++  done
> ++
> ++  if test -z "$VALGRIND_DIR"; then
> ++    AC_MSG_RESULT([not found])
> ++  else
> ++    AC_MSG_RESULT(found in $VALGRIND_DIR)
> ++    AC_DEFINE(HAVE_VALGRIND, 1, [ ])
> ++  fi
> ++
> ++fi
> +
> + dnl General settings.
> + dnl -------------------------------------------------------------------------
> \ No newline at end of file
> --
> 2.11.0
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel



More information about the Openembedded-devel mailing list