]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/blob
6ad479863ef481cf992a98bcc3c1e922afb28f17
[thirdparty/openembedded/openembedded-core-contrib.git] /
1 From 2872f5d8bcef84e62b15b37ba4ffeccfb6402dad Mon Sep 17 00:00:00 2001
2 From: rofl0r <retnyg@gmx.net>
3 Date: Wed, 22 Jan 2014 00:48:28 +0100
4 Subject: [PATCH 1/3] libc-compat.h: fix some issues arising from in6.h
5
6 namely redefinition of some structs provided by netinet/in.h.
7 ---
8 Signed-off-by: Khem Raj <raj.khem@gmail.com>
9 Upstream-Status: Submitted
10
11 include/uapi/linux/libc-compat.h | 25 ++++++++-----------------
12 1 file changed, 8 insertions(+), 17 deletions(-)
13
14 Index: linux-4.4/include/uapi/linux/libc-compat.h
15 ===================================================================
16 --- linux-4.4.orig/include/uapi/linux/libc-compat.h
17 +++ linux-4.4/include/uapi/linux/libc-compat.h
18 @@ -48,13 +48,12 @@
19 #ifndef _UAPI_LIBC_COMPAT_H
20 #define _UAPI_LIBC_COMPAT_H
21
22 -/* We have included glibc headers... */
23 -#if defined(__GLIBC__)
24 +#ifndef __KERNEL__ /* we're used from userspace */
25
26 -/* Coordinate with glibc netinet/in.h header. */
27 +/* Coordinate with libc netinet/in.h header. */
28 #if defined(_NETINET_IN_H)
29
30 -/* GLIBC headers included first so don't define anything
31 +/* LIBC headers included first so don't define anything
32 * that would already be defined. */
33 #define __UAPI_DEF_IN_ADDR 0
34 #define __UAPI_DEF_IN_IPPROTO 0
35 @@ -64,15 +63,7 @@
36 #define __UAPI_DEF_IN_CLASS 0
37
38 #define __UAPI_DEF_IN6_ADDR 0
39 -/* The exception is the in6_addr macros which must be defined
40 - * if the glibc code didn't define them. This guard matches
41 - * the guard in glibc/inet/netinet/in.h which defines the
42 - * additional in6_addr macros e.g. s6_addr16, and s6_addr32. */
43 -#if defined(__USE_MISC) || defined (__USE_GNU)
44 #define __UAPI_DEF_IN6_ADDR_ALT 0
45 -#else
46 -#define __UAPI_DEF_IN6_ADDR_ALT 1
47 -#endif
48 #define __UAPI_DEF_SOCKADDR_IN6 0
49 #define __UAPI_DEF_IPV6_MREQ 0
50 #define __UAPI_DEF_IPPROTO_V6 0
51 @@ -80,10 +71,10 @@
52 #define __UAPI_DEF_IN6_PKTINFO 0
53 #define __UAPI_DEF_IP6_MTUINFO 0
54
55 -#else
56 +#else /* defined(_NETINET_IN_H) */
57
58 /* Linux headers included first, and we must define everything
59 - * we need. The expectation is that glibc will check the
60 + * we need. The expectation is that libc will check the
61 * __UAPI_DEF_* defines and adjust appropriately. */
62 #define __UAPI_DEF_IN_ADDR 1
63 #define __UAPI_DEF_IN_IPPROTO 1
64 @@ -93,7 +84,7 @@
65 #define __UAPI_DEF_IN_CLASS 1
66
67 #define __UAPI_DEF_IN6_ADDR 1
68 -/* We unconditionally define the in6_addr macros and glibc must
69 +/* We unconditionally define the in6_addr macros and libc must
70 * coordinate. */
71 #define __UAPI_DEF_IN6_ADDR_ALT 1
72 #define __UAPI_DEF_SOCKADDR_IN6 1
73 @@ -115,7 +106,7 @@
74 /* If we did not see any headers from any supported C libraries,
75 * or we are being included in the kernel, then define everything
76 * that we need. */
77 -#else /* !defined(__GLIBC__) */
78 +#else /* __KERNEL__ */
79
80 /* Definitions for in.h */
81 #define __UAPI_DEF_IN_ADDR 1
82 @@ -138,6 +129,6 @@
83 /* Definitions for xattr.h */
84 #define __UAPI_DEF_XATTR 1
85
86 -#endif /* __GLIBC__ */
87 +#endif /* __KERNEL__ */
88
89 #endif /* _UAPI_LIBC_COMPAT_H */