On Sun, Aug 25, 2013 at 10:39 PM, Bruce Ashfield <bruce.ashfi...@gmail.com> wrote: > On Sun, Aug 25, 2013 at 10:14 PM, Bruce Ashfield > <bruce.ashfi...@windriver.com> wrote: >> On 13-08-25 8:54 PM, Bruce Ashfield wrote: >>> >>> On 13-08-25 8:46 PM, Khem Raj wrote: >>>> >>>> Hi Bruce >>>> >>>> On Sat, Aug 24, 2013 at 10:16 PM, Bruce Ashfield >>>> <bruce.ashfi...@windriver.com> wrote: >>>>> >>>>> linux kernel commit 84c751bd [ptrace: add ability to retrieve signals >>>>> without removing from a queue (v4)] >>>>> added ptrace_peeksiginfo_args to the exported kernel user api. >>>>> >>>>> This leads to build errors such as: >>>>> >>>>> | 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 >>>>> >>>>> In files that include both the eglibc sys/ptrace.h and the linux >>>>> kernel exported >>>>> one. >>>>> >>>>> We can avoid this by making the eglibc variant only declare its >>>>> structure if PTRACE_PEEKSIGINFO >>>>> has not been defined. >>>> >>>> >>>> The problem is there however we need not fix it in eglibc thats wrong >>>> place to fix it. The right place to fix it is affected application >>>> which seems so mix glibc and kernel interfaces. It should try to not >>>> mix kernel and glibc interfaces. This patch as such is not >>>> appropriate. >>> >>> >>> My insistence is that this go in in the mean time, otherwise the 3.10 >> >> >> s/insistence/suggestion/ >> >> That came out a bit to strong! :) > > > ... and I should point out that the fix I have in this patch also > requires a particular > include order. So by all definitions .. it is temporary!
A final (maybe .. hopefully!?) thought on this. Do drop this change, but give me a few minutes to remove the offending structure from linux-libc-headers_3.10. That will also protect all users of yocto, regardless of the kernel unless they provide their own libc-headers .. and then they are on their own :) That leaves the c library alone, and should buy us time to fix the offending apps. Bruce > > Bruce > >> >> Bruce >> >> >>> kernel headers miss the M4 cutoff and basically the whole release. >>> >>> I'm certainly not going to have the time and cycles to fix individual >>> applications, so our choices boil down to taking this change, rolling >>> back to the 3.8 headers, or waiting for individual package maintainers >>> to update their packages to work with the 3.10 headers. >>> >>> I personally don't see the harm in this change, since these applications >>> have always had this mix of both sys/ptrace.h and linux/ptrace.h in the >>> past, now doesn't seem like the time to fix them. >>> >>> Cheers, >>> >>> Bruce >>> >>> >>>> >>>> >>>>> >>>>> Signed-off-by: Bruce Ashfield <bruce.ashfi...@windriver.com> >>>>> --- >>>>> ...ect-ptrace_peeksiginfo_args-from-redefint.patch | 55 >>>>> ++++++++++++++++++++ >>>>> meta/recipes-core/eglibc/eglibc_2.18.bb | 1 + >>>>> 2 files changed, 56 insertions(+) >>>>> create mode 100644 >>>>> >>>>> meta/recipes-core/eglibc/eglibc-2.18/0001-ptrace-protect-ptrace_peeksiginfo_args-from-redefint.patch >>>>> >>>>> >>>>> diff --git >>>>> >>>>> a/meta/recipes-core/eglibc/eglibc-2.18/0001-ptrace-protect-ptrace_peeksiginfo_args-from-redefint.patch >>>>> >>>>> b/meta/recipes-core/eglibc/eglibc-2.18/0001-ptrace-protect-ptrace_peeksiginfo_args-from-redefint.patch >>>>> >>>>> new file mode 100644 >>>>> index 0000000..edf10fb >>>>> --- /dev/null >>>>> +++ >>>>> >>>>> b/meta/recipes-core/eglibc/eglibc-2.18/0001-ptrace-protect-ptrace_peeksiginfo_args-from-redefint.patch >>>>> >>>>> @@ -0,0 +1,55 @@ >>>>> +From b5fe604678ffc7e0d6c2704a73d22f99b24a6d25 Mon Sep 17 00:00:00 2001 >>>>> +From: Bruce Ashfield <bruce.ashfi...@windriver.com> >>>>> +Date: Sat, 24 Aug 2013 23:51:06 -0400 >>>>> +Subject: [PATCH] ptrace: protect ptrace_peeksiginfo_args from >>>>> redefintion >>>>> + >>>>> +linux kernel commit 84c751bd [ptrace: add ability to retrieve >>>>> signals without removing from a queue (v4)] >>>>> +added ptrace_peeksiginfo_args to the exported kernel user api. >>>>> + >>>>> +This leads to build errors such as: >>>>> + >>>>> +| 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 >>>>> + >>>>> +In files that include both the eglibc sys/ptrace.h and the linux >>>>> kernel exported >>>>> +one. >>>>> + >>>>> +We can avoid this by making the eglibc variant only declare its >>>>> structure if PTRACE_PEEKSIGINFO >>>>> +has not been defined. >>>>> + >>>>> +Signed-off-by: Bruce Ashfield <bruce.ashfi...@windriver.com> >>>>> +--- >>>>> + libc/sysdeps/unix/sysv/linux/sys/ptrace.h | 2 ++ >>>>> + 1 file changed, 2 insertions(+) >>>>> + >>>>> +diff --git a/sysdeps/unix/sysv/linux/sys/ptrace.h >>>>> b/sysdeps/unix/sysv/linux/sys/ptrace.h >>>>> +index 2b78565..7800d9a 100644 >>>>> +--- a/sysdeps/unix/sysv/linux/sys/ptrace.h >>>>> ++++ b/sysdeps/unix/sysv/linux/sys/ptrace.h >>>>> +@@ -187,6 +187,7 @@ enum __ptrace_eventcodes >>>>> + PTRAVE_EVENT_SECCOMP = 7 >>>>> + }; >>>>> + >>>>> ++#ifndef PTRACE_PEEKSIGINFO >>>>> + /* Arguments for PTRACE_PEEKSIGINFO. */ >>>>> + struct ptrace_peeksiginfo_args >>>>> + { >>>>> +@@ -194,6 +195,7 @@ struct ptrace_peeksiginfo_args >>>>> + __uint32_t flags; /* Flags for peeksiginfo. */ >>>>> + __int32_t nr; /* How many siginfos to take. */ >>>>> + }; >>>>> ++#endif >>>>> + >>>>> + enum __ptrace_peeksiginfo_flags >>>>> + { >>>>> +-- >>>>> +1.7.10.4 >>>>> + >>>>> diff --git a/meta/recipes-core/eglibc/eglibc_2.18.bb >>>>> b/meta/recipes-core/eglibc/eglibc_2.18.bb >>>>> index 17b651f..2257c21 100644 >>>>> --- a/meta/recipes-core/eglibc/eglibc_2.18.bb >>>>> +++ b/meta/recipes-core/eglibc/eglibc_2.18.bb >>>>> @@ -26,6 +26,7 @@ SRC_URI = >>>>> "http://downloads.yoctoproject.org/releases/eglibc/eglibc-${PV}-svnr23 >>>>> file://tzselect-awk.patch \ >>>>> >>>>> file://0001-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch \ >>>>> file://fix-tibetian-locales.patch \ >>>>> + >>>>> file://0001-ptrace-protect-ptrace_peeksiginfo_args-from-redefint.patch \ >>>>> " >>>>> SRC_URI[md5sum] = "b395b021422a027d89884992e91734fc" >>>>> SRC_URI[sha256sum] = >>>>> "15f564b45dc5dd65faf0875579e3447961ae61e876933384ae05d19328539ad4" >>>>> -- >>>>> 1.7.10.4 >>>>> >>> >> >> _______________________________________________ >> Openembedded-core mailing list >> Openembedded-core@lists.openembedded.org >> http://lists.openembedded.org/mailman/listinfo/openembedded-core > > > > -- > "Thou shalt not follow the NULL pointer, for chaos and madness await > thee at its end" -- "Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end" _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core