All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Suykov <alex.suykov@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] batctl: fix musl builds
Date: Fri, 27 Mar 2015 19:04:15 +0200	[thread overview]
Message-ID: <20150327170415.GA4890@vostro> (raw)

Fixes
http://autobuild.buildroot.net/results/0701b880d0f82ef92d742346bfa97bb2af216ed3/

Signed-off-by: Alex Suykov <alex.suykov@gmail.com>
---
 package/batctl/0001-musl-netinet.patch | 192 +++++++++++++++++++++++++++++++++
 1 file changed, 192 insertions(+)
 create mode 100644 package/batctl/0001-musl-netinet.patch

diff --git a/package/batctl/0001-musl-netinet.patch b/package/batctl/0001-musl-netinet.patch
new file mode 100644
index 0000000..b9f605a
--- /dev/null
+++ b/package/batctl/0001-musl-netinet.patch
@@ -0,0 +1,192 @@
+musl does not allow including netinet/* and linux/* headers together.
+batctl includes netinet/if_ether.h indirectly via net/ethernet.h,
+so netinet/if_ether.h must be used instead of linux/if_ether.h.
+
+__be16 and __be32 are linux-specific typedefs for uint16_t and
+uint32_t with __attribute__((bitwise)) that has no effect
+outside of the kernel.
+
+Signed-off-by: Alex Suykov <alex.suykov@gmail.com>
+
+--- batctl-2014.4.0/ping.c
++++ batctl-2014.4.0/ping.c
+@@ -34,7 +34,7 @@
+ #include <stdint.h>
+ #include <sys/select.h>
+ #include <sys/time.h>
+-#include <linux/if_ether.h>
++#include <netinet/if_ether.h>
+ 
+ #include "main.h"
+ #include "ping.h"
+--- batctl-2014.4.0/tcpdump.h
++++ batctl-2014.4.0/tcpdump.h
+@@ -23,7 +23,7 @@
+ #define _BATCTL_TCPDUMP_H
+ 
+ #include <netpacket/packet.h>
+-#include <linux/if_ether.h>
++#include <netinet/if_ether.h>
+ #include <net/if_arp.h>
+ #include <sys/types.h>
+ #include "main.h"
+--- batctl-2014.4.0/traceroute.c
++++ batctl-2014.4.0/traceroute.c
+@@ -28,7 +28,7 @@
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <string.h>
+-#include <linux/if_ether.h>
++#include <netinet/if_ether.h>
+ #include <stddef.h>
+ #include <sys/select.h>
+ #include <sys/time.h>
+--- batctl-2014.4.0/packet.h
++++ batctl-2014.4.0/packet.h
+@@ -196,7 +196,7 @@
+ struct batadv_bla_claim_dst {
+ 	uint8_t magic[3];	/* FF:43:05 */
+ 	uint8_t type;		/* bla_claimframe */
+-	__be16 group;		/* group id */
++	uint16_t group;		/* group id */
+ };
+ #pragma pack()
+ 
+@@ -213,12 +213,12 @@
+ 	uint8_t  version;
+ 	uint8_t  ttl;
+ 	uint8_t  flags;
+-	__be32   seqno;
++	uint32_t   seqno;
+ 	uint8_t  orig[ETH_ALEN];
+ 	uint8_t  prev_sender[ETH_ALEN];
+ 	uint8_t  reserved;
+ 	uint8_t  tq;
+-	__be16   tvlv_len;
++	uint16_t   tvlv_len;
+ 	/* __packed is not needed as the struct size is divisible by 4,
+ 	 * and the largest data type in this struct has a size of 4.
+ 	 */
+@@ -273,7 +273,7 @@
+ 	uint8_t  orig[ETH_ALEN];
+ 	uint8_t  uid;
+ 	uint8_t  reserved;
+-	__be16   seqno;
++	uint16_t   seqno;
+ };
+ 
+ #define BATADV_RR_LEN 16
+@@ -300,7 +300,7 @@
+ 	uint8_t  orig[ETH_ALEN];
+ 	uint8_t  uid;
+ 	uint8_t  rr_cur;
+-	__be16   seqno;
++	uint16_t   seqno;
+ 	uint8_t  rr[BATADV_RR_LEN][ETH_ALEN];
+ };
+ 
+@@ -380,8 +380,8 @@
+ #endif
+ 	uint8_t dest[ETH_ALEN];
+ 	uint8_t orig[ETH_ALEN];
+-	__be16  seqno;
+-	__be16  total_size;
++	uint16_t  seqno;
++	uint16_t  total_size;
+ };
+ 
+ /**
+@@ -398,7 +398,7 @@
+ 	uint8_t  version;  /* batman version field */
+ 	uint8_t  ttl;
+ 	uint8_t  reserved;
+-	__be32   seqno;
++	uint32_t   seqno;
+ 	uint8_t  orig[ETH_ALEN];
+ 	/* "4 bytes boundary + 2 bytes" long to make the payload after the
+ 	 * following ethernet header again 4 bytes boundary aligned
+@@ -431,14 +431,14 @@
+ 	/* uint8_t  first_dest[ETH_ALEN]; - saved in mac header destination */
+ 	uint8_t  first_source[ETH_ALEN];
+ 	uint8_t  first_orig_dest[ETH_ALEN];
+-	__be32   first_crc;
++	uint32_t   first_crc;
+ 	uint8_t  second_ttl;
+ 	uint8_t  second_ttvn;
+ 	uint8_t  second_dest[ETH_ALEN];
+ 	uint8_t  second_source[ETH_ALEN];
+ 	uint8_t  second_orig_dest[ETH_ALEN];
+-	__be32   second_crc;
+-	__be16   coded_len;
++	uint32_t   second_crc;
++	uint16_t   coded_len;
+ };
+ 
+ #pragma pack()
+@@ -461,7 +461,7 @@
+ 	uint8_t  reserved;
+ 	uint8_t  dst[ETH_ALEN];
+ 	uint8_t  src[ETH_ALEN];
+-	__be16   tvlv_len;
++	uint16_t   tvlv_len;
+ 	uint16_t align;
+ };
+ 
+@@ -474,7 +474,7 @@
+ struct batadv_tvlv_hdr {
+ 	uint8_t type;
+ 	uint8_t version;
+-	__be16  len;
++	uint16_t  len;
+ };
+ 
+ /**
+@@ -484,8 +484,8 @@
+  * @bandwidth_up: advertised uplink upload bandwidth
+  */
+ struct batadv_tvlv_gateway_data {
+-	__be32 bandwidth_down;
+-	__be32 bandwidth_up;
++	uint32_t bandwidth_down;
++	uint32_t bandwidth_up;
+ };
+ 
+ /**
+@@ -498,7 +498,7 @@
+ struct batadv_tvlv_tt_data {
+ 	uint8_t flags;
+ 	uint8_t ttvn;
+-	__be16  num_vlan;
++	uint16_t  num_vlan;
+ };
+ 
+ /**
+@@ -509,8 +509,8 @@
+  * @reserved: unused, useful for alignment purposes
+  */
+ struct batadv_tvlv_tt_vlan_data {
+-	__be32	crc;
+-	__be16	vid;
++	uint32_t	crc;
++	uint16_t	vid;
+ 	uint16_t reserved;
+ };
+ 
+@@ -526,7 +526,7 @@
+ 	uint8_t flags;
+ 	uint8_t reserved[3];
+ 	uint8_t addr[ETH_ALEN];
+-	__be16 vid;
++	uint16_t vid;
+ };
+ 
+ /**
+@@ -536,7 +536,7 @@
+  */
+ struct batadv_tvlv_roam_adv {
+ 	uint8_t  client[ETH_ALEN];
+-	__be16 vid;
++	uint16_t vid;
+ };
+ 
+ /**
-- 
2.0.3

             reply	other threads:[~2015-03-27 17:04 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-27 17:04 Alex Suykov [this message]
2015-03-30 21:10 ` [Buildroot] [PATCH] batctl: fix musl builds Thomas Petazzoni
2015-03-31 19:50   ` Alex Suykov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150327170415.GA4890@vostro \
    --to=alex.suykov@gmail.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.