Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Saul Wold <sgw@linux.intel.com>
To: Bruce Ashfield <bruce.ashfield@windriver.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH] linux-libc-headers: ptrace.h: remove ptrace_peeksiginfo_args
Date: Sun, 25 Aug 2013 21:08:46 -0700	[thread overview]
Message-ID: <521AD4CE.2020907@linux.intel.com> (raw)
In-Reply-To: <1377487515-26654-2-git-send-email-bruce.ashfield@windriver.com>

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 <bruce.ashfield@windriver.com>
> ---
>   ...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 <bruce.ashfield@windriver.com>
> +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 <bruce.ashfield@windriver.com>

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

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

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"
>


  reply	other threads:[~2013-08-26  4:08 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-26  3:25 linux-libc-headers: fix 3.10 build issues Bruce Ashfield
2013-08-26  3:25 ` [PATCH] linux-libc-headers: ptrace.h: remove ptrace_peeksiginfo_args Bruce Ashfield
2013-08-26  4:08   ` Saul Wold [this message]
2013-08-26  4:26     ` Bruce Ashfield
2013-08-26 11:03       ` Richard Purdie
2013-08-26 12:39         ` Bruce Ashfield
2013-08-26 13:18           ` Richard Purdie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=521AD4CE.2020907@linux.intel.com \
    --to=sgw@linux.intel.com \
    --cc=bruce.ashfield@windriver.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox