Commit 1239610e authored by Thomas Petazzoni's avatar Thomas Petazzoni Committed by Peter Korsgaard
Browse files

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: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: default avatarPeter Korsgaard <peter@korsgaard.com>
parent d6d8bac0
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
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