[Buildroot] [PATCH v1] valgrind: fix musl compile
Romain Naour
romain.naour at openwide.fr
Wed Nov 11 17:06:25 UTC 2015
Hi Peter,
Le 31/10/2015 19:59, Peter Seiderer a écrit :
> Add patch disabling glibc version check and adding some tweaks
> for musl support (based on OpenWRT patch [1]).
>
> Fixes ([2]):
> checking the glibc version... unsupported version
> configure: error: Valgrind requires glibc version 2.2 or later
>
> [1] https://dev.openwrt.org/browser/trunk/package/devel/valgrind/patches/200-musl_fix.patch?rev=46302
> [2] http://autobuild.buildroot.org/results/7b0/7b048ba58918f0a08498c61327fcf35a85a84837/build-end.log
>
> Signed-off-by: Peter Seiderer <ps.report at gmx.net>
> ---
> ...bc-detection-for-musl-plus-some-adjusteme.patch | 77 ++++++++++++++++++++++
> package/valgrind/valgrind.mk | 3 +
> 2 files changed, 80 insertions(+)
> create mode 100644 package/valgrind/0003-Disable-glibc-detection-for-musl-plus-some-adjusteme.patch
>
> diff --git a/package/valgrind/0003-Disable-glibc-detection-for-musl-plus-some-adjusteme.patch b/package/valgrind/0003-Disable-glibc-detection-for-musl-plus-some-adjusteme.patch
> new file mode 100644
> index 0000000..0a2f660
> --- /dev/null
> +++ b/package/valgrind/0003-Disable-glibc-detection-for-musl-plus-some-adjusteme.patch
> @@ -0,0 +1,77 @@
> +From fcb21d1480c17da6c59422d8eebfdf42d967f441 Mon Sep 17 00:00:00 2001
> +From: Peter Seiderer <ps.report at gmx.net>
> +Date: Sat, 31 Oct 2015 19:45:04 +0100
> +Subject: [PATCH] Disable glibc detection for musl (plus some adjustements).
> +
> +Patch based on the OpenWrt patch for valgrind/musl, see [1].
> +
> +[1] https://dev.openwrt.org/browser/trunk/package/devel/valgrind/patches/200-musl_fix.patch?rev=46302
> +
> +Signed-off-by: Peter Seiderer <ps.report at gmx.net>
> +---
> + configure.ac | 5 +++--
> + coregrind/vg_preloaded.c | 2 +-
> + include/pub_tool_redir.h | 9 ++++++++-
> + 3 files changed, 12 insertions(+), 4 deletions(-)
> +
> +diff --git a/configure.ac b/configure.ac
> +index 8ab7f9b..378ba9f 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -1066,8 +1066,9 @@ case "${GLIBC_VERSION}" in
> + ;;
> + 2.0|2.1|*)
> + AC_MSG_RESULT([unsupported version ${GLIBC_VERSION}])
> +- AC_MSG_ERROR([Valgrind requires glibc version 2.2 or later,])
> +- AC_MSG_ERROR([Darwin libc, Bionic libc or Solaris libc])
> ++ AC_MSG_WARN([Valgrind requires glibc version 2.2 or later,])
> ++ AC_MSG_WARN([Darwin libc, Bionic libc or Solaris libc])
> ++ GLIBC_VERSION=musl
This part of this patch break the glibc check for unsupported version 2.0 and 2.1.
If you want to upstream the patch, maybe you can check if GLIBC_VERSION is empty
and use the toolchain tuple instead ?
Something like:
# GLIBC_VERSION is empty if a musl libc is used, so use the toolchain tuple
# in this case.
if test x$GLIBC_VERSION = x; then
TUPLE=`$CC -dumpmachine | grep musl`
if test -n $TUPLE; then
GLIBC_VERSION=musl
fi
fi
AC_MSG_CHECKING([the glibc version])
case "${GLIBC_VERSION}" in
...
musl)
AC_MSG_RESULT(Musl)
;;
...
Thoughts?
Best regards,
Romain Naour
More information about the buildroot
mailing list