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 <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Thomas Petazzoni 2014-10-12 19:27:14 +02:00 committed by Peter Korsgaard
parent d6d8bac096
commit 1239610e22
1 changed files with 28 additions and 0 deletions

View File

@ -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 <thomas.petazzoni@free-electrons.com>
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