mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-26 19:44:27 -04:00 
			
		
		
		
	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
		
			
				
	
	
		
			76 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| --- 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();
 | |
| +}
 |