On 13-08-26 12:08 AM, Saul Wold wrote:
On 08/25/2013 08:25 PM, Bruce Ashfield wrote:
The addition of ptrace_peeksiginfo_args to the uapi in kernel commit
84c751bd [ptrace: add ability to retrieve signals without removing
from a queue (v4)]
means that existing applications using glibc versions that define
ptrace_peeksiginfo_args
in sys/ptrace.h will get duplicate structure definitions like:

     | In file included from
/poky-master/build/tmp/work/i586-poky-linux/strace/4.8-r0/strace-4.8/process.c:66:0:

     |
/poky-master/build/tmp/sysroots/qemux86/usr/include/linux/ptrace.h:58:8:
error: redefinition of 'struct ptrace_peeksiginfo_args'
     |  struct ptrace_peeksiginfo_args {
     |         ^
     | In file included from
/poky-master/build/tmp/work/i586-poky-linux/strace/4.8-r0/strace-4.8/defs.h:159:0,

     |                  from
/poky-master/build/tmp/work/i586-poky-linux/strace/4.8-r0/strace-4.8/process.c:37:

     |
/poky-master/build/tmp/sysroots/qemux86/usr/include/sys/ptrace.h:191:8: note:
originally defined here
     |  struct ptrace_peeksiginfo_args
     |         ^
     | make[2]: *** [process.o] Error 1

Reverting to the previous status of not exporting this structure
temporarily
fixes applications, until they can be adjusted to not mix sys/ptrace.h
and
linux/ptrace.h includes.

Signed-off-by: Bruce Ashfield <[email protected]>
---
  ...1-ptrace.h-remove-ptrace_peeksiginfo_args.patch |   50
++++++++++++++++++++
  .../linux-libc-headers/linux-libc-headers_3.10.bb  |    2 +-
  2 files changed, 51 insertions(+), 1 deletion(-)
  create mode 100644
meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-ptrace.h-remove-ptrace_peeksiginfo_args.patch


diff --git
a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-ptrace.h-remove-ptrace_peeksiginfo_args.patch
b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-ptrace.h-remove-ptrace_peeksiginfo_args.patch

new file mode 100644
index 0000000..da2e117
--- /dev/null
+++
b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-ptrace.h-remove-ptrace_peeksiginfo_args.patch

@@ -0,0 +1,50 @@
+From 7dddfb8fec5317ea16154d30e8e18b6559979b60 Mon Sep 17 00:00:00 2001
+From: Bruce Ashfield <[email protected]>
+Date: Sun, 25 Aug 2013 22:51:07 -0400
+Subject: [PATCH] ptrace.h: remove ptrace_peeksiginfo_args
+
+The addition of ptrace_peeksiginfo_args to the uapi in kernel commit
+84c751bd [ptrace: add ability to retrieve signals without removing
from a queue (v4)]
+means that existing applications using glibc versions that define
ptrace_peeksiginfo_args
+in sys/ptrace.h will get duplicate structure definitions like:
+
+    | In file included from
/poky-master/build/tmp/work/i586-poky-linux/strace/4.8-r0/strace-4.8/process.c:66:0:

+    |
/poky-master/build/tmp/sysroots/qemux86/usr/include/linux/ptrace.h:58:8:
error: redefinition of 'struct ptrace_peeksiginfo_args'
+    |  struct ptrace_peeksiginfo_args {
+    |         ^
+    | In file included from
/poky-master/build/tmp/work/i586-poky-linux/strace/4.8-r0/strace-4.8/defs.h:159:0,

+    |                  from
/poky-master/build/tmp/work/i586-poky-linux/strace/4.8-r0/strace-4.8/process.c:37:

+    |
/poky-master/build/tmp/sysroots/qemux86/usr/include/sys/ptrace.h:191:8: note:
originally defined here
+    |  struct ptrace_peeksiginfo_args
+    |         ^
+    | make[2]: *** [process.o] Error 1
+
+Reverting to the previous status of not exporting this structure
temporarily
+fixes applications, until they can be adjusted to not mix
sys/ptrace.h and
+linux/ptrace.h includes.
+
+Signed-off-by: Bruce Ashfield <[email protected]>

Just for the record, it has no Upstream-Status, I know how much you
dislike upstream status and just how inappropriate this patch is!

Thanks! And honestly, I didn't leave out the upstream status on purpose
this time .. like I said, it just isn't in my workflow, since I normally
seek and destroy them!

I'm pretty sure I can't convince the kernel guys to not export that
structure, but I can try. Otherwise, it can have the "dirty hack" upstream
status.


I will put this in MUT so we can move forward tonight.

Fingers crossed, my builds are working here.

Bruce


Thanks
     Sau!

+---
+ include/uapi/linux/ptrace.h |    6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/include/uapi/linux/ptrace.h b/include/uapi/linux/ptrace.h
+index 52ebcc8..524599d 100644
+--- a/include/uapi/linux/ptrace.h
++++ b/include/uapi/linux/ptrace.h
+@@ -55,12 +55,6 @@
+
+ #define PTRACE_PEEKSIGINFO    0x4209
+
+-struct ptrace_peeksiginfo_args {
+-    __u64 off;    /* from which siginfo to start */
+-    __u32 flags;
+-    __s32 nr;    /* how may siginfos to take */
+-};
+-
+ /* Read signals from a shared (process wide) queue */
+ #define PTRACE_PEEKSIGINFO_SHARED    (1 << 0)
+
+--
+1.7.10.4
+
diff --git
a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.10.bb
b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.10.bb
index eb04367..b2e6f0f 100644
--- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.10.bb
+++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.10.bb
@@ -1,6 +1,6 @@
  require linux-libc-headers.inc

-PR = "r0"
+SRC_URI += "file://0001-ptrace.h-remove-ptrace_peeksiginfo_args.patch"

  SRC_URI[md5sum] = "72d0a9b3e60cd86fabcd3f24b1708944"
  SRC_URI[sha256sum] =
"46c9e55e1fddf40813b8d697d5645037a8e2af5c1a8dff52b3fe82b5021582b8"


_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to