diff mbox series

[1/2] linux-libc-headers: Include linux/stddef.h in linux/swab.h

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

Commit Message

Khem Raj Sept. 13, 2018, 1:05 a.m. UTC
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

Comments

Bruce Ashfield Sept. 13, 2018, 3:46 a.m. UTC | #1
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 mbox series

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"