From: Alex Suykov <alex.suykov@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v2] batctl: fix musl builds
Date: Tue, 31 Mar 2015 22:51:13 +0300 [thread overview]
Message-ID: <20150331195113.GA3091@vostro> (raw)
Fixes
http://autobuild.buildroot.net/results/0701b880d0f82ef92d742346bfa97bb2af216ed3/
Signed-off-by: Alex Suykov <alex.suykov@gmail.com>
---
Changes: patch renamed from 0001-musl-netinet.patch to 0001-musl-fixes.patch
package/batctl/0001-musl-fixes.patch | 192 +++++++++++++++++++++++++++++++++
1 file changed, 192 insertions(+)
create mode 100644 package/batctl/0001-musl-fixes.patch
diff --git a/package/batctl/0001-musl-fixes.patch b/package/batctl/0001-musl-fixes.patch
new file mode 100644
index 0000000..b9f605a
--- /dev/null
+++ b/package/batctl/0001-musl-fixes.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
next reply other threads:[~2015-03-31 19:51 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-31 19:51 Alex Suykov [this message]
2015-03-31 21:38 ` [Buildroot] [PATCH v2] batctl: fix musl builds Thomas Petazzoni
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=20150331195113.GA3091@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.