Patchwork linux-libc-headers: ptrace.h: remove ptrace_peeksiginfo_args

login
register
mail settings
Submitter Bruce Ashfield
Date Aug. 26, 2013, 3:25 a.m.
Message ID <1377487515-26654-2-git-send-email-bruce.ashfield@windriver.com>
Download mbox | patch
Permalink /patch/56599/
State Accepted
Commit 7c207e4c3c0e3b575c67a302b97b0dc700a8fc15
Headers show

Comments

Bruce Ashfield - Aug. 26, 2013, 3:25 a.m.
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
Saul Wold - Aug. 26, 2013, 4:08 a.m.
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"
>
Bruce Ashfield - Aug. 26, 2013, 4:26 a.m.
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 <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!

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"
>>
Richard Purdie - Aug. 26, 2013, 11:03 a.m.
On Mon, 2013-08-26 at 00:26 -0400, Bruce Ashfield wrote:
> On 13-08-26 12:08 AM, Saul Wold wrote:
> 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.

Things failed badly on the autobuilder since we dropped the command
length patch and it was still needed. I've updated it against 3.10,
confirmed it worked on the autobuilder and then merged things.

Cheers,

Richard
Bruce Ashfield - Aug. 26, 2013, 12:39 p.m.
On Mon, Aug 26, 2013 at 7:03 AM, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
> On Mon, 2013-08-26 at 00:26 -0400, Bruce Ashfield wrote:
>> On 13-08-26 12:08 AM, Saul Wold wrote:
>> 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.
>
> Things failed badly on the autobuilder since we dropped the command
> length patch and it was still needed. I've updated it against 3.10,
> confirmed it worked on the autobuilder and then merged things.

Argh. I was emailed about that same patch in the mainline kernel, and when
I tested my previously "long" directory name .. it worked.

Thanks for pulling it back in, I had my doubts, which is why I hand't removed
it completely :)

Bruce

>
> Cheers,
>
> Richard
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
Richard Purdie - Aug. 26, 2013, 1:18 p.m.
On Mon, 2013-08-26 at 08:39 -0400, Bruce Ashfield wrote:
> On Mon, Aug 26, 2013 at 7:03 AM, Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> > On Mon, 2013-08-26 at 00:26 -0400, Bruce Ashfield wrote:
> >> On 13-08-26 12:08 AM, Saul Wold wrote:
> >> 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.
> >
> > Things failed badly on the autobuilder since we dropped the command
> > length patch and it was still needed. I've updated it against 3.10,
> > confirmed it worked on the autobuilder and then merged things.
> 
> Argh. I was emailed about that same patch in the mainline kernel, and when
> I tested my previously "long" directory name .. it worked.

I think there is a dependency on the running kernel version too...

> Thanks for pulling it back in, I had my doubts, which is why I hand't removed
> it completely :)

I kind of guessed that was why the patch was still there :)

Cheers,

Richard

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