Mailing List Archive

[PATCH 2/4] uapi glibc compat: fix build if libc defines IFF_ECHO
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.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
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 7c1fead03c50..49a8cc3138ae 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 */

--
2.11.0
Re: [PATCH 2/4] uapi glibc compat: fix build if libc defines IFF_ECHO [ In reply to ]
On Sun, Mar 12, 2017 at 11:00:37PM +0100, Hauke Mehrtens wrote:
> 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.
>
> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

Acked-by: Mikko Rapeli <mikko.rapeli@iki.fi>

> ---
> 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 7c1fead03c50..49a8cc3138ae 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 */
>
> --
> 2.11.0
>