1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
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
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
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;
|