From 868486c238780ce4a11d9ec9a38e40cb6c1cfc01 Mon Sep 17 00:00:00 2001 From: André Draszik Date: Fri, 23 Jun 2017 12:42:13 +0100 Subject: linux-libc-headers: fix duplicate IFF_LOWER_UP DORMANT ECHO on musl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit musl _does_ define IFF_LOWER_UP DORMANT ECHO so we should prevent redefinition of these when on musl. As per the included patch, this can be triggered by (from connman 6to4.c): include include include include include include include include include include include include include include In file included from ../git/src/6to4.c:34:0: .../usr/include/linux/if.h:97:2: error: expected identifier before numeric constant IFF_LOWER_UP = 1<<16, /* __volatile__ */ ^ This is because at that time, IFF_LOWER_UP has been converted to 0x10000 already: enum net_device_flags { 0x10000 = 1<<16, 0x20000 = 1<<17, 0x40000 = 1<<18, }; Backport a patch that addresses this. (From OE-Core rev: 24dc2200047bae5d32c168d2625d96ac08a93d3d) Signed-off-by: André Draszik Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- ....h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch | 46 ++++++++++++++++++++++ .../linux-libc-headers/linux-libc-headers_4.10.bb | 1 + 2 files changed, 47 insertions(+) create mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch (limited to 'meta/recipes-kernel/linux-libc-headers') diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch new file mode 100644 index 0000000000..bde2132ebf --- /dev/null +++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch @@ -0,0 +1,46 @@ +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [v2,2/3] uapi glibc compat: fix build if libc defines IFF_ECHO +From: Hauke Mehrtens +X-Patchwork-Id: 9686293 +Message-Id: <20170418210036.26039-3-hauke@hauke-m.de> +To: davem@davemloft.net, netdev@vger.kernel.org +Cc: linux-kernel@vger.kernel.org, jarod@redhat.com, jogo@openwrt.org, + david.heidelberger@ixit.cz, maillist-linux@barfooze.de, + mikko.rapeli@iki.fi, dwmw2@infradead.org, Hauke Mehrtens +Date: Tue, 18 Apr 2017 23:00:35 +0200 + +musl 1.1.15 defines IFF_ECHO and the other net_device_flags options. +When a user application includes linux/if.h and net/if.h the compile +will fail. + +Activate __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO only when +it is needed. This should also make this work in case glibc will add +these defines. + +Acked-by: Mikko Rapeli +Signed-off-by: Hauke Mehrtens +--- +Upstream-Status: Submitted [https://patchwork.kernel.org/patch/9686293/] +Signed-off-by: André Draszik +Acked-by: Stephane Ayotte + include/uapi/linux/libc-compat.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/include/uapi/linux/libc-compat.h b/include/uapi/linux/libc-compat.h +index 43a81136ea6e..ce2fa8a4ced6 100644 +--- a/include/uapi/linux/libc-compat.h ++++ b/include/uapi/linux/libc-compat.h +@@ -64,9 +64,11 @@ + /* Everything up to IFF_DYNAMIC, matches net/if.h until glibc 2.23 */ + #define __UAPI_DEF_IF_NET_DEVICE_FLAGS 0 + /* For the future if glibc adds IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO */ ++#ifndef IFF_ECHO + #ifndef __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO + #define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 1 + #endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO */ ++#endif /* IFF_ECHO */ + + #else /* _NET_IF_H */ + diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.10.bb b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.10.bb index 108446aa34..29262789a8 100644 --- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.10.bb +++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.10.bb @@ -4,6 +4,7 @@ SRC_URI_append_libc-musl = "\ file://0001-libc-compat.h-fix-some-issues-arising-from-in6.h.patch \ file://0002-libc-compat.h-prevent-redefinition-of-struct-ethhdr.patch \ file://0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch \ + file://0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch \ " SRC_URI[md5sum] = "b5e7f6b9b2fe1b6cc7bc56a3a0bfc090" -- cgit v1.2.3-54-g00ecf