2021-11-15 13:55:25

by Ismael Luceno

[permalink] [raw]
Subject: [RESEND PATCH] uapi: Fix undefined __always_inline on non-glibc systems

This macro is defined by glibc itself, which makes the issue go unnoticed on
those systems. On non-glibc systems it causes build failures on several
utilities and libraries, like bpftool and objtool.

Fixes: 1d509f2a6ebc ("x86/insn: Support big endian cross-compiles")
Fixes: 2d7ce0e8a704 ("tools/virtio: more stubs")
Fixes: 3fb321fde22d ("selftests/net: ipv6 flowlabel")
Fixes: 50b3ed57dee9 ("selftests/bpf: test bpf flow dissection")
Fixes: 9cacf81f8161 ("bpf: Remove extra lock_sock for TCP_ZEROCOPY_RECEIVE")
Fixes: a4b2061242ec ("tools include uapi: Grab a copy of linux/in.h")
Fixes: b12d6ec09730 ("bpf: btf: add btf print functionality")
Fixes: c0dd967818a2 ("tools, include: Grab a copy of linux/erspan.h")
Fixes: c4b6014e8bb0 ("tools: Add copy of perf_event.h to tools/include/linux/")

Signed-off-by: Ismael Luceno <[email protected]>
Acked-by: Masami Hiramatsu <[email protected]>
---
CC: Martin Schwidefsky <[email protected]>
CC: Vasily Gorbik <[email protected]>
CC: Josh Poimboeuf <[email protected]>

include/uapi/linux/byteorder/big_endian.h | 1 +
include/uapi/linux/byteorder/little_endian.h | 1 +
2 files changed, 2 insertions(+)

diff --git a/include/uapi/linux/byteorder/big_endian.h b/include/uapi/linux/byteorder/big_endian.h
index 2199adc6a6c2..80aa5c41a763 100644
--- a/include/uapi/linux/byteorder/big_endian.h
+++ b/include/uapi/linux/byteorder/big_endian.h
@@ -9,6 +9,7 @@ #define __BIG_ENDIAN 4321
#define __BIG_ENDIAN_BITFIELD
#endif

+#include <linux/stddef.h>
#include <linux/types.h>
#include <linux/swab.h>

diff --git a/include/uapi/linux/byteorder/little_endian.h b/include/uapi/linux/byteorder/little_endian.h
index 601c904fd5cd..cd98982e7523 100644
--- a/include/uapi/linux/byteorder/little_endian.h
+++ b/include/uapi/linux/byteorder/little_endian.h
@@ -9,6 +9,7 @@ #define __LITTLE_ENDIAN 1234
#define __LITTLE_ENDIAN_BITFIELD
#endif

+#include <linux/stddef.h>
#include <linux/types.h>
#include <linux/swab.h>

--
2.33.0



Subject: [tip: objtool/urgent] uapi: Fix undefined __always_inline on non-glibc systems

The following commit has been merged into the objtool/urgent branch of tip:

Commit-ID: cb8747b7d2a9e3d687a19a007575071d4b71cd05
Gitweb: https://git.kernel.org/tip/cb8747b7d2a9e3d687a19a007575071d4b71cd05
Author: Ismael Luceno <[email protected]>
AuthorDate: Mon, 15 Nov 2021 14:46:47 +01:00
Committer: Josh Poimboeuf <[email protected]>
CommitterDate: Tue, 21 Dec 2021 15:09:46 -08:00

uapi: Fix undefined __always_inline on non-glibc systems

This macro is defined by glibc itself, which makes the issue go unnoticed on
those systems. On non-glibc systems it causes build failures on several
utilities and libraries, like bpftool and objtool.

Fixes: 1d509f2a6ebc ("x86/insn: Support big endian cross-compiles")
Fixes: 2d7ce0e8a704 ("tools/virtio: more stubs")
Fixes: 3fb321fde22d ("selftests/net: ipv6 flowlabel")
Fixes: 50b3ed57dee9 ("selftests/bpf: test bpf flow dissection")
Fixes: 9cacf81f8161 ("bpf: Remove extra lock_sock for TCP_ZEROCOPY_RECEIVE")
Fixes: a4b2061242ec ("tools include uapi: Grab a copy of linux/in.h")
Fixes: b12d6ec09730 ("bpf: btf: add btf print functionality")
Fixes: c0dd967818a2 ("tools, include: Grab a copy of linux/erspan.h")
Fixes: c4b6014e8bb0 ("tools: Add copy of perf_event.h to tools/include/linux/")

Signed-off-by: Ismael Luceno <[email protected]>
Acked-by: Masami Hiramatsu <[email protected]>
Signed-off-by: Josh Poimboeuf <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Cc: Martin Schwidefsky <[email protected]>
Cc: Vasily Gorbik <[email protected]>
---
include/uapi/linux/byteorder/big_endian.h | 1 +
include/uapi/linux/byteorder/little_endian.h | 1 +
2 files changed, 2 insertions(+)

diff --git a/include/uapi/linux/byteorder/big_endian.h b/include/uapi/linux/byteorder/big_endian.h
index 2199adc..80aa5c4 100644
--- a/include/uapi/linux/byteorder/big_endian.h
+++ b/include/uapi/linux/byteorder/big_endian.h
@@ -9,6 +9,7 @@
#define __BIG_ENDIAN_BITFIELD
#endif

+#include <linux/stddef.h>
#include <linux/types.h>
#include <linux/swab.h>

diff --git a/include/uapi/linux/byteorder/little_endian.h b/include/uapi/linux/byteorder/little_endian.h
index 601c904..cd98982 100644
--- a/include/uapi/linux/byteorder/little_endian.h
+++ b/include/uapi/linux/byteorder/little_endian.h
@@ -9,6 +9,7 @@
#define __LITTLE_ENDIAN_BITFIELD
#endif

+#include <linux/stddef.h>
#include <linux/types.h>
#include <linux/swab.h>