[OE-core] [PATCH] linux-libc-headers: ptrace.h: remove ptrace_peeksiginfo_args

Saul Wold sgw at linux.intel.com
Mon Aug 26 04:08:46 UTC 2013


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



More information about the Openembedded-core mailing list