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
This commit is contained in:
parent
19810a5145
commit
1772c47c51
1 changed files with 75 additions and 0 deletions
75
package/kernel/broadcom-wl/patches/020-musl-fixes.patch
Normal file
75
package/kernel/broadcom-wl/patches/020-musl-fixes.patch
Normal file
|
@ -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();
|
||||
+}
|
Loading…
Reference in a new issue