toolchain/musl: update to the latest version, adds aarch64 support
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 45091
This commit is contained in:
		| @@ -228,7 +228,7 @@ choice | |||||||
| 	config LIBC_USE_MUSL | 	config LIBC_USE_MUSL | ||||||
| 		select USE_MUSL | 		select USE_MUSL | ||||||
| 		bool "Use musl" | 		bool "Use musl" | ||||||
| 		depends on !(mips64 || mips64el || aarch64 || aarch64_be) | 		depends on !(mips64 || mips64el) | ||||||
|  |  | ||||||
| endchoice | endchoice | ||||||
|  |  | ||||||
|   | |||||||
| @@ -3,6 +3,6 @@ if USE_MUSL | |||||||
| config MUSL_VERSION | config MUSL_VERSION | ||||||
| 	string | 	string | ||||||
| 	depends on USE_MUSL | 	depends on USE_MUSL | ||||||
| 	default "1.1.6" | 	default "1.1.7" | ||||||
|  |  | ||||||
| endif | endif | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ PKG_NAME:=musl | |||||||
| PKG_VERSION:=$(call qstrip,$(CONFIG_MUSL_VERSION)) | PKG_VERSION:=$(call qstrip,$(CONFIG_MUSL_VERSION)) | ||||||
| PKG_RELEASE=1 | PKG_RELEASE=1 | ||||||
|  |  | ||||||
| PKG_MD5SUM:=591e2d25a12ca1748e30ee0cf23f8b8a | PKG_MD5SUM:=6fe9fc4d99a7d321432b3e179c138d73 | ||||||
|  |  | ||||||
| PKG_SOURCE_URL:=http://www.musl-libc.org/releases | PKG_SOURCE_URL:=http://www.musl-libc.org/releases | ||||||
| PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz | PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz | ||||||
|   | |||||||
							
								
								
									
										93
									
								
								toolchain/musl/patches/001-git-2015-03-28.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								toolchain/musl/patches/001-git-2015-03-28.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,93 @@ | |||||||
|  | diff --git a/arch/aarch64/bits/alltypes.h.in b/arch/aarch64/bits/alltypes.h.in | ||||||
|  | index 99f1654..d56abda 100644 | ||||||
|  | --- a/arch/aarch64/bits/alltypes.h.in | ||||||
|  | +++ b/arch/aarch64/bits/alltypes.h.in | ||||||
|  | @@ -16,6 +16,8 @@ TYPEDEF unsigned int nlink_t; | ||||||
|  |  TYPEDEF float float_t; | ||||||
|  |  TYPEDEF double double_t; | ||||||
|  |   | ||||||
|  | +TYPEDEF struct { long long __ll; long double __ld; } max_align_t; | ||||||
|  | + | ||||||
|  |  TYPEDEF long time_t; | ||||||
|  |  TYPEDEF long suseconds_t; | ||||||
|  |   | ||||||
|  | diff --git a/include/float.h b/include/float.h | ||||||
|  | index c6429d3..713aadb 100644 | ||||||
|  | --- a/include/float.h | ||||||
|  | +++ b/include/float.h | ||||||
|  | @@ -1,6 +1,10 @@ | ||||||
|  |  #ifndef _FLOAT_H | ||||||
|  |  #define _FLOAT_H | ||||||
|  |   | ||||||
|  | +#ifdef __cplusplus | ||||||
|  | +extern "C" { | ||||||
|  | +#endif | ||||||
|  | + | ||||||
|  |  int __flt_rounds(void); | ||||||
|  |  #define FLT_ROUNDS (__flt_rounds()) | ||||||
|  |   | ||||||
|  | @@ -41,4 +45,8 @@ int __flt_rounds(void); | ||||||
|  |   | ||||||
|  |  #include <bits/float.h> | ||||||
|  |   | ||||||
|  | +#ifdef __cplusplus | ||||||
|  | +} | ||||||
|  | +#endif | ||||||
|  | + | ||||||
|  |  #endif | ||||||
|  | diff --git a/src/network/inet_pton.c b/src/network/inet_pton.c | ||||||
|  | index 4496b47..d36c368 100644 | ||||||
|  | --- a/src/network/inet_pton.c | ||||||
|  | +++ b/src/network/inet_pton.c | ||||||
|  | @@ -39,14 +39,15 @@ int inet_pton(int af, const char *restrict s, void *restrict a0) | ||||||
|  |  	for (i=0; ; i++) { | ||||||
|  |  		if (s[0]==':' && brk<0) { | ||||||
|  |  			brk=i; | ||||||
|  | -			ip[i]=0; | ||||||
|  | +			ip[i&7]=0; | ||||||
|  |  			if (!*++s) break; | ||||||
|  | +			if (i==7) return 0; | ||||||
|  |  			continue; | ||||||
|  |  		} | ||||||
|  |  		for (v=j=0; j<4 && (d=hexval(s[j]))>=0; j++) | ||||||
|  |  			v=16*v+d; | ||||||
|  |  		if (j==0) return 0; | ||||||
|  | -		ip[i] = v; | ||||||
|  | +		ip[i&7] = v; | ||||||
|  |  		if (!s[j] && (brk>=0 || i==7)) break; | ||||||
|  |  		if (i==7) return 0; | ||||||
|  |  		if (s[j]!=':') { | ||||||
|  | diff --git a/src/regex/regcomp.c b/src/regex/regcomp.c | ||||||
|  | index 4cdaa1e..978dd87 100644 | ||||||
|  | --- a/src/regex/regcomp.c | ||||||
|  | +++ b/src/regex/regcomp.c | ||||||
|  | @@ -839,7 +839,7 @@ static reg_errcode_t parse_atom(tre_parse_ctx_t *ctx, const char *s) | ||||||
|  |  			s--; | ||||||
|  |  			break; | ||||||
|  |  		default: | ||||||
|  | -			if (isdigit(*s)) { | ||||||
|  | +			if (!ere && (unsigned)*s-'1' < 9) { | ||||||
|  |  				/* back reference */ | ||||||
|  |  				int val = *s - '0'; | ||||||
|  |  				node = tre_ast_new_literal(ctx->mem, BACKREF, val, ctx->position); | ||||||
|  | @@ -847,7 +847,7 @@ static reg_errcode_t parse_atom(tre_parse_ctx_t *ctx, const char *s) | ||||||
|  |  			} else { | ||||||
|  |  				/* extension: accept unknown escaped char | ||||||
|  |  				   as a literal */ | ||||||
|  | -				node = tre_ast_new_literal(ctx->mem, *s, *s, ctx->position); | ||||||
|  | +				goto parse_literal; | ||||||
|  |  			} | ||||||
|  |  			ctx->position++; | ||||||
|  |  		} | ||||||
|  | @@ -1700,6 +1700,11 @@ tre_copy_ast(tre_mem_t mem, tre_stack_t *stack, tre_ast_node_t *ast, | ||||||
|  |  		*result = tre_ast_new_literal(mem, min, max, pos); | ||||||
|  |  		if (*result == NULL) | ||||||
|  |  		  status = REG_ESPACE; | ||||||
|  | +		else { | ||||||
|  | +		  tre_literal_t *p = (*result)->obj; | ||||||
|  | +		  p->class = lit->class; | ||||||
|  | +		  p->neg_classes = lit->neg_classes; | ||||||
|  | +		} | ||||||
|  |   | ||||||
|  |  		if (pos > *max_pos) | ||||||
|  |  		  *max_pos = pos; | ||||||
		Reference in New Issue
	
	Block a user
	 Felix Fietkau
					Felix Fietkau