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:
parent
74ca7e9af3
commit
5809da3c05
4 changed files with 96 additions and 3 deletions
|
@ -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;
|
Loading…
Reference in a new issue