mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-30 21:44:27 -04:00 
			
		
		
		
	This replaces the current patches used to make the kernel headers compatible with musl with the version which was accepted upstream. This is included in upstream kernel 4.15. This was compile tested with iproute2 build on all supported kernel versions with musl and one one with glibc. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 649affd04813c43e0a72886517fcfccd63230981 Mon Sep 17 00:00:00 2001
 | |
| From: Hauke Mehrtens <hauke@hauke-m.de>
 | |
| Date: Mon, 29 Jun 2015 16:53:03 +0200
 | |
| Subject: uapi/if_ether.h: prevent redefinition of struct ethhdr
 | |
| 
 | |
| Musl provides its own ethhdr struct definition. Add a guard to prevent
 | |
| its definition of the appropriate musl header has already been included.
 | |
| 
 | |
| glibc does not implement this header, but when glibc will implement this
 | |
| they can just define __UAPI_DEF_ETHHDR 0 to make it work with the
 | |
| kernel.
 | |
| 
 | |
| Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
 | |
| ---
 | |
|  include/uapi/linux/if_ether.h    | 3 +++
 | |
|  include/uapi/linux/libc-compat.h | 6 ++++++
 | |
|  2 files changed, 9 insertions(+)
 | |
| 
 | |
| --- a/include/uapi/linux/if_ether.h
 | |
| +++ b/include/uapi/linux/if_ether.h
 | |
| @@ -22,6 +22,7 @@
 | |
|  #define _UAPI_LINUX_IF_ETHER_H
 | |
|  
 | |
|  #include <linux/types.h>
 | |
| +#include <linux/libc-compat.h>
 | |
|  
 | |
|  /*
 | |
|   *	IEEE 802.3 Ethernet magic constants.  The frame sizes omit the preamble
 | |
| @@ -134,11 +135,13 @@
 | |
|   *	This is an Ethernet frame header.
 | |
|   */
 | |
|  
 | |
| +#if __UAPI_DEF_ETHHDR
 | |
|  struct ethhdr {
 | |
|  	unsigned char	h_dest[ETH_ALEN];	/* destination eth addr	*/
 | |
|  	unsigned char	h_source[ETH_ALEN];	/* source ether addr	*/
 | |
|  	__be16		h_proto;		/* packet type ID field	*/
 | |
|  } __attribute__((packed));
 | |
| +#endif
 | |
|  
 | |
|  
 | |
|  #endif /* _UAPI_LINUX_IF_ETHER_H */
 | |
| --- a/include/uapi/linux/libc-compat.h
 | |
| +++ b/include/uapi/linux/libc-compat.h
 | |
| @@ -161,4 +161,10 @@
 | |
|  
 | |
|  #endif /* __GLIBC__ */
 | |
|  
 | |
| +/* Definitions for if_ether.h */
 | |
| +/* allow libcs like musl to deactivate this, glibc does not implement this. */
 | |
| +#ifndef __UAPI_DEF_ETHHDR
 | |
| +#define __UAPI_DEF_ETHHDR		1
 | |
| +#endif
 | |
| +
 | |
|  #endif /* _UAPI_LIBC_COMPAT_H */
 |