broadcom-wl: fix build with musl
[openwrt/svn-archive/archive.git] / package / kernel / broadcom-wl / patches / 020-musl-fixes.patch
1 --- a/shared/wl_linux.c
2 +++ b/shared/wl_linux.c
3 @@ -13,6 +13,7 @@
4 */
5
6 #include <stdio.h>
7 +#include <stdint.h>
8 #include <unistd.h>
9 #include <string.h>
10 #include <errno.h>
11 @@ -20,10 +21,10 @@
12 #include <net/if.h>
13 #include <linux/types.h>
14
15 -typedef u_int64_t u64;
16 -typedef u_int32_t u32;
17 -typedef u_int16_t u16;
18 -typedef u_int8_t u8;
19 +typedef uint64_t u64;
20 +typedef uint32_t u32;
21 +typedef uint16_t u16;
22 +typedef uint8_t u8;
23 #include <linux/sockios.h>
24 #include <linux/ethtool.h>
25
26 --- a/shared/linux_timer.c
27 +++ b/shared/linux_timer.c
28 @@ -125,7 +125,7 @@ void unblock_timer();
29
30 static struct event *event_queue = NULL;
31 static struct event *event_freelist;
32 -static uint g_granularity;
33 +static unsigned int g_granularity;
34 static int g_maxevents = 0;
35
36 uclock_t uclock()
37 --- a/shared/wl.c
38 +++ b/shared/wl.c
39 @@ -14,6 +14,7 @@
40 #include <typedefs.h>
41 #include <string.h>
42 #include <stdio.h>
43 +#include <stdlib.h>
44 #include <unistd.h>
45 #include <errno.h>
46 #include <sys/ioctl.h>
47 @@ -263,3 +264,28 @@ wl_printlasterror(char *name)
48 fprintf(stderr, err_buf);
49 }
50 */
51 +
52 +static int in_assert; /* bss inits to 0. */
53 +
54 +void __assert(const char *assertion, const char * filename,
55 + unsigned int linenumber, register const char * function)
56 +{
57 + if (!in_assert) {
58 + in_assert = 1;
59 +
60 + fprintf(stderr,
61 +#ifdef ASSERT_SHOW_PROGNAME
62 + "%s: %s: %d: %s: Assertion `%s' failed.\n", __uclibc_progname,
63 +#else
64 + "%s: %d: %s: Assertion `%s' failed.\n",
65 +#endif
66 + filename,
67 + linenumber,
68 + /* Function name isn't available with some compilers. */
69 + ((function == NULL) ? "?function?" : function),
70 + assertion
71 + );
72 + }
73 + /* shouldn't we? fflush(stderr); */
74 + abort();
75 +}