diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2015-06-17 22:37:49 +0000 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2015-06-17 22:37:49 +0000 |
commit | 1772c47c51b20e612fb1e2cc6013e5301b5e0bbb (patch) | |
tree | 2ececeb302a937a594bb2a3399fdec5c8aa38fe5 /package | |
parent | 19810a5145bcb9d9520df76abacf41adb195d54d (diff) | |
download | mtk-20170518-1772c47c51b20e612fb1e2cc6013e5301b5e0bbb.zip mtk-20170518-1772c47c51b20e612fb1e2cc6013e5301b5e0bbb.tar.gz mtk-20170518-1772c47c51b20e612fb1e2cc6013e5301b5e0bbb.tar.bz2 |
broadcom-wl: fix build with musl
This fixes some build problems with musl. The binary only program
nas.exe wants to link against __assert, which is copied from uClibc.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 46021
Diffstat (limited to 'package')
-rw-r--r-- | package/kernel/broadcom-wl/patches/020-musl-fixes.patch | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/package/kernel/broadcom-wl/patches/020-musl-fixes.patch b/package/kernel/broadcom-wl/patches/020-musl-fixes.patch new file mode 100644 index 0000000..a985b9c --- /dev/null +++ b/package/kernel/broadcom-wl/patches/020-musl-fixes.patch @@ -0,0 +1,75 @@ +--- a/shared/wl_linux.c ++++ b/shared/wl_linux.c +@@ -13,6 +13,7 @@ + */ + + #include <stdio.h> ++#include <stdint.h> + #include <unistd.h> + #include <string.h> + #include <errno.h> +@@ -20,10 +21,10 @@ + #include <net/if.h> + #include <linux/types.h> + +-typedef u_int64_t u64; +-typedef u_int32_t u32; +-typedef u_int16_t u16; +-typedef u_int8_t u8; ++typedef uint64_t u64; ++typedef uint32_t u32; ++typedef uint16_t u16; ++typedef uint8_t u8; + #include <linux/sockios.h> + #include <linux/ethtool.h> + +--- a/shared/linux_timer.c ++++ b/shared/linux_timer.c +@@ -125,7 +125,7 @@ void unblock_timer(); + + static struct event *event_queue = NULL; + static struct event *event_freelist; +-static uint g_granularity; ++static unsigned int g_granularity; + static int g_maxevents = 0; + + uclock_t uclock() +--- a/shared/wl.c ++++ b/shared/wl.c +@@ -14,6 +14,7 @@ + #include <typedefs.h> + #include <string.h> + #include <stdio.h> ++#include <stdlib.h> + #include <unistd.h> + #include <errno.h> + #include <sys/ioctl.h> +@@ -263,3 +264,28 @@ wl_printlasterror(char *name) + fprintf(stderr, err_buf); + } + */ ++ ++static int in_assert; /* bss inits to 0. */ ++ ++void __assert(const char *assertion, const char * filename, ++ unsigned int linenumber, register const char * function) ++{ ++ if (!in_assert) { ++ in_assert = 1; ++ ++ fprintf(stderr, ++#ifdef ASSERT_SHOW_PROGNAME ++ "%s: %s: %d: %s: Assertion `%s' failed.\n", __uclibc_progname, ++#else ++ "%s: %d: %s: Assertion `%s' failed.\n", ++#endif ++ filename, ++ linenumber, ++ /* Function name isn't available with some compilers. */ ++ ((function == NULL) ? "?function?" : function), ++ assertion ++ ); ++ } ++ /* shouldn't we? fflush(stderr); */ ++ abort(); ++} |