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

Bruce Ashfield bruce.ashfield at windriver.com
Mon Aug 26 04:26:32 UTC 2013


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

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




More information about the Openembedded-core mailing list