aboutsummaryrefslogtreecommitdiffstats
path: root/main/musl
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2014-05-14 11:00:11 +0300
committerTimo Teräs <timo.teras@iki.fi>2014-05-14 11:03:17 +0300
commitfd99da9ad84491f7a9cbdfebe061f76ae43d66e5 (patch)
tree5a44189f6a1763151e0dfdd141c08c8878f047e2 /main/musl
parentcd2000b8d5f1cf09392aa24d9ca2dfc9a863af33 (diff)
downloadaports-fd99da9ad84491f7a9cbdfebe061f76ae43d66e5.tar.bz2
aports-fd99da9ad84491f7a9cbdfebe061f76ae43d66e5.tar.xz
main/musl: aligh with upstream git, add strptime fix
support for cp437 and cp850 was added, fixes #2870.
Diffstat (limited to 'main/musl')
-rw-r--r--main/musl/0002-c3d9d172-to-8a2d8719.patch606
-rw-r--r--main/musl/1003-implement-y-and-C-specifiers-in-strptime.patch69
-rw-r--r--main/musl/APKBUILD10
3 files changed, 684 insertions, 1 deletions
diff --git a/main/musl/0002-c3d9d172-to-8a2d8719.patch b/main/musl/0002-c3d9d172-to-8a2d8719.patch
new file mode 100644
index 0000000000..4a0fca5073
--- /dev/null
+++ b/main/musl/0002-c3d9d172-to-8a2d8719.patch
@@ -0,0 +1,606 @@
+diff --git a/arch/arm/atomic.h b/arch/arm/atomic.h
+index d8f6484..d4ba73f 100644
+--- a/arch/arm/atomic.h
++++ b/arch/arm/atomic.h
+@@ -22,9 +22,8 @@ static inline int a_ctz_64(uint64_t x)
+ return a_ctz_l(y);
+ }
+
+-#if __ARM_ARCH_6__ || __ARM_ARCH_6K__ || __ARM_ARCH_6ZK__ \
+- || __ARM_ARCH_7A__ || __ARM_ARCH_7R__ \
+- || __ARM_ARCH >= 7
++#if ((__ARM_ARCH_6__ || __ARM_ARCH_6K__ || __ARM_ARCH_6ZK__) && !__thumb__) \
++ || __ARM_ARCH_7A__ || __ARM_ARCH_7R__ || __ARM_ARCH >= 7
+
+ #if __ARM_ARCH_7A__ || __ARM_ARCH_7R__ || __ARM_ARCH >= 7
+ #define MEM_BARRIER "dmb ish"
+@@ -39,6 +38,9 @@ static inline int __k_cas(int t, int s, volatile int *p)
+ " " MEM_BARRIER "\n"
+ "1: ldrex %0,%3\n"
+ " subs %0,%0,%1\n"
++#ifdef __thumb__
++ " itt eq\n"
++#endif
+ " strexeq %0,%2,%3\n"
+ " teqeq %0,#1\n"
+ " beq 1b\n"
+diff --git a/arch/arm/pthread_arch.h b/arch/arm/pthread_arch.h
+index ec77a83..6d9dc3a 100644
+--- a/arch/arm/pthread_arch.h
++++ b/arch/arm/pthread_arch.h
+@@ -1,6 +1,5 @@
+-#if __ARM_ARCH_6K__ || __ARM_ARCH_6ZK__ \
+- || __ARM_ARCH_7A__ || __ARM_ARCH_7R__ \
+- || __ARM_ARCH >= 7
++#if ((__ARM_ARCH_6K__ || __ARM_ARCH_6ZK__) && !__thumb__) \
++ || __ARM_ARCH_7A__ || __ARM_ARCH_7R__ || __ARM_ARCH >= 7
+
+ static inline __attribute__((const)) pthread_t __pthread_self()
+ {
+diff --git a/arch/mips/bits/socket.h b/arch/mips/bits/socket.h
+index ba79045..fe5bad9 100644
+--- a/arch/mips/bits/socket.h
++++ b/arch/mips/bits/socket.h
+@@ -31,7 +31,6 @@ struct cmsghdr
+ #define SO_RCVBUF 0x1002
+ #define SO_KEEPALIVE 8
+ #define SO_OOBINLINE 256
+-
+ #define SO_NO_CHECK 11
+ #define SO_PRIORITY 12
+ #define SO_LINGER 128
+@@ -43,6 +42,8 @@ struct cmsghdr
+ #define SO_SNDLOWAT 0x1003
+ #define SO_RCVTIMEO 0x1006
+ #define SO_SNDTIMEO 0x1005
++#define SO_SNDBUFFORCE 31
++#define SO_RCVBUFFORCE 33
+
+ #define SOCK_NONBLOCK 0200
+ #define SOCK_CLOEXEC 02000000
+diff --git a/configure b/configure
+index eb72a1e..5d95672 100755
+--- a/configure
++++ b/configure
+@@ -189,6 +189,15 @@ trycc ${CROSS_COMPILE}cc
+ printf "%s\n" "$CC"
+ test -n "$CC" || { echo "$0: cannot find a C compiler" ; exit 1 ; }
+
++printf "checking whether C compiler works... "
++echo "typedef int x;" > "$tmpc"
++if output=$($CC $CPPFLAGS $CFLAGS -c -o /dev/null "$tmpc" 2>&1) ; then
++printf "yes\n"
++else
++printf "no; compiler output follows:\n%s\n" "$output"
++exit 1
++fi
++
+ #
+ # Only build musl-gcc wrapper if toolchain does not already target musl
+ #
+@@ -429,7 +438,7 @@ test "$ARCH" = "microblaze" && trycppif __MICROBLAZEEL__ "$t" \
+
+ if test "$ARCH" = "sh" ; then
+ trycppif __BIG_ENDIAN__ "$t" && SUBARCH=${SUBARCH}eb
+-if trycppif __SH_FPU_ANY__ "$t" ; then
++if trycppif "__SH_FPU_ANY__ || __SH4__" "$t" ; then
+ # Some sh configurations are broken and replace double with float
+ # rather than using softfloat when the fpu is present but only
+ # supports single precision. Reject them.
+diff --git a/src/locale/codepages.h b/src/locale/codepages.h
+index 35acd5a..ab146e8 100644
+--- a/src/locale/codepages.h
++++ b/src/locale/codepages.h
+@@ -4,145 +4,148 @@
+
+ "iso88592\0"
+ "\0\40"
+-"\0\124\0\211\22\0\40\1\6\0\0\230\101\206\32\177\0\60\110\40\0\130\40\311\22"
+-"\0\44\21\306\43\0\234\121\306\32\200\120\102\210\40\132\0\0\300\4\0\20\161\1\0"
+-"\35\0\160\2\0\51\0\0\300\7\41\60\1\5\0\0\130\1\0\0\136\320\1\200\35"
+-"\0\0\200\6\0\133\0\0\0\5\0\24\201\1\0\36\0\200\2\0\52\0\0\0\10\42\64\21\5\0"
+-"\0\134\1\0\0\137\324\1\300\35\0\0\220\106\44"
++"\0\330\20\313\32\0\244\21\10\0\0\34\122\310\42\240\0\100\212\50\0\334\60\13\33"
++"\0\250\41\10\54\0\40\142\10\43\241\324\122\312\50\173\0\0\0\15\0\224\201\3\0"
++"\76\0\200\4\0\112\0\0\0\20\102\264\21\7\0\0\334\1\0\0\177\124\2\300\45"
++"\0\0\220\10\0\174\0\0\100\15\0\230\221\3\0\77\0\220\4\0\113\0\0\100\20"
++"\103\270\41\7\0\0\340\1\0\0\200\130\2\0\46\0\0\240\210\54"
+
+ "iso88593\0"
+ "\0\40"
+-"\0\324\0\11\0\0\4\60\3\0\0\364\100\106\13\77\0\20\100\40\0\330\0\0\0"
+-"\0\0\100\3\0\0\370\120\206\13\100\0\20\200\40\0\0\0\100\0\0\154\220\1\0"
+-"\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0\274\0\0\0\53\0\0\0\0\0\310\41\6\0\0\0\0\100\0"
+-"\0\160\240\1\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0\300\0\0\0\54\0\0\0\0"
+-"\0\314\61\106\44"
++"\0\130\21\13\0\0\4\100\5\0\0\170\121\210\23\140\0\20\200\50\0\134\1\0\0"
++"\0\0\120\5\0\0\174\141\310\23\141\0\20\300\50\0\0\0\100\0\0\360\240\3\0"
++"\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0\100\1\0\0\114\0\0\0\0\0\114\62\10\0"
++"\0\0\0\100\0\0\364\260\3\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0\104\1\0\0"
++"\115\0\0\0\0\0\120\102\210\54"
+
+ "iso88594\0"
+ "\0\40"
+-"\0\124\60\4\27\0\334\140\4\0\0\230\61\102\14\154\0\60\10\0\0\130\40\111\27"
+-"\0\340\160\304\43\0\234\101\202\14\155\110\101\310\24\21\0\0\0\0\0\0\0\300\16"
+-"\35\0\160\2\0\45\0\0\100\16\41\70\101\105\20\0\0\0\0\0\0\340\1\0\0\0\270\1\7\0"
+-"\22\0\0\0\0\0\0\0\0\17\36\0\200\2\0\46\0\0\200\16\42\74\121\205\20\0\0\0\0\0"
+-"\0\344\1\0\0\0\274\21\107\44"
++"\0\330\100\106\37\0\140\161\6\0\0\34\102\204\24\215\0\100\12\0\0\334\60\213\37"
++"\0\144\201\6\54\0\40\122\304\24\216\314\121\12\35\62\0\0\0\0\0\0\0\0\27"
++"\76\0\200\4\0\106\0\0\200\26\102\274\121\207\30\0\0\0\0\0\0\144\2\0\0"
++"\0\74\22\11\0\63\0\0\0\0\0\0\0\100\27\77\0\220\4\0\107\0\0\300\26"
++"\103\300\141\307\30\0\0\0\0\0\0\150\2\0\0\0\100\42\211\54"
+
+ "iso88595\0"
+ "\0\40"
+-"\0\210\63\16\71\345\230\163\16\72\351\250\263\16\73\355\0\340\316\73"
+-"\360\304\43\317\74\364\324\143\317\75\370\344\243\317\76\374\364\343\317\77"
+-"\0\5\44\320\100\4\25\144\320\101\10\45\244\320\102\14\65\344\320\103"
+-"\20\105\44\321\104\24\125\144\321\105\30\145\244\321\106\34\165\344\321\107"
+-"\40\205\44\322\110\44\225\144\322\111\50\245\244\322\112\54\265\344\322\113"
+-"\65\302\24\223\114\63\321\124\223\115\67\341\224\223\116\73\15\300\123\117"
++"\0\14\104\120\101\6\35\204\120\102\12\55\304\120\103\16\1\360\20\104"
++"\21\111\64\21\105\25\131\164\21\106\31\151\264\21\107\35\171\364\21\110"
++"\41\211\64\22\111\45\231\164\22\112\51\251\264\22\113\55\271\364\22\114"
++"\61\311\64\23\115\65\331\164\23\116\71\351\264\23\117\75\371\364\23\120"
++"\101\11\65\24\121\105\31\165\24\122\111\51\265\24\123\115\71\365\24\124"
++"\127\106\45\325\124\124\125\145\325\125\130\145\245\325\126\134\15\320\225\127"
+
+ "iso88596\0"
+ "\0\40"
+-"\0\4\20\100\0\0\4\20\100\0\1\4\20\100\0\163\1\20\100\0\1\4\20\100\0"
+-"\1\4\20\100\0\1\4\20\0\135\1\4\20\100\135\1\330\165\27\136\171\351\265\27\137"
+-"\175\371\365\27\140\201\11\66\30\141\205\31\166\30\142\211\51\266\30\143"
+-"\215\71\366\130\0\1\4\20\100\0\220\105\46\331\144\224\125\146\331\145"
+-"\230\145\246\331\146\234\165\346\331\147\240\205\46\132\0\1\4\20\100\0"
+-"\1\4\20\100\0\1\4\20\100\0"
++"\0\4\20\100\0\0\4\20\100\0\1\4\20\100\0\224\1\20\100\0\1\4\20\100\0"
++"\1\4\20\100\0\1\4\20\100\145\1\4\20\200\145\1\134\206\131\146"
++"\232\155\306\131\147\236\175\6\132\150\242\215\106\132\151\246\235\206\132\152"
++"\252\255\306\132\153\256\275\6\133\0\1\4\20\100\0\261\311\66\33\155"
++"\265\331\166\33\156\271\351\266\33\157\275\371\366\33\160\301\11\67\134\0"
++"\1\4\20\100\0\1\4\20\100\0\1\4\20\100\0"
+
+ "iso88597\0"
+ "\0\40"
+-"\0\220\130\42\0\63\322\10\0\0\0\0\240\11\0\0\0\20\200\210\0\0\0\0\0"
+-"\233\160\322\11\0\236\174\2\12\0\241\0\40\312\50\244\224\142\312\51"
+-"\250\244\242\312\52\254\264\342\312\53\260\304\42\313\54\264\324\22\200\55"
+-"\267\340\222\213\56\273\360\322\213\57\277\0\23\214\60\303\20\123\214\61"
+-"\307\40\223\214\62\313\60\323\214\63\317\100\23\215\64\323\120\123\215\65"
+-"\327\140\223\215\66\333\160\323\215\67\337\200\23\116\0"
++"\0\24\151\44\0\124\126\11\0\0\0\0\260\13\0\0\0\20\300\220\0\0\0\0\0"
++"\274\364\342\13\0\277\0\23\14\0\302\0\60\14\61\305\30\163\14\62"
++"\311\50\263\14\63\315\70\363\14\64\321\110\63\15\65\325\130\23\300\65"
++"\330\144\243\315\66\334\164\343\315\67\340\204\43\316\70\344\224\143\316\71"
++"\350\244\243\316\72\354\264\343\316\73\360\304\43\317\74\364\324\143\317\75"
++"\370\344\243\317\76\374\364\343\317\77\0\5\44\120\0"
+
+ "iso88598\0"
+ "\0\40"
+ "\0\4\0\0\0\0\0\0\0\0\0\0\300\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\360\0\0"
+ "\0\0\0\100\0\1\4\20\100\0\1\4\20\100\0\1\4\20\100\0\1\4\20\100\0\1\4\20\100\0"
+-"\1\4\20\100\0\1\4\20\100\0\1\4\20\300\210\123\121\125\225\125"
+-"\127\141\225\225\126\133\161\325\225\127\137\201\25\226\130"
+-"\143\221\125\226\131\147\241\225\226\132\153\261\325\126\0\1\170\370\141\0"
++"\1\4\20\100\0\1\4\20\100\0\1\4\20\0\221\164\325\145\327\135"
++"\170\345\245\327\136\174\365\345\327\137\200\5\46\330\140\204\25\146\330\141"
++"\210\45\246\330\142\214\65\346\130\0\1\374\10\144\0"
+
+ "iso88599\0"
+ "\0\120"
+-"\55\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\364\100\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+-"\0\0\0\0\0\56\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\370\120\6\0"
++"\116\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\170\121\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
++"\0\0\0\0\0\117\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\174\141\10\0"
+
+ "iso885910\0"
+ "\0\40"
+-"\0\124\60\102\14\71\334\20\4\0\106\204\140\6\33\203\0\0\207\24"
+-"\0\130\100\202\14\72\340\40\4\0\107\210\160\106\33\204\210\30\307\24"
+-"\21\0\0\0\0\0\0\0\300\16\35\0\160\2\0\45\0\0\0\0\0\70\101\5\0\0\0\0\200\33"
+-"\0\340\1\0\0\0\0\0\0\0\22\0\0\0\0\0\0\0\0\17\36\0\200\2\0\46\0\0\0\0"
+-"\0\74\121\5\0\0\0\0\300\33\0\344\1\0\0\0\0\0\300\20"
++"\0\330\100\204\24\132\140\41\6\0\147\10\161\110\43\244\0\20\311\34"
++"\0\334\120\304\24\133\144\61\6\0\150\14\201\210\43\245\14\51\11\35\62\0\0\0\0"
++"\0\0\0\0\27\76\0\200\4\0\106\0\0\0\0\0\274\121\7\0\0\0\0\300\43\0\144\2\0\0"
++"\0\0\0\0\0\63\0\0\0\0\0\0\0\100\27\77\0\220\4\0\107\0\0\0\0\0\300\141\7\0"
++"\0\0\0\0\44\0\150\2\0\0\0\0\0\0\31"
+
+ "iso885911\0"
+ "tis620\0"
+ "\0\40"
+-"\0\274\6\133\154\262\315\106\133\155\266\335\206\133\156\272\355\306\133\157"
+-"\276\375\6\134\160\302\15\107\134\161\306\35\207\134\162\312\55\307\134\163"
+-"\316\75\7\135\164\322\115\107\135\165\326\135\207\135\166\332\155\307\135\167"
+-"\336\175\7\136\170\342\215\107\136\171\346\235\207\136\0\1\4\20\100\172"
+-"\352\255\307\136\173\356\275\7\137\174\362\315\107\137\175\366\335\207\137\176"
+-"\372\355\307\137\177\376\375\7\140\200\2\16\110\140\201\1\4\20\100\0"
++"\0\100\27\235\164\323\121\127\235\165\327\141\227\235\166\333\161\327\235\167"
++"\337\201\27\236\170\343\221\127\236\171\347\241\227\236\172"
++"\353\261\327\236\173\357\301\27\237\174\363\321\127\237\175"
++"\367\341\227\237\176\373\361\327\237\177\377\1\30\240\200\3\22\130\240\201"
++"\7\42\230\140\0\1\4\20\200\202\13\62\330\240\203\17\102\30\241\204"
++"\23\122\130\241\205\27\142\230\241\206\33\162\330\241\207\37\202\30\242\210"
++"\43\222\130\242\211\1\4\20\100\0"
+
+ "iso885913\0"
+ "\0\40"
+-"\0\240\10\0\0\0\244\10\0\0\15\0\300\5\0\0\0\0\300\2\0\0\0\0\0\47\2\0\0\0"
+-"\20\0\320\5\0\0\0\0\200\3\25\354\20\301\5\0\0\160\302\10\35\0\360\107\11"
+-"\61\4\221\203\21\146\60\341\4\0\124\0\0\0\0\170\50\1\6\34\0\4\62\10\0"
+-"\26\360\40\1\6\0\0\200\2\11\36\0\0\210\11\62\10\241\303\21\147\64\361\4\0"
+-"\125\0\0\0\0\171\54\21\106\34\0\10\102\110\211"
++"\0\44\11\0\0\0\50\11\0\0\15\0\320\7\0\0\0\0\300\2\0\0\0\0\0\110\2\0\0\0"
++"\20\0\340\7\0\0\0\0\200\3\66\160\41\3\16\0\0\200\4\21\76\0\0\212\21"
++"\122\210\241\305\31\207\264\361\6\0\165\0\0\0\0\231\254\21\110\44"
++"\0\210\102\12\0\67\164\61\103\16\0\0\220\104\21\77\0\20\312\21"
++"\123\214\261\5\32\210\270\1\7\0\166\0\0\0\0\232\260\41\210\44"
++"\0\214\122\212\221"
+
+ "iso885914\0"
+ "\0\40"
+-"\0\30\170\40\0\33\160\200\40\0\24\2\140\141\202\32\2\0\200\37\12\56\370\2\14"
+-"\14\66\10\200\203\25\76\170\41\204\33\142\230\141\204\0\0\0\0\0\0\0\0\0\0"
+-"\0\0\0\0\0\0\0\0\0\0\172\0\0\0\0\0\0\0\200\204\0\0\0\0\0\0\0\300\7\0\0\0\0\0\0"
+-"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\173\0\0\0\0\0\0\0\300\204\0\0\0\0\0\0\0\320\7\0"
++"\0\234\210\42\0\74\364\220\42\0\65\2\160\243\212\73\2\0\300\47"
++"\53\262\10\105\24\55\272\10\300\213\66\302\210\143\214\74\346\250\243\214"
++"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\233\0\0\0\0\0\0\0\300\214\0\0\0\0\0"
++"\0\0\320\11\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\234\0\0\0\0\0\0\0\0\215"
++"\0\0\0\0\0\0\0\340\11\0"
+
+ "iso885915\0"
+ "latin9\0"
+ "\0\44"
+-"\63\2\140\6\0\147\0\0\0\0\0\0\0\0\0\0\0\0\0\0\203\0\0\0\0\204\0\0\0\0"
+-"\130\144\341\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
++"\124\2\160\10\0\210\0\0\0\0\0\0\0\0\0\0\0\0\0\0\244\0\0\0\0\245\0\0\0\0"
++"\171\350\361\11\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+
+ "iso885916\0"
+ "\0\40"
+-"\0\124\140\201\22\63\246\150\6\0\147\0\240\10\0\177\0\0\110\40\0\0\320\301\22"
+-"\203\240\10\0\0\204\170\260\10\0\130\144\341\207\40\0\0\0\300\4\0\134\0\0\0"
+-"\0\0\0\0\0\0\0\0\0\0\41\60\1\0\0\0\130\1\0\30\166\0\0\0\0\0\234\300\10\0"
+-"\0\0\0\0\5\0\140\0\0\0\0\0\0\0\0\0\0\0\0\0\42\64\1\0\0\0\134\1\100\30"
+-"\167\0\0\0\0\0\240\320\10\0"
++"\0\330\160\303\32\124\52\171\10\0\210\0\260\12\0\240\0\20\212\50\0\0\340\3\33"
++"\244\44\11\0\0\245\374\300\12\0\171\350\361\311\50\0\0\0\0\15\0\340\0\0\0"
++"\0\0\0\0\0\0\0\0\0\0\102\264\1\0\0\0\334\1\100\40\227\0\0\0\0\0\40\321\12\0"
++"\0\0\0\100\15\0\344\0\0\0\0\0\0\0\0\0\0\0\0\0\103\270\1\0\0\0\340\1\200\40"
++"\230\0\0\0\0\0\44\341\12\0"
+
+ "cp1250\0"
+ "windows1250\0"
+ "\0\0"
+-"\63\6\140\142\0\51\266\250\342\212\1\270\150\306\213\140\250\61\310\37"
+-"\1\220\130\342\211\50\262\10\142\210\1\330\170\6\214\141\254\101\10\40"
+-"\0\74\2\211\22\0\124\0\0\0\0\0\100\6\0\0\0\0\100\40\0\0\40\311\22\0\0\0\0\0"
+-"\0\130\120\6\0\110\120\222\204\40\132\0\0\300\4\0\20\161\1\0\35\0\160\2\0"
+-"\51\0\0\300\7\41\60\1\5\0\0\130\1\0\0\136\320\1\200\35\0\0\200\6\0\133\0\0\0\5"
+-"\0\24\201\1\0\36\0\200\2\0\52\0\0\0\10\42\64\21\5\0\0\134\1\0\0"
+-"\137\324\1\300\35\0\0\220\106\44"
++"\124\6\160\144\0\112\72\271\44\223\1\74\171\10\224\201\54\102\12\50"
++"\1\24\151\44\222\111\66\31\244\220\1\140\211\110\224\202\60\122\112\50"
++"\0\300\22\313\32\0\330\0\0\0\0\0\120\10\0\0\0\0\200\50\0\0\60\13\33\0\0\0\0\0"
++"\0\334\140\10\0\151\324\242\306\50\173\0\0\0\15\0\224\201\3\0\76\0\200\4\0"
++"\112\0\0\0\20\102\264\21\7\0\0\334\1\0\0\177\124\2\300\45\0\0\220\10\0"
++"\174\0\0\100\15\0\230\221\3\0\77\0\220\4\0\113\0\0\100\20\103\270\41\7\0"
++"\0\340\1\0\0\200\130\2\0\46\0\0\240\210\54"
+
+ "cp1251\0"
+ "windows1251\0"
+ "\0\0"
+-"\343\220\143\242\114\51\266\250\342\212\63\272\250\316\213\353\264\303\316\73"
+-"\61\221\130\342\211\50\262\10\142\210\1\330\210\23\214\71\355\244\123\117"
+-"\0\270\303\123\72\0\370\4\0\0\342\0\120\16\0\0\0\0\0\72\0\0\160\116\115"
+-"\77\1\0\0\0\60\325\70\23\0\67\231\103\223\115\360\304\43\317\74"
+-"\364\324\143\317\75\370\344\243\317\76\374\364\343\317\77\0\5\44\320\100"
+-"\4\25\144\320\101\10\45\244\320\102\14\65\344\320\103\20\105\44\321\104"
+-"\24\125\144\321\105\30\145\244\321\106\34\165\344\321\107\40\205\44\322\110"
+-"\44\225\144\322\111\50\245\244\322\112\54\265\344\322\113"
++"\4\25\164\344\124\112\72\271\44\223\124\76\271\20\224\14\71\324\20\104"
++"\122\25\151\44\222\111\66\31\244\220\1\140\231\125\224\132\161\265\225\127"
++"\0\74\324\225\102\0\174\5\0\0\3\1\140\20\0\0\0\0\100\102\0\0\200\220\125"
++"\140\1\0\0\0\121\135\111\25\0\130\35\124\325\125\21\111\64\21\105"
++"\25\131\164\21\106\31\151\264\21\107\35\171\364\21\110\41\211\64\22\111"
++"\45\231\164\22\112\51\251\264\22\113\55\271\364\22\114\61\311\64\23\115"
++"\65\331\164\23\116\71\351\264\23\117\75\371\364\23\120\101\11\65\24\121"
++"\105\31\165\24\122\111\51\265\24\123\115\71\365\24\124"
+
+ "cp1252\0"
+ "windows1252\0"
+ "\0\0"
+-"\63\6\140\142\41\51\266\250\342\212\216\270\150\306\213\130\4\60\110\0"
+-"\1\220\130\342\211\50\262\10\142\210\223\330\170\6\214\131\4\100\210\37"
++"\124\6\160\244\51\112\72\271\44\223\257\74\171\10\224\171\4\100\112\0"
++"\1\24\151\44\222\111\66\31\244\220\264\140\211\110\224\172\4\120\312\47"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+@@ -151,88 +154,112 @@
+ "cp1253\0"
+ "windows1253\0"
+ "\0\0"
+-"\63\6\140\142\41\51\266\250\342\212\1\270\30\300\213\1\4\20\100\0"
+-"\1\220\130\342\211\50\262\10\142\210\1\330\30\0\214\1\4\20\100\0"
+-"\0\160\322\11\0\0\0\0\0\0\0\0\20\0\0\0\0\0\200\210\0\0\0\0\0\233\0\0\0\0"
+-"\236\174\2\12\0\241\0\40\312\50\244\224\142\312\51\250\244\242\312\52"
+-"\254\264\342\312\53\260\304\42\313\54\264\324\22\200\55\267\340\222\213\56"
+-"\273\360\322\213\57\277\0\23\214\60\303\20\123\214\61\307\40\223\214\62"
+-"\313\60\323\214\63\317\100\23\215\64\323\120\123\215\65\327\140\223\215\66"
+-"\333\160\323\215\67\337\200\23\116\0"
++"\124\6\160\244\51\112\72\271\44\223\1\74\31\0\224\1\4\20\100\0\1\24\151\44\222"
++"\111\66\31\244\220\1\140\31\100\224\1\4\20\100\0\0\364\342\13\0\0\0\0\0\0"
++"\0\0\20\0\0\0\0\0\300\220\0\0\0\0\0\274\0\0\0\0\277\0\23\14\0\302\0\60\14\61"
++"\305\30\163\14\62\311\50\263\14\63\315\70\363\14\64\321\110\63\15\65"
++"\325\130\23\300\65\330\144\243\315\66\334\164\343\315\67\340\204\43\316\70"
++"\344\224\143\316\71\350\244\243\316\72\354\264\343\316\73\360\304\43\317\74"
++"\364\324\143\317\75\370\344\243\317\76\374\364\343\317\77\0\5\44\120\0"
+
+ "cp1254\0"
+ "windows1254\0"
+ "\0\0"
+-"\63\6\140\142\41\51\266\250\342\212\216\270\150\306\213\130\4\20\100\0"
+-"\1\220\130\342\211\50\262\10\142\210\223\330\170\6\214\131\4\20\200\37"
++"\124\6\160\244\51\112\72\271\44\223\257\74\171\10\224\171\4\20\100\0"
++"\1\24\151\44\222\111\66\31\244\220\264\140\211\110\224\172\4\20\300\47"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+-"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\55\0\0\0\0\0\0\0\0\0"
+-"\0\0\0\0\0\0\364\100\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\56\0\0\0\0"
+-"\0\0\0\0\0\0\0\0\0\0\0\370\120\6\0"
++"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\116\0\0\0\0\0\0\0\0\0"
++"\0\0\0\0\0\0\170\121\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\117\0\0\0\0"
++"\0\0\0\0\0\0\0\0\0\0\0\174\141\10\0"
+
+ "cp1255\0"
+ "windows1255\0"
+ "\0\0"
+-"\63\6\140\142\41\51\266\250\342\212\216\270\30\300\213\1\4\20\100\0"
+-"\1\220\130\342\211\50\262\10\142\210\223\330\30\0\214\1\4\20\100\0\0\0\0\0\0"
+-"\61\2\0\0\0\0\0\300\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\360\0\0\0\0\0\0\0"
+-"\100\5\45\324\120\104\25\145\324\121\110\45\25\200\122\113\61\325\224\123"
+-"\117\101\25\225\124\156\275\5\127\134\162\5\20\100\0\1\4\20\100\0"
+-"\123\121\125\225\125\127\141\225\225\126\133\161\325\225\127"
+-"\137\201\25\226\130\143\221\125\226\131\147\241\225\226\132\153\261\325\126\0"
+-"\1\170\370\141\0"
++"\124\6\160\244\51\112\72\271\44\223\257\74\31\0\224\1\4\20\100\0"
++"\1\24\151\44\222\111\66\31\244\220\264\140\31\100\224\1\4\20\100\0\0\0\0\0\0"
++"\122\2\0\0\0\0\0\300\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\360\0\0\0\0\0\0\0"
++"\141\211\65\26\131\145\231\165\26\132\151\251\25\300\132\154\265\345\326\133"
++"\160\305\45\327\134\217\101\26\231\144\223\5\20\100\0\1\4\20\100\0"
++"\164\325\145\327\135\170\345\245\327\136\174\365\345\327\137\200\5\46\330\140"
++"\204\25\146\330\141\210\45\246\330\142\214\65\346\130\0\1\374\10\144\0"
+
+ "cp1256\0"
+ "windows1256\0"
+ "\0\0"
+-"\63\222\146\142\41\51\266\250\342\212\216\270\70\332\213\130\224\206\232\151"
+-"\252\221\130\342\211\50\262\10\142\210\251\331\170\32\214\131\160\330\341\152"
+-"\0\314\5\0\0\0\0\0\0\0\0\0\300\32\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\100\27\0"
+-"\0\0\0\100\135\255\331\165\27\136\171\351\265\27\137\175\371\365\27\140"
+-"\201\11\66\30\141\205\31\166\30\142\211\51\266\30\0\214\65\346\330\143"
+-"\220\105\46\331\144\0\120\6\100\145\226\135\206\31\0\0\0\0\0\0\231\151\6\0\0"
+-"\233\161\326\231\147\0\174\6\32\0\241\1\40\32\0\0\170\370\241\153"
++"\124\26\167\244\51\112\72\271\44\223\257\74\111\34\224\171\30\227\334\161"
++"\313\25\151\44\222\111\66\31\244\220\312\141\211\134\224\172\364\350\43\163"
++"\0\120\6\0\0\0\0\0\0\0\0\0\320\34\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\120\31\0"
++"\0\0\0\200\145\316\135\206\131\146\232\155\306\131\147\236\175\6\132\150"
++"\242\215\106\132\151\246\235\206\132\152\252\255\306\32\0\255\271\366\32\154"
++"\261\311\66\33\155\0\324\6\200\155\267\341\226\33\0\0\0\0\0\0\272\355\6\0\0"
++"\274\365\346\333\157\0\0\27\34\0\302\1\60\34\0\0\374\10\344\163"
+
+ "cp1257\0"
+ "windows1257\0"
+ "\0\0"
+-"\63\6\140\142\0\51\266\250\342\212\1\270\30\300\213\1\20\360\210\2"
+-"\1\220\130\342\211\50\262\10\142\210\1\330\30\0\214\1\30\40\111\0\0\4\0\0\0"
+-"\0\4\0\0\0\15\0\300\5\0\0\0\0\300\2\0\0\0\0\0\0\0\0\0\0\20\0\320\5\0"
+-"\0\0\0\200\3\25\354\20\301\5\0\0\160\302\10\35\0\360\107\11\61\4\221\203\21"
+-"\146\60\341\4\0\124\0\0\0\0\170\50\1\6\34\0\4\62\10\0\26\360\40\1\6"
+-"\0\0\200\2\11\36\0\0\210\11\62\10\241\303\21\147\64\361\4\0\125\0\0\0\0"
+-"\171\54\21\106\34\0\10\102\110\44"
++"\124\6\160\144\0\112\72\271\44\223\1\74\31\0\224\1\20\0\213\2\1\24\151\44\222"
++"\111\66\31\244\220\1\140\31\100\224\1\30\60\113\0\0\4\0\0\0\0\4\0\0\0"
++"\15\0\320\7\0\0\0\0\300\2\0\0\0\0\0\0\0\0\0\0\20\0\340\7\0\0\0\0\200\3"
++"\66\160\41\3\16\0\0\200\4\21\76\0\0\212\21\122\210\241\305\31\207\264\361\6\0"
++"\165\0\0\0\0\231\254\21\110\44\0\210\102\12\0\67\164\61\103\16\0\0\220\104\21"
++"\77\0\20\312\21\123\214\261\5\32\210\270\1\7\0\166\0\0\0\0\232\260\41\210\44"
++"\0\214\122\212\54"
+
+ "cp1258\0"
+ "windows1258\0"
+ "\0\0"
+-"\63\6\140\142\41\51\266\250\342\212\216\270\30\300\213\130\4\20\100\0"
+-"\1\220\130\342\211\50\262\10\142\210\223\330\30\0\214\131\4\20\200\37"
++"\124\6\160\244\51\112\72\271\44\223\257\74\31\0\224\171\4\20\100\0"
++"\1\24\151\44\222\111\66\31\244\220\264\140\31\100\224\172\4\20\300\47"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+-"\0\0\0\0\0\0\0\0\300\4\0\0\0\0\0\0\0\0\0\0\225\0\0\0\0\41\0\200\11\0"
+-"\0\30\2\0\0\0\0\0\0\0\0\40\162\11\0\0\0\0\0\5\0\0\0\0\0\0\0\0\0\0\226\0\0\0\0"
+-"\42\0\220\11\0\0\34\2\0\0\0\0\0\0\0\0\44\42\43\0"
++"\0\0\0\0\0\0\0\0\0\15\0\0\0\0\0\0\0\0\0\0\266\0\0\0\0\102\0\220\13\0"
++"\0\234\2\0\0\0\0\0\0\0\0\244\202\13\0\0\0\0\100\15\0\0\0\0\0\0\0\0\0\0"
++"\267\0\0\0\0\103\0\240\13\0\0\240\2\0\0\0\0\0\0\0\0\250\62\45\0"
+
+ "koi8r\0"
+ "\0\0"
+-"\76\376\10\144\220\102\16\111\144\221\106\36\211\244\231\147\242\231\246\232"
+-"\153\262\331\46\217\156\336\210\143\216\72\356\50\100\217\7\40\220\300\3"
+-"\111\52\271\44\114\114\66\351\344\223\120\106\51\345\224\124\126\151\345\225"
+-"\130\146\251\245\70\133\162\331\245\227\137\202\31\246\230\143\222\131\146\1"
+-"\56\101\24\221\111\24\125\104\322\104\45\141\224\221\106\33\161\324\221\107"
+-"\37\275\4\122\110\42\215\144\221\104\54\255\164\21\112\55\245\164\222\112"
+-"\16\301\23\217\101\364\324\103\320\74\5\341\223\217\76\373\360\323\217\77"
+-"\377\74\4\120\100\2\15\144\217\74\14\55\164\17\102\15\45\164\220\102"
++"\140\206\51\346\230\144\226\151\346\231\150\246\251\46\242\211\52\272\50\243"
++"\215\72\372\250\227\220\146\251\345\226\134\166\51\300\227\7\40\220\300\3"
++"\153\262\331\146\124\156\276\11\147\234\162\316\111\147\235"
++"\166\336\211\147\236\172\356\311\347\100\175\372\371\47\240\201\12\72\50\241"
++"\205\32\172\150\1\117\305\44\323\121\65\331\124\24\115\106\345\244\323\116"
++"\74\365\344\323\117\100\101\25\224\120\103\21\165\323\114\115\61\205\123\122"
++"\116\51\205\324\122\57\105\44\321\111\25\131\124\22\105\46\145\244\321\106"
++"\34\165\344\321\107\40\301\24\222\110\43\221\164\321\104\55\261\204\121\112"
++"\56\251\204\322\112"
+
+ "koi8u\0"
+ "\0\0"
+-"\76\376\10\144\220\102\16\111\144\221\106\36\211\244\231\147\242\231\246\232"
+-"\153\262\331\46\217\156\336\210\143\216\72\356\50\100\217\7\40\220\300\3"
+-"\111\52\271\44\114\63\65\131\223\115\120\106\51\345\224\124\376\144\345\225"
+-"\130\146\251\245\70\345\160\171\16\72\137\202\31\246\230\143\372\124\146\1"
+-"\56\101\24\221\111\24\125\104\322\104\45\141\224\221\106\33\161\324\221\107"
+-"\37\275\4\122\110\42\215\144\221\104\54\255\164\21\112\55\245\164\222\112"
+-"\16\301\23\217\101\364\324\103\320\74\5\341\223\217\76\373\360\323\217\77"
+-"\377\74\4\120\100\2\15\144\217\74\14\55\164\17\102\15\45\164\220\102"
++"\140\206\51\346\230\144\226\151\346\231\150\246\251\46\242\211\52\272\50\243"
++"\215\72\372\250\227\220\146\251\345\226\134\166\51\300\227\7\40\220\300\3"
++"\153\262\331\146\124\124\275\151\325\125\162\316\111\147\235"
++"\166\202\205\147\236\172\356\311\347\100\6\371\211\120\102\201\12\72\50\241"
++"\205\176\165\150\1\117\305\44\323\121\65\331\124\24\115\106\345\244\323\116"
++"\74\365\344\323\117\100\101\25\224\120\103\21\165\323\114\115\61\205\123\122"
++"\116\51\205\324\122\57\105\44\321\111\25\131\124\22\105\46\145\244\321\106"
++"\34\165\344\321\107\40\301\24\222\110\43\221\164\321\104\55\261\204\121\112"
++"\56\251\204\322\112"
++
++"cp437\0"
++"\0\0"
++"\27\300\100\202\7\37\164\0\202\10\45\230\60\102\12\50\234\100\101\5"
++"\30\70\260\300\12\54\250\360\202\13\61\144\300\101\4\22\114\140\245\51"
++"\221\106\32\151\244\221\106\32\151\244\221\106\32\151\244\221\106\32\151\244"
++"\215\72\372\150\230\147\362\331\147\234\160\372\311\246\234"
++"\170\336\151\347\230\144\246\211\246\231\140\252\231\247\236"
++"\165\276\111\150\240\173\256\171\250\240\203\376\11\50\235\163\266\351\246\241"
++"\205\226\51\246\242\211\56\312\50\242\345\104\212\14\75\327\334\23\51\76"
++"\332\64\323\15\72\221\352\223\116\244\221\106\332\45\227\136\176\371\300\226"
++"\7\144\231\200\226\221\42\0\251\0"
++
++"cp850\0"
++"\0\0"
++"\27\300\100\202\7\37\164\0\202\10\45\230\60\102\12\50\234\100\101\5"
++"\30\70\260\300\12\54\250\360\202\13\61\144\300\1\4\22\64\300\200\51"
++"\221\106\32\151\244\221\106\32\151\244\221\106\32\151\244\221\106\32\151\244"
++"\215\72\372\150\230\147\106\32\151\244\5\370\311\246\234\170\106\60\301\230"
++"\144\246\211\246\231\140\252\31\151\244\165\276\111\150\240"
++"\173\256\171\150\244\221\106\32\151\244\221\176\21\151\244\221\226\51\246\242"
++"\211\106\32\51\242\221\106\32\151\244\221\106\32\151\244\221\106\32\151\244"
++"\221\106\152\100\244\221\106\112\144\244\221\16\360\200\2\7\20\220\100\244"
++"\221\42\0\251\0"
+
+diff --git a/src/locale/legacychars.h b/src/locale/legacychars.h
+index 4ddbaeb..914ad0d 100644
+--- a/src/locale/legacychars.h
++++ b/src/locale/legacychars.h
+@@ -1,39 +1,41 @@
+-0,1,160,167,168,169,175,176,178,183,184,198,215,216,230,247,248,256,257,258,
+-259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,278,279,
+-280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,
+-299,302,303,304,305,308,309,310,311,312,313,314,315,316,317,318,321,322,323,
+-324,325,326,327,328,330,331,332,333,336,337,338,339,340,341,342,343,344,345,
+-346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,
+-365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,402,
+-416,417,431,432,536,537,538,539,710,711,728,729,731,732,733,768,769,771,777,
+-803,890,900,901,902,904,905,906,908,910,911,912,913,914,915,916,917,918,919,
+-920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,
+-940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,
+-959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1025,1026,
+-1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1038,1039,1040,1041,1042,
+-1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,
+-1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,
+-1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,
+-1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,
+-1103,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1118,1119,
+-1168,1169,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1467,1468,1469,
+-1470,1471,1472,1473,1474,1475,1488,1489,1490,1491,1492,1493,1494,1495,1496,
+-1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,
+-1512,1513,1514,1520,1521,1522,1523,1524,1548,1563,1567,1569,1570,1571,1572,
+-1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,
+-1588,1589,1590,1591,1592,1593,1594,1600,1601,1602,1603,1604,1605,1606,1607,
+-1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,1657,1662,1670,1672,
+-1681,1688,1705,1711,1722,1726,1729,1746,3585,3586,3587,3588,3589,3590,3591,
+-3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603,3604,3605,3606,
+-3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618,3619,3620,3621,
+-3622,3623,3624,3625,3626,3627,3628,3629,3630,3631,3632,3633,3634,3635,3636,
+-3637,3638,3639,3640,3641,3642,3647,3648,3649,3650,3651,3652,3653,3654,3655,
+-3656,3657,3658,3659,3660,3661,3662,3663,3664,3665,3666,3667,3668,3669,3670,
+-3671,3672,3673,3674,3675,7682,7683,7690,7691,7710,7711,7744,7745,7766,7767,
+-7776,7777,7786,7787,7808,7809,7810,7811,7812,7813,7922,7923,8204,8205,8206,
+-8207,8211,8212,8213,8215,8216,8217,8218,8220,8221,8222,8224,8225,8226,8230,
+-8240,8249,8250,8362,8363,8364,8367,8470,8482,8729,8730,8776,8804,8805,8992,
+-8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,
+-9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,
+-9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,
+-9616,9617,9618,9619,9632,
++0,1,160,167,168,169,175,176,178,183,184,198,215,216,230,247,248,162,163,165,
++196,197,198,199,201,214,215,216,220,224,226,228,229,230,231,232,233,234,235,
++236,238,239,242,244,246,248,249,251,252,255,256,257,258,259,260,261,262,263,
++264,265,266,267,268,269,270,271,272,273,274,275,278,279,280,281,282,283,284,
++285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,302,303,304,305,
++308,309,310,311,312,313,314,315,316,317,318,321,322,323,324,325,326,327,328,
++330,331,332,333,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,
++351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,
++370,371,372,373,374,375,376,377,378,379,380,381,382,402,416,417,431,432,536,
++537,538,539,710,711,728,729,731,732,733,768,769,771,777,803,890,900,901,902,
++904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,
++925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,
++945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,
++964,965,966,967,968,969,970,
++971,972,973,974,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,
++1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,
++1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,
++1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,
++1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,
++1098,1099,1100,1101,1102,1103,1105,1106,1107,1108,1109,1110,1111,1112,1113,
++1114,1115,1116,1118,1119,1168,1169,1456,1457,1458,1459,1460,1461,1462,1463,
++1464,1465,1467,1468,1469,1470,1471,1472,1473,1474,1475,1488,1489,1490,1491,
++1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,
++1507,1508,1509,1510,1511,1512,1513,1514,1520,1521,1522,1523,1524,1548,1563,
++1567,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,
++1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,1600,1601,1602,
++1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,
++1618,1657,1662,1670,1672,1681,1688,1705,1711,1722,1726,1729,1746,3585,3586,
++3587,3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,
++3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,
++3617,3618,3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,3630,3631,
++3632,3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,3647,3648,3649,3650,
++3651,3652,3653,3654,3655,3656,3657,3658,3659,3660,3661,3662,3663,3664,3665,
++3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,7682,7683,7690,7691,7710,
++7711,7744,7745,7766,7767,7776,7777,7786,7787,7808,7809,7810,7811,7812,7813,
++7922,7923,8204,8205,8206,8207,8211,8212,8213,8215,8216,8217,8218,8220,8221,
++8222,8224,8225,8226,8230,8240,8249,8250,8362,8363,8364,8367,8359,8470,8482,
++8729,8730,8776,8804,8805,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,
++9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,
++9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,
++9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,
+diff --git a/src/sched/sched_yield.c b/src/sched/sched_yield.c
+index 6c0742b..ee6f0e7 100644
+--- a/src/sched/sched_yield.c
++++ b/src/sched/sched_yield.c
+@@ -1,10 +1,7 @@
+ #include <sched.h>
+ #include "syscall.h"
+-#include "libc.h"
+
+-int __yield()
++int sched_yield()
+ {
+ return syscall(SYS_sched_yield);
+ }
+-
+-weak_alias(__yield, sched_yield);
+diff --git a/src/time/strftime.c b/src/time/strftime.c
+index bc15013..75ebca6 100644
+--- a/src/time/strftime.c
++++ b/src/time/strftime.c
+@@ -126,6 +126,7 @@ const char *__strftime_fmt_1(char (*s)[100], size_t *l, int f, const struct tm *
+ goto recu_strftime;
+ case 's':
+ val = __tm_to_secs(tm) + tm->__tm_gmtoff;
++ width = 1;
+ goto number;
+ case 'S':
+ val = tm->tm_sec;
diff --git a/main/musl/1003-implement-y-and-C-specifiers-in-strptime.patch b/main/musl/1003-implement-y-and-C-specifiers-in-strptime.patch
new file mode 100644
index 0000000000..8bb18aa164
--- /dev/null
+++ b/main/musl/1003-implement-y-and-C-specifiers-in-strptime.patch
@@ -0,0 +1,69 @@
+From 0caec05b829d1a2db1b559305a41770d9015042d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
+Date: Wed, 14 May 2014 10:53:56 +0300
+Subject: [PATCH] implement %y and %C specifiers in strptime
+
+also return error if encountering an unknown recognized specifier.
+---
+ src/time/strptime.c | 17 +++++++++++++++--
+ 1 file changed, 15 insertions(+), 2 deletions(-)
+
+diff --git a/src/time/strptime.c b/src/time/strptime.c
+index d1d141e..5ed40ca 100644
+--- a/src/time/strptime.c
++++ b/src/time/strptime.c
+@@ -11,6 +11,7 @@ char *strptime(const char *restrict s, const char *restrict f, struct tm *restri
+ int i, w, neg, adj, min, range, *dest;
+ const char *ex;
+ size_t len;
++ int century = -2;
+ while (*f) {
+ if (*f != '%') {
+ if (isspace(*f)) for (; *s && isspace(*s); s++);
+@@ -40,6 +41,9 @@ char *strptime(const char *restrict s, const char *restrict f, struct tm *restri
+ if (!s) return 0;
+ break;
+ case 'C':
++ dest = &century;
++ if (w<0) w=2;
++ goto numeric_digits;
+ case 'd': case 'e':
+ dest = &tm->tm_mday;
+ min = 1;
+@@ -128,16 +132,21 @@ char *strptime(const char *restrict s, const char *restrict f, struct tm *restri
+ if (!s) return 0;
+ break;
+ case 'y':
+- //FIXME
+- return 0;
++ dest = &tm->tm_year;
++ if (w<0) w=2;
++ if (century==-2) century=-1;
++ goto numeric_digits;
+ case 'Y':
+ dest = &tm->tm_year;
+ if (w<0) w=4;
+ adj = 1900;
++ century = -2;
+ goto numeric_digits;
+ case '%':
+ if (*s++ != '%') return 0;
+ break;
++ default:
++ return 0;
+ numeric_range:
+ if (!isdigit(*s)) return 0;
+ *dest = 0;
+@@ -176,5 +185,9 @@ char *strptime(const char *restrict s, const char *restrict f, struct tm *restri
+ ;
+ }
+ }
++ if (century >= -1) {
++ if (century >= 0) tm->tm_year += century * 100 - 1900;
++ else if (tm->tm_year <= 68) tm->tm_year += 100;
++ }
+ return (char *)s;
+ }
+--
+1.9.2
+
diff --git a/main/musl/APKBUILD b/main/musl/APKBUILD
index 21927ddff6..d2536f5365 100644
--- a/main/musl/APKBUILD
+++ b/main/musl/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Timo Teräs <timo.teras@iki.fi>
pkgname=musl
pkgver=1.1.0
-pkgrel=6
+pkgrel=7
pkgdesc="the musl c library (libc) implementation"
url="http://www.musl-libc.org/"
arch="all"
@@ -15,8 +15,10 @@ subpackages="$pkgname-dev $pkgname-utils"
[ "${CTARGET#*musl}" = "$CTARGET" ] && subpackages="$subpackages musl-gcc:crosstool"
source="http://www.musl-libc.org/releases/musl-$pkgver.tar.gz
0001-v1.1.0-to-c3d9d172.patch
+ 0002-c3d9d172-to-8a2d8719.patch
1001-add-basic-dns-record-parsing-functions.patch
1002-reimplement-if_nameindex-and-getifaddrs-using-netlin.patch
+ 1003-implement-y-and-C-specifiers-in-strptime.patch
2001-default-to-localtime-timezone-if-TZ-is-undefined.patch
ldconfig
@@ -127,8 +129,10 @@ crosstool() {
md5sums="c2118c3b6afc77f46a0b23a38a8c3080 musl-1.1.0.tar.gz
1789d43fa0c5f76184cdbaff18a429cb 0001-v1.1.0-to-c3d9d172.patch
+3c352daa12dd718cf5e2958a58b53723 0002-c3d9d172-to-8a2d8719.patch
a3810683ef61ac27e2f6ec9801280c81 1001-add-basic-dns-record-parsing-functions.patch
83c3bd2a50b1de5ef948704d3f4e0583 1002-reimplement-if_nameindex-and-getifaddrs-using-netlin.patch
+441a6addbb29c6286eb6b026eee6d905 1003-implement-y-and-C-specifiers-in-strptime.patch
e936297ceb484b2160a4cd8a3a4eb291 2001-default-to-localtime-timezone-if-TZ-is-undefined.patch
013be8897f27c3909ada59c62020502f ldconfig
61c6c1e84ed1df82abbe6d75e90cf21c getopt_long.c
@@ -138,8 +142,10 @@ cb82d21fed17a116b44b830adba71c5a getconf.c
45f92f8d59cf84d765de698a9578dbf4 iconv.c"
sha256sums="de1b43019e5361d7577e5e0213e9dde591853e9da5d4a7cd75e2e0d78bf60820 musl-1.1.0.tar.gz
6ce417df2acedd6973580ae7985b337fa6ba58bd26752a01c5dcab1f2ce8925c 0001-v1.1.0-to-c3d9d172.patch
+d8819b9a13f588cbfec9cdb320594157e4a19991677c4b6e718f7bf2159f160d 0002-c3d9d172-to-8a2d8719.patch
758390768b1bc4159d56908ca332b9640cd0552ed3b4b2b8d4a6d499c54c11a1 1001-add-basic-dns-record-parsing-functions.patch
1c25880095e869b827f02997e864fdf4bf157a4e923e52d97dbd05e657aedb70 1002-reimplement-if_nameindex-and-getifaddrs-using-netlin.patch
+980d9ae4b364f2ff60705f656df952b51b84b22e6d053c407a0f33f178e0ea57 1003-implement-y-and-C-specifiers-in-strptime.patch
60d7aa78040ee664681e507475129f76e445291863137e568c9a3d11ae8436ce 2001-default-to-localtime-timezone-if-TZ-is-undefined.patch
398dc26ec82cc6af056c738e8ac62da212ba978229d9839eb8b61f7ce536da4a ldconfig
d9b644ec20bc33e81a7c52b9fcf7973d835923a69faf50f03db45534b811bd96 getopt_long.c
@@ -149,8 +155,10 @@ d9b644ec20bc33e81a7c52b9fcf7973d835923a69faf50f03db45534b811bd96 getopt_long.c
f79a2930a2e5bb0624321589edf8b889d1e9b603e01e6b7ae214616605b3fdd7 iconv.c"
sha512sums="72dab085fa56a2f02d407074b9a4c1d409624df74924ed385b174a767113aa0a4112bd22d3eaf465b31a14b8e60a15997d6042421994673977de306ee8738b3d musl-1.1.0.tar.gz
72be49c7b0598954f5ec2f9377d1848f3d22d018f97544f5c9ea96a8cd6e7b654365703832bcbb3e98a8b2d96e445a4fb0a0573ce5355ccd8a03dbeb9acc5dbc 0001-v1.1.0-to-c3d9d172.patch
+89137455877efc71b36cc78efdcfb144d7f3ff4c66eba1f1e84274d5d4f03bb2a0a0337d1cd5103abd629d4be94c2e4aba4c32edb96e5c95e624115e02bb1ce4 0002-c3d9d172-to-8a2d8719.patch
dad965258daf69371b844f76bfe5a914b0eca0ca76f3fc340b8fd7acf598b5f87bbe6d68b1f43ed0293ee0ed3bfd85d5173ccc169aa6265646248d5b8a906708 1001-add-basic-dns-record-parsing-functions.patch
72cf33738d2cf31f6ec02312bc494d754c17470b519172bb8bd7e2e29ac3b119023088a2b3fbc0dbc2fddd0078ccbae62096106cae361f8c31d6a9950043af25 1002-reimplement-if_nameindex-and-getifaddrs-using-netlin.patch
+4c8c99f1d1a0abe9c491d1ae153ffe2f0a32a4fc58f31734b8cb914074d1f10925977e69ace506021c0f639f6772ea32ff43ad6f9968ed31609218c58d819a98 1003-implement-y-and-C-specifiers-in-strptime.patch
8d4cae760895a18e83b5fcbdc925705a6dd98acd2270562ee6c905363096a4111cf3aa324b52a16066e30bddc9ab104883e2b25b5c68396ea27f1c50cb939f0a 2001-default-to-localtime-timezone-if-TZ-is-undefined.patch
33e13d2242063f3dc9ec199ae9528e469a52ccae4d3726faa3c866e0c7dcf546f69294f9c00307324cee05fd965f84350ae100b8b1138f9d9c8c916de04ab0d1 ldconfig
140f3f20d30bd95ebce8c41b8cc7f616c6cbedf4ea06c729c21014e74f6043796825cc40ebc5180620ea38173afdba23f09ebf6d8b11fa05440b14d23764fca9 getopt_long.c