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