Message ID | 20180913010531.41241-1-raj.khem@gmail.com |
---|---|
State | Accepted |
Commit | 5f1895fb94d35a1496f22863791ad6f7a6aca97a |
Headers | show |
Series | [1/2] linux-libc-headers: Include linux/stddef.h in linux/swab.h | expand |
On 2018-09-12 9:05 PM, Khem Raj wrote: > This helps compiling bpf tests using non-glibc C libraries e.g. musl Looks good to me. Thanks for the cc', most appreciated. Acked-by: Bruce Ashfield <bruce.ashfield@windriver.com> > > Signed-off-by: Khem Raj <raj.khem@gmail.com> > Cc: Bruce Ashfield <bruce.ashfield@windriver.com> > --- > ...linux-stddef.h-in-swab.h-uapi-header.patch | 44 +++++++++++++++++++ > .../linux-libc-headers_4.18.bb | 1 + > 2 files changed, 45 insertions(+) > create mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-include-linux-stddef.h-in-swab.h-uapi-header.patch > > diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-include-linux-stddef.h-in-swab.h-uapi-header.patch b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-include-linux-stddef.h-in-swab.h-uapi-header.patch > new file mode 100644 > index 0000000000..9d17daa70f > --- /dev/null > +++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-include-linux-stddef.h-in-swab.h-uapi-header.patch > @@ -0,0 +1,44 @@ > +From 9708dc74d9f49488d669e070982f6224a888d61a Mon Sep 17 00:00:00 2001 > +From: Khem Raj <raj.khem@gmail.com> > +Date: Wed, 12 Sep 2018 17:08:58 -0700 > +Subject: [PATCH] include linux/stddef.h in swab.h uapi header > + > +swab.h uses __always_inline without including the header where it is > +defined, this is exposed by musl based distributions where this macro is > +not defined by system C library headers unlike glibc where it is defined > +in sys/cdefs.h and that header gets pulled in indirectly via > + > +features.h -> sys/cdefs.h > + > +and features.h gets pulled in a lot of headers. Therefore it may work in > +cases where features.h is includes but not otherwise. > + > +Adding linux/stddef.h here ensures that __always_inline is always > +defined independent of which C library is used in userspace > + > +Upstream-Status: Submitted [https://lkml.org/lkml/2018/9/13/78] > + > +Signed-off-by: Khem Raj <raj.khem@gmail.com> > +Cc: Philippe Ombredanne <pombredanne@nexb.com> > +Cc: Kate Stewart <kstewart@linuxfoundation.org> > +Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > +Cc: Thomas Gleixner <tglx@linutronix.de> > +--- > + include/uapi/linux/swab.h | 1 + > + 1 file changed, 1 insertion(+) > + > +diff --git a/include/uapi/linux/swab.h b/include/uapi/linux/swab.h > +index 23cd84868cc3..acddbe50a20d 100644 > +--- a/include/uapi/linux/swab.h > ++++ b/include/uapi/linux/swab.h > +@@ -3,6 +3,7 @@ > + #define _UAPI_LINUX_SWAB_H > + > + #include <linux/types.h> > ++#include <linux/stddef.h> > + #include <linux/compiler.h> > + #include <asm/swab.h> > + > +-- > +2.19.0 > + > diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.18.bb b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.18.bb > index e38872bb91..eb7bee72b0 100644 > --- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.18.bb > +++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.18.bb > @@ -6,6 +6,7 @@ SRC_URI_append_libc-musl = "\ > file://0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch \ > file://0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch \ > file://0001-if_ether-move-muslc-ethhdr-protection-to-uapi-file.patch \ > + file://0001-include-linux-stddef.h-in-swab.h-uapi-header.patch \ > " > > SRC_URI[md5sum] = "bee5fe53ee1c3142b8f0c12c0d3348f9" > -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-include-linux-stddef.h-in-swab.h-uapi-header.patch b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-include-linux-stddef.h-in-swab.h-uapi-header.patch new file mode 100644 index 0000000000..9d17daa70f --- /dev/null +++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-include-linux-stddef.h-in-swab.h-uapi-header.patch @@ -0,0 +1,44 @@ +From 9708dc74d9f49488d669e070982f6224a888d61a Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 12 Sep 2018 17:08:58 -0700 +Subject: [PATCH] include linux/stddef.h in swab.h uapi header + +swab.h uses __always_inline without including the header where it is +defined, this is exposed by musl based distributions where this macro is +not defined by system C library headers unlike glibc where it is defined +in sys/cdefs.h and that header gets pulled in indirectly via + +features.h -> sys/cdefs.h + +and features.h gets pulled in a lot of headers. Therefore it may work in +cases where features.h is includes but not otherwise. + +Adding linux/stddef.h here ensures that __always_inline is always +defined independent of which C library is used in userspace + +Upstream-Status: Submitted [https://lkml.org/lkml/2018/9/13/78] + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Cc: Philippe Ombredanne <pombredanne@nexb.com> +Cc: Kate Stewart <kstewart@linuxfoundation.org> +Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +Cc: Thomas Gleixner <tglx@linutronix.de> +--- + include/uapi/linux/swab.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/include/uapi/linux/swab.h b/include/uapi/linux/swab.h +index 23cd84868cc3..acddbe50a20d 100644 +--- a/include/uapi/linux/swab.h ++++ b/include/uapi/linux/swab.h +@@ -3,6 +3,7 @@ + #define _UAPI_LINUX_SWAB_H + + #include <linux/types.h> ++#include <linux/stddef.h> + #include <linux/compiler.h> + #include <asm/swab.h> + +-- +2.19.0 + diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.18.bb b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.18.bb index e38872bb91..eb7bee72b0 100644 --- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.18.bb +++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.18.bb @@ -6,6 +6,7 @@ SRC_URI_append_libc-musl = "\ file://0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch \ file://0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch \ file://0001-if_ether-move-muslc-ethhdr-protection-to-uapi-file.patch \ + file://0001-include-linux-stddef.h-in-swab.h-uapi-header.patch \ " SRC_URI[md5sum] = "bee5fe53ee1c3142b8f0c12c0d3348f9"
This helps compiling bpf tests using non-glibc C libraries e.g. musl Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Bruce Ashfield <bruce.ashfield@windriver.com> --- ...linux-stddef.h-in-swab.h-uapi-header.patch | 44 +++++++++++++++++++ .../linux-libc-headers_4.18.bb | 1 + 2 files changed, 45 insertions(+) create mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-include-linux-stddef.h-in-swab.h-uapi-header.patch -- 2.19.0 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core