From 1239610e223358d31bd9126f3bc5928deeba5d5f Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 12 Oct 2014 19:27:14 +0200 Subject: [PATCH] valgrind: add patch to fix build on PowerPC uClibc uClibc on PowerPC forgot to define some PTRACE_* definitions. Even though the Buildroot uClibc package has a fix for this, it doesn't fix external uClibc toolchains that are not patched. Therefore this commit adds a patch to Valgrind to workaround the problem by defining PTRACE_GETSIGINFO to the appropriate value on PowerPC when it's not defined by the C library. Fixes: http://autobuild.buildroot.org/results/bc6/bc6be9aa1ad39201a1045a65c0c3eb1e968371f2/ Signed-off-by: Thomas Petazzoni Signed-off-by: Peter Korsgaard --- ...missing-ptrace-getsiginfo-on-powerpc.patch | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 package/valgrind/valgrind-0003-add-missing-ptrace-getsiginfo-on-powerpc.patch diff --git a/package/valgrind/valgrind-0003-add-missing-ptrace-getsiginfo-on-powerpc.patch b/package/valgrind/valgrind-0003-add-missing-ptrace-getsiginfo-on-powerpc.patch new file mode 100644 index 000000000..f663825ae --- /dev/null +++ b/package/valgrind/valgrind-0003-add-missing-ptrace-getsiginfo-on-powerpc.patch @@ -0,0 +1,28 @@ +Define PTRACE_GETSIGINFO on PowerPC when not available + +uClibc 0.9.33.2 does not define PTRACE_GETSIGINFO in PowerPC. Even +though Buildroot has a uClibc patch doing that, it doesn't solve the +case of external uClibc toolchain from other sources (such as +Crosstool-NG). Therefore, this patch modifies Valgrind to define +PTRACE_GETSIGINFO on PowerPC to the right value, when such definition +is not available from the C library. + +Signed-off-by: Thomas Petazzoni + +Index: b/coregrind/vgdb-invoker-ptrace.c +=================================================================== +--- a/coregrind/vgdb-invoker-ptrace.c ++++ b/coregrind/vgdb-invoker-ptrace.c +@@ -71,6 +71,12 @@ + # endif + #endif + ++#if defined(__powerpc__) ++# ifndef PTRACE_GETSIGINFO ++# define PTRACE_GETSIGINFO 0x4202 ++# endif ++#endif ++ + #if VEX_HOST_WORDSIZE == 8 + typedef Addr64 CORE_ADDR; + #elif VEX_HOST_WORDSIZE == 4