From: Hauke Mehrtens Date: Wed, 17 Jun 2015 22:37:49 +0000 (+0000) Subject: broadcom-wl: fix build with musl X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=1772c47c51b20e612fb1e2cc6013e5301b5e0bbb;p=openwrt%2Fstaging%2Fblocktrron.git 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 SVN-Revision: 46021 --- 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 0000000000..a985b9c24a --- /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 ++#include + #include + #include + #include +@@ -20,10 +21,10 @@ + #include + #include + +-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 + #include + +--- 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 + #include + #include ++#include + #include + #include + #include +@@ -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(); ++}