[OE-core] [PATCH 31/42] gdb,strace: Fix builds on ppc/musl

Khem Raj raj.khem at gmail.com
Wed May 11 17:35:34 UTC 2016


ptrace namespace is polluted in glibc for ppc
which is highlighted with musl, these fixes
tries to undo it

Signed-off-by: Khem Raj <raj.khem at gmail.com>
---
 meta/recipes-devtools/gdb/gdb.inc                  | 16 ++++---
 ...Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch | 52 ++++++++++++++++++++++
 ...hen-using-non-glibc-libc-implementation-o.patch | 36 +++++++++++++++
 meta/recipes-devtools/strace/strace_4.11.bb        |  3 +-
 4 files changed, 99 insertions(+), 8 deletions(-)
 create mode 100644 meta/recipes-devtools/gdb/gdb/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
 create mode 100644 meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch

diff --git a/meta/recipes-devtools/gdb/gdb.inc b/meta/recipes-devtools/gdb/gdb.inc
index d9c864d..5a2067e 100644
--- a/meta/recipes-devtools/gdb/gdb.inc
+++ b/meta/recipes-devtools/gdb/gdb.inc
@@ -2,13 +2,15 @@ require gdb-common.inc
 
 inherit gettext
 
-SRC_URI += "file://0002-Change-order-of-CFLAGS.patch \
-            file://0003-Add-support-for-Renesas-SH-sh4-architecture.patch \
-            file://0001-Use-exported-definitions-of-SIGRTMIN.patch \
-            file://0001-include-sys-types.h-for-mode_t.patch \
-            file://0001-use-asm-sgidefs.h.patch \
-            file://force-readline-static.patch \
-            file://0001-mips-linux-nat-Define-_ABIO32-if-not-defined.patch \
+SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.gz \
+           file://0002-Change-order-of-CFLAGS.patch \
+           file://0003-Add-support-for-Renesas-SH-sh4-architecture.patch \
+           file://0001-Use-exported-definitions-of-SIGRTMIN.patch \
+           file://0001-include-sys-types.h-for-mode_t.patch \
+           file://0001-use-asm-sgidefs.h.patch \
+           file://force-readline-static.patch \
+           file://0001-mips-linux-nat-Define-_ABIO32-if-not-defined.patch \
+           file://0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch \
            "
 #LDFLAGS_append = " -s"
 #export CFLAGS_append=" -L${STAGING_LIBDIR}"
diff --git a/meta/recipes-devtools/gdb/gdb/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/meta/recipes-devtools/gdb/gdb/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
new file mode 100644
index 0000000..342f1ce
--- /dev/null
+++ b/meta/recipes-devtools/gdb/gdb/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
@@ -0,0 +1,52 @@
+From 33a2cdb731298b73277507f01b9a21cd340c5b5c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem at gmail.com>
+Date: Sat, 30 Apr 2016 16:46:03 +0000
+Subject: [PATCH] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem at gmail.com>
+---
+ gdb/gdbserver/linux-ppc-low.c | 6 ++++++
+ gdb/nat/ppc-linux.h           | 6 ++++++
+ 2 files changed, 12 insertions(+)
+
+diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c
+index 188fac0..f71d5ab 100644
+--- a/gdb/gdbserver/linux-ppc-low.c
++++ b/gdb/gdbserver/linux-ppc-low.c
+@@ -21,7 +21,13 @@
+ #include "linux-low.h"
+ 
+ #include <elf.h>
++#if !defined(__GLIBC__)
++# define pt_regs uapi_pt_regs
++#endif
+ #include <asm/ptrace.h>
++#if !defined(__GLIBC__)
++# undef pt_regs
++#endif
+ 
+ #include "nat/ppc-linux.h"
+ 
+diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h
+index 0ff2223..c978daa 100644
+--- a/gdb/nat/ppc-linux.h
++++ b/gdb/nat/ppc-linux.h
+@@ -18,7 +18,13 @@
+ #ifndef PPC_LINUX_H
+ #define PPC_LINUX_H 1
+ 
++#if !defined(__GLIBC__)
++# define pt_regs uapi_pt_regs
++#endif
+ #include <asm/ptrace.h>
++#if !defined(__GLIBC__)
++# undef pt_regs
++#endif
+ #include <asm/cputable.h>
+ 
+ /* This sometimes isn't defined.  */
+-- 
+1.8.3.1
+
diff --git a/meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch b/meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch
new file mode 100644
index 0000000..7f59210
--- /dev/null
+++ b/meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch
@@ -0,0 +1,36 @@
+From 1f0c22b79045cfcdc976643f383c1d09589d3087 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem at gmail.com>
+Date: Sat, 30 Apr 2016 16:23:56 +0000
+Subject: [PATCH] Fix build when using non-glibc libc implementation on ppc
+
+glibc includes the kernel header into its own header for macros
+musl does not
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem at gmail.com>
+---
+ ptrace.h | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/ptrace.h b/ptrace.h
+index d8af976..4978a69 100644
+--- a/ptrace.h
++++ b/ptrace.h
+@@ -52,7 +52,13 @@ extern long ptrace(int, int, char *, long);
+ # define ptrace_peeksiginfo_args XXX_ptrace_peeksiginfo_args
+ #endif
+ 
+-#include <linux/ptrace.h>
++#if defined(POWERPC) && !defined(__GLIBC__)
++#define pt_regs uapi_pt_regs
++#endif
++# include <linux/ptrace.h>
++#if defined(POWERPC) && !defined(__GLIBC__)
++# undef pt_regs
++#endif
+ 
+ #ifdef HAVE_STRUCT_IA64_FPREG
+ # undef ia64_fpreg
+-- 
+1.8.3.1
+
diff --git a/meta/recipes-devtools/strace/strace_4.11.bb b/meta/recipes-devtools/strace/strace_4.11.bb
index a787df2..7e349ef 100644
--- a/meta/recipes-devtools/strace/strace_4.11.bb
+++ b/meta/recipes-devtools/strace/strace_4.11.bb
@@ -16,7 +16,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/strace/strace-${PV}.tar.xz \
            file://0001-Move-gcc-compat-macros-to-gcc_compat.h.patch \
            file://0001-tests-introduce-libtests.patch \
            file://run-ptest \
-          "
+           file://0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch \
+           "
 
 SRC_URI[md5sum] = "a15d2555a7febb56d00c6e1a51c655dc"
 SRC_URI[sha256sum] = "e86a5f6cd8f941f67f3e4b28f4e60f3d9185c951cf266404533210a2e5cd8152"
-- 
2.8.2




More information about the Openembedded-core mailing list