[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[commits] r3747 - in /trunk/libc: ./ debug/ elf/ iconvdata/ include/ include/bits/ libio/bits/ locale/ locale/programs/ localedata/ lo...
- To: commits@xxxxxxxxxx
- Subject: [commits] r3747 - in /trunk/libc: ./ debug/ elf/ iconvdata/ include/ include/bits/ libio/bits/ locale/ locale/programs/ localedata/ lo...
- From: joseph@xxxxxxxxxx
- Date: Mon, 08 Oct 2007 15:18:45 -0000
Author: joseph
Date: Mon Oct 8 08:18:44 2007
New Revision: 3747
Log:
Merge changes between r3614 and r3746 from /fsf/trunk.
Added:
trunk/libc/iconvdata/iso8859-9e.c
- copied unchanged from r3746, fsf/trunk/libc/iconvdata/iso8859-9e.c
trunk/libc/iconvdata/koi8-ru.c
- copied unchanged from r3746, fsf/trunk/libc/iconvdata/koi8-ru.c
trunk/libc/include/bits/error.h
- copied unchanged from r3746, fsf/trunk/libc/include/bits/error.h
trunk/libc/localedata/charmaps/ISO-8859-9E
- copied unchanged from r3746, fsf/trunk/libc/localedata/charmaps/ISO-8859-9E
trunk/libc/localedata/charmaps/KOI8-RU
- copied unchanged from r3746, fsf/trunk/libc/localedata/charmaps/KOI8-RU
trunk/libc/localedata/fr_FR.in
- copied unchanged from r3746, fsf/trunk/libc/localedata/fr_FR.in
trunk/libc/localedata/locales/ber_DZ
- copied unchanged from r3746, fsf/trunk/libc/localedata/locales/ber_DZ
trunk/libc/localedata/locales/ber_MA
- copied unchanged from r3746, fsf/trunk/libc/localedata/locales/ber_MA
trunk/libc/localedata/locales/en_NG
- copied unchanged from r3746, fsf/trunk/libc/localedata/locales/en_NG
trunk/libc/localedata/locales/fil_PH
- copied unchanged from r3746, fsf/trunk/libc/localedata/locales/fil_PH
trunk/libc/localedata/locales/fur_IT
- copied unchanged from r3746, fsf/trunk/libc/localedata/locales/fur_IT
trunk/libc/localedata/locales/fy_DE
- copied unchanged from r3746, fsf/trunk/libc/localedata/locales/fy_DE
trunk/libc/localedata/locales/ha_NG
- copied unchanged from r3746, fsf/trunk/libc/localedata/locales/ha_NG
trunk/libc/localedata/locales/ig_NG
- copied unchanged from r3746, fsf/trunk/libc/localedata/locales/ig_NG
trunk/libc/localedata/locales/ik_CA
- copied unchanged from r3746, fsf/trunk/libc/localedata/locales/ik_CA
trunk/libc/localedata/locales/iu_CA
- copied unchanged from r3746, fsf/trunk/libc/localedata/locales/iu_CA
trunk/libc/localedata/locales/li_BE
- copied unchanged from r3746, fsf/trunk/libc/localedata/locales/li_BE
trunk/libc/localedata/locales/li_NL
- copied unchanged from r3746, fsf/trunk/libc/localedata/locales/li_NL
trunk/libc/localedata/locales/nds_DE
- copied unchanged from r3746, fsf/trunk/libc/localedata/locales/nds_DE
trunk/libc/localedata/locales/nds_NL
- copied unchanged from r3746, fsf/trunk/libc/localedata/locales/nds_NL
trunk/libc/localedata/locales/pap_AN
- copied unchanged from r3746, fsf/trunk/libc/localedata/locales/pap_AN
trunk/libc/localedata/locales/sa_IN
- copied unchanged from r3746, fsf/trunk/libc/localedata/locales/sa_IN
trunk/libc/localedata/locales/sc_IT
- copied unchanged from r3746, fsf/trunk/libc/localedata/locales/sc_IT
trunk/libc/localedata/locales/tk_TM
- copied unchanged from r3746, fsf/trunk/libc/localedata/locales/tk_TM
trunk/libc/localedata/locales/ug_CN
- copied unchanged from r3746, fsf/trunk/libc/localedata/locales/ug_CN
trunk/libc/localedata/locales/yo_NG
- copied unchanged from r3746, fsf/trunk/libc/localedata/locales/yo_NG
trunk/libc/misc/bits/error.h
- copied unchanged from r3746, fsf/trunk/libc/misc/bits/error.h
trunk/libc/stdlib/tst-qsort2.c
- copied unchanged from r3746, fsf/trunk/libc/stdlib/tst-qsort2.c
trunk/libc/sysdeps/unix/sysv/linux/eventfd.c
- copied unchanged from r3746, fsf/trunk/libc/sysdeps/unix/sysv/linux/eventfd.c
trunk/libc/sysdeps/unix/sysv/linux/eventfd_read.c
- copied unchanged from r3746, fsf/trunk/libc/sysdeps/unix/sysv/linux/eventfd_read.c
trunk/libc/sysdeps/unix/sysv/linux/eventfd_write.c
- copied unchanged from r3746, fsf/trunk/libc/sysdeps/unix/sysv/linux/eventfd_write.c
trunk/libc/sysdeps/unix/sysv/linux/signalfd.c
- copied unchanged from r3746, fsf/trunk/libc/sysdeps/unix/sysv/linux/signalfd.c
trunk/libc/sysdeps/unix/sysv/linux/sys/eventfd.h
- copied unchanged from r3746, fsf/trunk/libc/sysdeps/unix/sysv/linux/sys/eventfd.h
trunk/libc/sysdeps/unix/sysv/linux/sys/signalfd.h
- copied unchanged from r3746, fsf/trunk/libc/sysdeps/unix/sysv/linux/sys/signalfd.h
Removed:
trunk/libc/localedata/locales/sr_CS
Modified:
trunk/libc/ChangeLog
trunk/libc/NEWS
trunk/libc/debug/tst-chk1.c
trunk/libc/elf/dl-close.c
trunk/libc/elf/dl-deps.c
trunk/libc/elf/dl-fini.c
trunk/libc/elf/dl-lookup.c
trunk/libc/elf/dl-open.c
trunk/libc/elf/do-lookup.h
trunk/libc/iconvdata/Makefile
trunk/libc/iconvdata/TESTS
trunk/libc/iconvdata/gconv-modules
trunk/libc/iconvdata/koi8-r.c
trunk/libc/iconvdata/tst-tables.sh
trunk/libc/include/link.h
trunk/libc/include/stdio_ext.h
trunk/libc/libio/bits/stdio2.h
trunk/libc/locale/C-time.c
trunk/libc/locale/iso-639.def
trunk/libc/locale/programs/ld-collate.c
trunk/libc/locale/programs/ld-time.c
trunk/libc/localedata/ChangeLog
trunk/libc/localedata/Makefile
trunk/libc/localedata/SUPPORTED
trunk/libc/localedata/charmaps/UTF-8
trunk/libc/localedata/de_DE.in
trunk/libc/localedata/locales/am_ET
trunk/libc/localedata/locales/cs_CZ
trunk/libc/localedata/locales/da_DK
trunk/libc/localedata/locales/en_GB
trunk/libc/localedata/locales/et_EE
trunk/libc/localedata/locales/fa_IR
trunk/libc/localedata/locales/fr_FR
trunk/libc/localedata/locales/is_IS
trunk/libc/localedata/locales/iso14651_t1_common
trunk/libc/localedata/locales/lo_LA
trunk/libc/localedata/locales/lv_LV
trunk/libc/localedata/locales/nb_NO
trunk/libc/localedata/locales/nn_NO
trunk/libc/localedata/locales/oc_FR
trunk/libc/localedata/tst-langinfo.sh
trunk/libc/login/login_tty.c
trunk/libc/malloc/malloc.c
trunk/libc/math/libm-test.inc
trunk/libc/misc/error.h
trunk/libc/misc/sys/cdefs.h
trunk/libc/nscd/connections.c
trunk/libc/nscd/nscd_helper.c
trunk/libc/po/pt_BR.po
trunk/libc/posix/bits/unistd.h
trunk/libc/posix/glob.c
trunk/libc/posix/tst-gnuglob.c
trunk/libc/socket/bits/socket2.h
trunk/libc/stdlib/Makefile
trunk/libc/stdlib/bits/stdlib.h
trunk/libc/stdlib/msort.c
trunk/libc/string/bits/string2.h
trunk/libc/string/bits/string3.h
trunk/libc/string/strcoll_l.c
trunk/libc/sunrpc/svc.c
trunk/libc/sysdeps/generic/ldsodefs.h
trunk/libc/sysdeps/gnu/netinet/tcp.h
trunk/libc/sysdeps/i386/dl-trampoline.S
trunk/libc/sysdeps/ieee754/dbl-64/e_lgamma_r.c
trunk/libc/sysdeps/ieee754/flt-32/e_lgammaf_r.c
trunk/libc/sysdeps/ieee754/ldbl-96/e_lgammal_r.c
trunk/libc/sysdeps/unix/sysv/linux/Makefile
trunk/libc/sysdeps/unix/sysv/linux/Versions
trunk/libc/timezone/africa
trunk/libc/timezone/antarctica
trunk/libc/timezone/asia
trunk/libc/timezone/australasia
trunk/libc/timezone/europe
trunk/libc/timezone/leapseconds
trunk/libc/timezone/northamerica
trunk/libc/timezone/southamerica
trunk/libc/timezone/zic.c
trunk/libc/timezone/zone.tab
trunk/libc/wcsmbs/bits/wchar2.h
trunk/libc/wcsmbs/wchar.h
Modified: trunk/libc/ChangeLog
==============================================================================
--- trunk/libc/ChangeLog (original)
+++ trunk/libc/ChangeLog Mon Oct 8 08:18:44 2007
@@ -1,3 +1,265 @@
+2007-10-07 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ [BZ #181]
+ * locale/C-time.c: Set week_1stday data to 19971201.
+ * locale/programs/ld-time.c (time_finish): Default for
+ first_workday is Monday.
+
+ [BZ #2633]
+ * wcsmbs/wchar.h: Move many C99 functions into std namespace.
+
+ [BZ #5103]
+ * posix/glob.c (glob): Recognize patterns starting \/.
+ * posix/tst-gnuglob.c (find_file): Handle absolute path names.
+ (main): Add test for pattern starting \/.
+
+ * misc/error.h: Use __const instead of const.
+ * misc/bits/error.h: Likewise.
+
+2007-10-07 Andreas Jaeger <aj@xxxxxxx>
+
+ * include/bits/error.h: New file.
+
+ * misc/bits/error.h (error_at_line): Fix prototype.
+
+2007-10-06 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ [BZ #3924]
+ * sysdeps/i386/dl-trampoline.S (_dl_runtime_profile): Fix a few
+ more little bugs in creating the stack frame when pltexit has to
+ be called.
+
+ * nscd/nscd_helper.c (__nscd_cache_search): Prevent endless loops.
+ * nscd/connections.c (verify_persistent_db): Recognize circular lists.
+
+ [BZ #4407]
+ * sysdeps/ieee754/dbl-64/e_lgamma_r.c: Fix *signgamp for -0.0.
+ * sysdeps/ieee754/flt-32/e_lgammaf_r.c: Likewise.
+ * sysdeps/ieee754/ldbl-96/e_lgammal_r.c: Likewise.
+ * math/libm-test.inc: Add test for this case.
+
+ [BZ #5010]
+ * sunrpc/svc.c (struct svc_callout): Add sc_mapped element.
+ (svc_register): Initialize sc_mapped. Set to TRUE if call to
+ map service succeeded.
+ (svc_is_mapped): New function.
+ (svc_unregister): Use it before trying to unmap service.
+
+2007-10-05 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * timezone/zic.c: Update from tzcode2007h.
+
+ [BZ #5063]
+ * timezone/africa: Update from tzdata2007h.
+ * timezone/antarctica: Likewise.
+ * timezone/asia: Likewise.
+ * timezone/australasia: Likewise.
+ * timezone/europe: Likewise.
+ * timezone/leapseconds: Likewise.
+ * timezone/northamerica: Likewise.
+ * timezone/southamerica: Likewise.
+ * timzeone/zone.tab: Likewise.
+
+ [BZ #5104]
+ * elf/do-lookup.h (do_lookup_x): Don't ignore STT_COMMON symbols.
+
+ [BZ #5113]
+ * string/bits/string2.h (__strdup): Cast parameters to calloc to
+ avoid warning with -Wconversion.
+ (__strndup): Likewise.
+ Half the patch by Christian Iseli <christian.iseli@xxxxxxxx>.
+
+ [BZ #5112]
+ * nscd/connections.c (restart): Don't resync if database is
+ disabled. Patch mostly by Brian De Wolf <bldewolf@xxxxxxxxxxxxx>.
+
+ * sysdeps/gnu/netinet/tcp.h: Define TCP_MD5SIG, TCP_MD5SIG_MAXKEYLEN,
+ struct tcp_md5sig. Extend struct tcp_info according to recent kernels.
+
+ * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add eventfd,
+ evetnfd_read, eventfd_write.
+ * sysdeps/unix/sysv/linux/eventfd.c: New file.
+ * sysdeps/unix/sysv/linux/eventfd_read.c: New file.
+ * sysdeps/unix/sysv/linux/eventfd_write.c: New file.
+ * sysdeps/unix/sysv/linux/sys/eventfd.h: New file.
+ * sysdeps/unix/sysv/linux/Versions: Export eventfd, eventfd_read,
+ eventfd_write for GLIBC_2.7.
+
+ * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add signalfd.
+ * sysdeps/unix/sysv/linux/signalfd.c: New file.
+ * sysdeps/unix/sysv/linux/sys/signalfd.h: New file.
+ * sysdeps/unix/sysv/linux/Versions: Export signalfd for GLIBC_2.7.
+
+2007-10-04 Jakub Jelinek <jakub@xxxxxxxxxx>
+
+ * stdlib/msort.c: Include stdint.h.
+ (struct msort_param): New type.
+ (msort_with_tmp): Use struct msort_param pointer for unchanging
+ parameters. Add optimized handling for several common sizes
+ and indirect sorting mode.
+ (qsort): Adjust msort_with_tmp callers. For big S use indirect
+ sorting.
+ Suggested by Belazougui Djamel .
+
+ * stdlib/Makefile (tests): Add tst-qsort2.
+ * stdlib/tst-qsort2.c: New test.
+
+2007-10-04 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * login/login_tty.c (login_tty): The Linux kernel can return EBUSY
+ for dup2 in case another thread races with the current one. Retry
+ in this case.
+
+ * misc/error.h: Remove support for use outside of libc. We have to
+ include <features.h> now. Include <bits/error.h> if possible.
+ * misc/bits/error.h: New file.
+
+2007-10-03 Jakub Jelinek <jakub@xxxxxxxxxx>
+
+ * string/bits/string3.h (memcpy, memmove, mempcpy, memset, bcopy,
+ bzero, strcpy, stpcpy, strncpy, strcat, strncat): Use
+ __extern_always_inline functions unconditionally, drop macros.
+
+ * misc/sys/cdefs.h (__REDIRECT_LDBL, __REDIRECT_NTH_LDBL): New macros.
+ * wcsmbs/bits/wchar2.h (__swprintf_alias, __vswprintf_alias): Use
+ __REDIRECT_NTH_LDBL macro rather than __REDIRECT_NTH.
+
+ * misc/sys/cdefs.h (__extern_always_inline): For GCC 4.3+
+ add __artificial__ attribute.
+
+2007-10-02 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * string/strcoll_l.c (STRCOLL): Correct handling of switching from
+ backward to forward direction.
+
+ * string/strcoll_l.c (STRCOLL): Correct test for alloca use.
+
+ [BZ #645]
+ * locale/programs/ld-collate.c (collate_finish): Compare against last
+ used section which is known to have rules defined.
+ (collate_read): After order_start, correctly record order of sections
+ and queue sections up.
+
+2007-10-01 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ [BZ #5071]
+ * malloc/malloc.c (mremap_chunk): Avoid resizing of new block has
+ the same number of pages.
+ Patch by Tomash Brechko <tomash.brechko@xxxxxxxxx>.
+
+ * locale/programs/ld-collate.c (collate_read): After initial copy
+ statement, continue in state 0.
+
+ * include/stdio_ext.h (__fsetlocking): Define as macro.
+
+2007-09-30 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * locale/programs/ld-collate.c (collate_finish): Compare all bytes
+ of section order.
+
+ * po/pt_BR.po: Fix typo.
+
+2007-09-29 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * iconvdata/Makefile (modules): Add ISO8859-9E.
+ (distribute): Add iso8859-9e.c.
+ (gen-8bit-gap-modules): Add iso8859-9e.
+ * iconvdata/iso8859-9e.c: New file.
+ * iconvdata/gconv-modules: Add entries for ISO-8859-9E.
+ * iconvdata/TESTS: Likewise.
+ * iconvdata/tst-tables.sh: Likewise.
+
+ * iconvdata/koi8-r.c (HAS_HOLES): Define to 0.
+
+ * locale/iso-639.def: Add several new entries.
+
+2007-09-24 Jakub Jelinek <jakub@xxxxxxxxxx>
+
+ * sysdeps/generic/ldsodefs.h (struct dl_scope_free_list): Store
+ void * pointers instead of struct link_map **.
+ (_dl_scope_free): Change argument type to void *.
+ * include/link.h (struct link_map): Change type of l_reldeps
+ to struct link_map_reldeps, move l_reldepsact into that
+ struct too.
+ * elf/dl-deps.c: Include atomic.h.
+ (_dl_map_object_deps): Only change l->l_initfini when it is
+ fully populated, use _dl_scope_free for freeing it. Optimize
+ removal of libs from reldeps by using l_reserved flag, when
+ some removal is needed, allocate a new list instead of
+ reallocating and free the old with _dl_scope_free. Adjust
+ for l_reldeps and l_reldepsact changes.
+ * elf/dl-lookup.c (add_dependency): Likewise. Reorganize to allow
+ searching in l_initfini and l_reldeps without holding dl_load_lock.
+ * elf/dl-fini.c (_dl_sort_fini): Adjust for l_reldeps and
+ l_reldepsact changes.
+ * elf/dl-close.c (_dl_close_worker): Likewise.
+ * elf/dl-open.c (_dl_scope_free): Change argument type to void *.
+
+2007-09-28 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * iconvdata/Makefile (modules): Add KOI8-RU.
+ (distribute): Add koi8-ru.c.
+ (gen-8bit-gap-modules): Add koi8-ru.
+ * iconvdata/koi8-ru.c: New file.
+ * iconvdata/gconv-modules: Add entries for KOI8-RU.
+ * iconvdata/TESTS: Likewise.
+ * iconvdata/tst-tables.sh: Likewise.
+
+ * iconvdata/koi8-r.c (HAS_HOLES): Define to 0.
+
+2007-09-26 Jakub Jelinek <jakub@xxxxxxxxxx>
+
+ * misc/sys/cdefs.h (__warndecl, __errordecl): For GCC 4.3+ define
+ with __warning__/__error__ attributes.
+ (__warnattr): Define.
+ * stdlib/bits/stdlib.h (__realpath_chk_warn, __ptsname_r_chk_warn,
+ __mbstowcs_chk_warn, __wcstombs_chk_warn): New aliases with
+ __warnattr.
+ (realpath, ptsname_r, mbstowcs, wcstombs): Call __*_chk_warn instead
+ of __*_chk if compile time detectable overflow is found.
+ * libio/bits/stdio2.h (__fgets_chk_warn, __fread_chk_warn,
+ __fgets_unlocked_chk_warn, __fread_unlocked_chk_warn): New aliases
+ with __warnattr.
+ (fgets, fread, fgets_unlocked, fread_unlocked): Call __*_chk_warn
+ instead of __*_chk if compile time detectable overflow is found.
+ (__gets_alias): Rename to...
+ (__gets_warn): ... this. Add __warnattr.
+ (gets): Call __gets_warn instead of __gets_alias.
+ * socket/bits/socket2.h (__recv_chk_warn, __recvfrom_chk_warn): New
+ aliases with __warnattr.
+ (recv, recvfrom): Call __*_chk_warn instead of __*_chk if compile
+ time detectable overflow is found.
+ * posix/bits/unistd.h (__read_chk_warn, __pread_chk_warn,
+ __pread64_chk_warn, __readlink_chk_warn, __readlinkat_chk_warn,
+ __getcwd_chk_warn, __confstr_chk_warn, __getgroups_chk_warn,
+ __ttyname_r_chk_warn, __getlogin_r_chk_warn, __gethostname_chk_warn,
+ __getdomainname_chk_warn): New aliases with __warnattr.
+ (read, pread, pread64, readlink, readlinkat, getcwd, confstr,
+ getgroups, ttyname_r, getlogin_r, gethostname, getdomainname): Call
+ __*_chk_warn instead of __*_chk if compile time detectable overflow
+ is found.
+ (__getgroups_chk): Rename argument to __listlen from listlen.
+ (__getwd_alias): Rename to...
+ (__getwd_warn): ... this. Add __warnattr.
+ (getwd): Call __getwd_warn instead of __getwd_alias.
+ * wcsmbs/bits/wchar2.h (__wmemcpy_chk_warn, __wmemmove_chk_warn,
+ __wmempcpy_chk_warn, __wmemset_chk_warn, __wcsncpy_chk_warn,
+ __wcpncpy_chk_warn, __fgetws_chk_warn, __fgetws_unlocked_chk_warn,
+ __mbsrtowcs_chk_warn, __wcsrtombs_chk_warn, __mbsnrtowcs_chk_warn,
+ __wcsnrtombs_chk_warn): New aliases with __warnattr.
+ (wmemcpy, wmemmove, wmempcpy, wmemset, mbsrtowcs, wcsrtombs,
+ mbsnrtowcs, wcsnrtombs): Call __*_chk_warn instead of __*_chk if
+ compile time detectable overflow is found.
+ (wcsncpy, wcpncpy): Likewise. For constant __n fix check whether
+ to use __*_chk or not.
+ (fgetws, fgetws_unlocked): Divide __bos by sizeof (wchar_t), both
+ in comparisons which function should be called and in __*_chk*
+ arguments. Call __*_chk_warn instead of __*_chk if compile time
+ detectable overflow is found.
+ (swprintf, vswprintf): Divide __bos by sizeof (wchar_t) in
+ __*_chk argument.
+ * debug/tst-chk1.c (do_test): Add a few more tests.
+
2007-09-24 Ulrich Drepper <drepper@xxxxxxxxxx>
[BZ #5058]
Modified: trunk/libc/NEWS
==============================================================================
--- trunk/libc/NEWS (original)
+++ trunk/libc/NEWS Mon Oct 8 08:18:44 2007
@@ -1,4 +1,4 @@
-GNU C Library NEWS -- history of user-visible changes. 2007-9-19
+GNU C Library NEWS -- history of user-visible changes. 2007-10-5
Copyright (C) 1992-2006, 2007 Free Software Foundation, Inc.
See the end for copying conditions.
@@ -24,6 +24,9 @@
* More CPU set manipulation functions. Implemented by Ulrich Drepper.
+* New Linux interfaces: signalfd, eventfd, eventfd_read, and eventfd_write.
+ Implemented by Ulrich Drepper.
+
* Handle private futexes in the NPTL implementation.
Implemented by Jakub Jelinek and Ulrich Drepper.
@@ -33,6 +36,13 @@
* Linux/x86-64 vDSO support. Implemented by Ulrich Drepper.
* SHA-256 and SHA-512 based password encryption.
+ Implemented by Ulrich Drepper.
+
+* New locales: ber_DZ, ber_MA, en_NG, fil_PH, fur_IT, fy_DE, ha_NG, ig_NG,
+ ik_CA, iu_CA, li_BE, li_NL, nds_DE, nds_NL, pap_AN, sc_IT, tk_TM, ug_CN,
+ yo_NG.
+
++ New iconv modules: MAC-CENTRALEUROPE, ISO-8859-9E, KOI8-RU.
Implemented by Ulrich Drepper.
Version 2.6
Modified: trunk/libc/debug/tst-chk1.c
==============================================================================
--- trunk/libc/debug/tst-chk1.c (original)
+++ trunk/libc/debug/tst-chk1.c Mon Oct 8 08:18:44 2007
@@ -317,6 +317,14 @@
CHK_FAIL_START
snprintf (buf + 8, l0 + 3, "%d", num2);
CHK_FAIL_END
+
+ CHK_FAIL_START
+ swprintf (wbuf + 8, 3, L"%d", num1);
+ CHK_FAIL_END
+
+ CHK_FAIL_START
+ swprintf (wbuf + 8, l0 + 3, L"%d", num1);
+ CHK_FAIL_END
# endif
memcpy (buf, str1 + 2, l0 + 9);
@@ -514,11 +522,15 @@
CHK_FAIL_END
CHK_FAIL_START
+ wmemcpy (wbuf + 9, L"abcdefghij", l0 + 10);
+ CHK_FAIL_END
+
+ CHK_FAIL_START
wmemmove (wbuf + 2, wbuf + 1, l0 + 9);
CHK_FAIL_END
CHK_FAIL_START
- wp = wmempcpy (wbuf + 6, L"abcde", l0 + 5);
+ wp = wmempcpy (wbuf + 6, L"abcde", l0 + 5);
CHK_FAIL_END
CHK_FAIL_START
@@ -535,6 +547,14 @@
CHK_FAIL_START
wcsncpy (wbuf + 7, L"X", l0 + 4);
+ CHK_FAIL_END
+
+ CHK_FAIL_START
+ wcsncpy (wbuf + 9, L"XABCDEFGH", 8);
+ CHK_FAIL_END
+
+ CHK_FAIL_START
+ wcpncpy (wbuf + 9, L"XABCDEFGH", 8);
CHK_FAIL_END
CHK_FAIL_START
Modified: trunk/libc/elf/dl-close.c
==============================================================================
--- trunk/libc/elf/dl-close.c (original)
+++ trunk/libc/elf/dl-close.c Mon Oct 8 08:18:44 2007
@@ -203,9 +203,9 @@
}
/* And the same for relocation dependencies. */
if (l->l_reldeps != NULL)
- for (unsigned int j = 0; j < l->l_reldepsact; ++j)
+ for (unsigned int j = 0; j < l->l_reldeps->act; ++j)
{
- struct link_map *jmap = l->l_reldeps[j];
+ struct link_map *jmap = l->l_reldeps->list[j];
if (jmap->l_idx != IDX_STILL_USED)
{
@@ -497,7 +497,7 @@
THREAD_GSCOPE_WAIT ();
/* Now we can free any queued old scopes. */
- struct dl_scope_free_list *fsl = GL(dl_scope_free_list);
+ struct dl_scope_free_list *fsl = GL(dl_scope_free_list);
if (fsl != NULL)
while (fsl->count > 0)
free (fsl->list[--fsl->count]);
Modified: trunk/libc/elf/dl-deps.c
==============================================================================
--- trunk/libc/elf/dl-deps.c (original)
+++ trunk/libc/elf/dl-deps.c Mon Oct 8 08:18:44 2007
@@ -1,5 +1,6 @@
/* Load the dependencies of a mapped object.
- Copyright (C) 1996-2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+ Copyright (C) 1996-2003, 2004, 2005, 2006, 2007
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -17,6 +18,7 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
+#include <atomic.h>
#include <assert.h>
#include <dlfcn.h>
#include <errno.h>
@@ -465,15 +467,17 @@
{
needed[nneeded++] = NULL;
- l->l_initfini = (struct link_map **)
+ struct link_map **l_initfini = (struct link_map **)
malloc ((2 * nneeded + 1) * sizeof needed[0]);
- if (l->l_initfini == NULL)
+ if (l_initfini == NULL)
_dl_signal_error (ENOMEM, map->l_name, NULL,
N_("cannot allocate dependency list"));
- l->l_initfini[0] = l;
- memcpy (&l->l_initfini[1], needed, nneeded * sizeof needed[0]);
- memcpy (&l->l_initfini[nneeded + 1], l->l_initfini,
+ l_initfini[0] = l;
+ memcpy (&l_initfini[1], needed, nneeded * sizeof needed[0]);
+ memcpy (&l_initfini[nneeded + 1], l_initfini,
nneeded * sizeof needed[0]);
+ atomic_write_barrier ();
+ l->l_initfini = l_initfini;
}
/* If we have no auxiliary objects just go on to the next map. */
@@ -487,25 +491,26 @@
if (errno == 0 && errno_saved != 0)
__set_errno (errno_saved);
+ struct link_map **old_l_initfini = NULL;
if (map->l_initfini != NULL && map->l_type == lt_loaded)
{
/* This object was previously loaded as a dependency and we have
a separate l_initfini list. We don't need it anymore. */
assert (map->l_searchlist.r_list == NULL);
- free (map->l_initfini);
+ old_l_initfini = map->l_initfini;
}
/* Store the search list we built in the object. It will be used for
searches in the scope of this object. */
- map->l_initfini =
+ struct link_map **l_initfini =
(struct link_map **) malloc ((2 * nlist + 1)
* sizeof (struct link_map *));
- if (map->l_initfini == NULL)
+ if (l_initfini == NULL)
_dl_signal_error (ENOMEM, map->l_name, NULL,
N_("cannot allocate symbol search list"));
- map->l_searchlist.r_list = &map->l_initfini[nlist + 1];
+ map->l_searchlist.r_list = &l_initfini[nlist + 1];
map->l_searchlist.r_nlist = nlist;
for (nlist = 0, runp = known; runp; runp = runp->next)
@@ -546,10 +551,10 @@
Filters not supported with LD_TRACE_PRELINKING"));
}
- cnt = _dl_build_local_scope (map->l_initfini, l);
+ cnt = _dl_build_local_scope (l_initfini, l);
assert (cnt <= nlist);
for (j = 0; j < cnt; j++)
- map->l_initfini[j]->l_reserved = 0;
+ l_initfini[j]->l_reserved = 0;
l->l_local_scope[0] =
(struct r_scope_elem *) malloc (sizeof (struct r_scope_elem)
@@ -561,35 +566,50 @@
l->l_local_scope[0]->r_nlist = cnt;
l->l_local_scope[0]->r_list =
(struct link_map **) (l->l_local_scope[0] + 1);
- memcpy (l->l_local_scope[0]->r_list, map->l_initfini,
+ memcpy (l->l_local_scope[0]->r_list, l_initfini,
cnt * sizeof (struct link_map *));
}
}
/* Maybe we can remove some relocation dependencies now. */
assert (map->l_searchlist.r_list[0] == map);
- for (i = 0; i < map->l_reldepsact; ++i)
- {
- unsigned int j;
-
- for (j = 1; j < nlist; ++j)
- if (map->l_searchlist.r_list[j] == map->l_reldeps[i])
+ struct link_map_reldeps *l_reldeps = NULL;
+ if (map->l_reldeps != NULL)
+ {
+ for (i = 1; i < nlist; ++i)
+ map->l_searchlist.r_list[i]->l_reserved = 1;
+
+ struct link_map **list = &map->l_reldeps->list[0];
+ for (i = 0; i < map->l_reldeps->act; ++i)
+ if (list[i]->l_reserved)
{
- /* A direct or transitive dependency is also on the list
- of relocation dependencies. Remove the latter. */
- for (j = i + 1; j < map->l_reldepsact; ++j)
- map->l_reldeps[j - 1] = map->l_reldeps[j];
-
- --map->l_reldepsact;
-
- /* Account for the '++i' performed by the 'for'. */
- --i;
- break;
+ /* Need to allocate new array of relocation dependencies. */
+ struct link_map_reldeps *l_reldeps;
+ l_reldeps = malloc (sizeof (*l_reldeps)
+ + map->l_reldepsmax
+ * sizeof (struct link_map *));
+ if (l_reldeps == NULL)
+ /* Bad luck, keep the reldeps duplicated between
+ map->l_reldeps->list and map->l_initfini lists. */
+ ;
+ else
+ {
+ unsigned int j = i;
+ memcpy (&l_reldeps->list[0], &list[0],
+ i * sizeof (struct link_map *));
+ for (i = i + 1; i < map->l_reldeps->act; ++i)
+ if (!list[i]->l_reserved)
+ l_reldeps->list[j++] = list[i];
+ l_reldeps->act = j;
+ }
}
+
+ for (i = 1; i < nlist; ++i)
+ map->l_searchlist.r_list[i]->l_reserved = 0;
}
/* Now determine the order in which the initialization has to happen. */
- memcpy (map->l_initfini, map->l_searchlist.r_list,
+ memcpy (l_initfini, map->l_searchlist.r_list,
nlist * sizeof (struct link_map *));
/* We can skip looking for the binary itself which is at the front
of the search list. Look through the list backward so that circular
@@ -602,7 +622,7 @@
/* Find the place in the initfini list where the map is currently
located. */
- for (j = 1; map->l_initfini[j] != l; ++j)
+ for (j = 1; l_initfini[j] != l; ++j)
;
/* Find all object for which the current one is a dependency and
@@ -611,19 +631,18 @@
{
struct link_map **runp;
- runp = map->l_initfini[k]->l_initfini;
+ runp = l_initfini[k]->l_initfini;
if (runp != NULL)
{
while (*runp != NULL)
if (__builtin_expect (*runp++ == l, 0))
{
- struct link_map *here = map->l_initfini[k];
+ struct link_map *here = l_initfini[k];
/* Move it now. */
- memmove (&map->l_initfini[j] + 1,
- &map->l_initfini[j],
+ memmove (&l_initfini[j] + 1, &l_initfini[j],
(k - j) * sizeof (struct link_map *));
- map->l_initfini[j] = here;
+ l_initfini[j] = here;
/* Don't insert further matches before the last
entry moved to the front. */
@@ -635,7 +654,18 @@
}
}
/* Terminate the list of dependencies. */
- map->l_initfini[nlist] = NULL;
+ l_initfini[nlist] = NULL;
+ atomic_write_barrier ();
+ map->l_initfini = l_initfini;
+ if (l_reldeps != NULL)
+ {
+ atomic_write_barrier ();
+ void *old_l_reldeps = map->l_reldeps;
+ map->l_reldeps = l_reldeps;
+ _dl_scope_free (old_l_reldeps);
+ }
+ if (old_l_initfini != NULL)
+ _dl_scope_free (old_l_initfini);
if (errno_reason)
_dl_signal_error (errno_reason == -1 ? 0 : errno_reason, objname,
Modified: trunk/libc/elf/dl-fini.c
==============================================================================
--- trunk/libc/elf/dl-fini.c (original)
+++ trunk/libc/elf/dl-fini.c Mon Oct 8 08:18:44 2007
@@ -82,8 +82,8 @@
if (__builtin_expect (maps[k]->l_reldeps != NULL, 0))
{
- unsigned int m = maps[k]->l_reldepsact;
- struct link_map **relmaps = maps[k]->l_reldeps;
+ unsigned int m = maps[k]->l_reldeps->act;
+ struct link_map **relmaps = &maps[k]->l_reldeps->list[0];
while (m-- > 0)
{
Modified: trunk/libc/elf/dl-lookup.c
==============================================================================
--- trunk/libc/elf/dl-lookup.c (original)
+++ trunk/libc/elf/dl-lookup.c Mon Oct 8 08:18:44 2007
@@ -88,20 +88,50 @@
internal_function
add_dependency (struct link_map *undef_map, struct link_map *map, int flags)
{
- struct link_map **list;
struct link_map *runp;
- unsigned int act;
unsigned int i;
int result = 0;
- unsigned long long int serial;
/* Avoid self-references and references to objects which cannot be
unloaded anyway. */
if (undef_map == map)
return 0;
+ /* Avoid references to objects which cannot be unloaded anyway. */
+ assert (map->l_type == lt_loaded);
+ if ((map->l_flags_1 & DF_1_NODELETE) != 0)
+ return 0;
+
+ struct link_map_reldeps *l_reldeps
+ = atomic_forced_read (undef_map->l_reldeps);
+
+ /* Make sure l_reldeps is read before l_initfini. */
+ atomic_read_barrier ();
+
+ /* Determine whether UNDEF_MAP already has a reference to MAP. First
+ look in the normal dependencies. */
+ struct link_map **l_initfini = atomic_forced_read (undef_map->l_initfini);
+ if (l_initfini != NULL)
+ {
+ for (i = 0; l_initfini[i] != NULL; ++i)
+ if (l_initfini[i] == map)
+ return 0;
+ }
+
+ /* No normal dependency. See whether we already had to add it
+ to the special list of dynamic dependencies. */
+ unsigned int l_reldepsact = 0;
+ if (l_reldeps != NULL)
+ {
+ struct link_map **list = &l_reldeps->list[0];
+ l_reldepsact = l_reldeps->act;
+ for (i = 0; i < l_reldepsact; ++i)
+ if (list[i] == map)
+ return 0;
+ }
+
/* Save serial number of the target MAP. */
- serial = map->l_serial;
+ unsigned long long serial = map->l_serial;
/* Make sure nobody can unload the object while we are at it. */
if (__builtin_expect (flags & DL_LOOKUP_GSCOPE_LOCK, 0))
@@ -110,38 +140,52 @@
here, that can result in ABBA deadlock. */
THREAD_GSCOPE_RESET_FLAG ();
__rtld_lock_lock_recursive (GL(dl_load_lock));
- THREAD_GSCOPE_SET_FLAG ();
/* While MAP value won't change, after THREAD_GSCOPE_RESET_FLAG ()
it can e.g. point to unallocated memory. So avoid the optimizer
treating the above read from MAP->l_serial as ensurance it
can safely dereference it. */
map = atomic_forced_read (map);
+
+ /* From this point on it is unsafe to dereference MAP, until it
+ has been found in one of the lists. */
+
+ /* Redo the l_initfini check in case undef_map's l_initfini
+ changed in the mean time. */
+ if (undef_map->l_initfini != l_initfini
+ && undef_map->l_initfini != NULL)
+ {
+ l_initfini = undef_map->l_initfini;
+ for (i = 0; l_initfini[i] != NULL; ++i)
+ if (l_initfini[i] == map)
+ goto out_check;
+ }
+
+ /* Redo the l_reldeps check if undef_map's l_reldeps changed in
+ the mean time. */
+ if (undef_map->l_reldeps != NULL)
+ {
+ if (undef_map->l_reldeps != l_reldeps)
+ {
+ struct link_map **list = &undef_map->l_reldeps->list[0];
+ l_reldepsact = undef_map->l_reldeps->act;
+ for (i = 0; i < l_reldepsact; ++i)
+ if (list[i] == map)
+ goto out_check;
+ }
+ else if (undef_map->l_reldeps->act > l_reldepsact)
+ {
+ struct link_map **list
+ = &undef_map->l_reldeps->list[0];
+ i = l_reldepsact;
+ l_reldepsact = undef_map->l_reldeps->act;
+ for (; i < l_reldepsact; ++i)
+ if (list[i] == map)
+ goto out_check;
+ }
+ }
}
else
__rtld_lock_lock_recursive (GL(dl_load_lock));
-
- /* From this point on it is unsafe to dereference MAP, until it
- has been found in one of the lists. */
-
- /* Determine whether UNDEF_MAP already has a reference to MAP. First
- look in the normal dependencies. */
- if (undef_map->l_initfini != NULL)
- {
- list = undef_map->l_initfini;
-
- for (i = 0; list[i] != NULL; ++i)
- if (list[i] == map)
- goto out_check;
- }
-
- /* No normal dependency. See whether we already had to add it
- to the special list of dynamic dependencies. */
- list = undef_map->l_reldeps;
- act = undef_map->l_reldepsact;
-
- for (i = 0; i < act; ++i)
- if (list[i] == map)
- goto out_check;
/* The object is not yet in the dependency list. Before we add
it make sure just one more time the object we are about to
@@ -161,8 +205,8 @@
if (map->l_serial != serial)
goto out_check;
- /* Avoid references to objects which cannot be unloaded anyway. */
- assert (map->l_type == lt_loaded);
+ /* Redo the NODELETE check, as when dl_load_lock wasn't held
+ yet this could have changed. */
if ((map->l_flags_1 & DF_1_NODELETE) != 0)
goto out;
@@ -177,33 +221,46 @@
}
/* Add the reference now. */
- if (__builtin_expect (act >= undef_map->l_reldepsmax, 0))
+ if (__builtin_expect (l_reldepsact >= undef_map->l_reldepsmax, 0))
{
/* Allocate more memory for the dependency list. Since this
can never happen during the startup phase we can use
`realloc'. */
- void *newp;
-
- undef_map->l_reldepsmax += 5;
- newp = realloc (undef_map->l_reldeps,
- undef_map->l_reldepsmax
- * sizeof (struct link_map *));
-
- if (__builtin_expect (newp != NULL, 1))
- undef_map->l_reldeps = (struct link_map **) newp;
+ struct link_map_reldeps *newp;
+ unsigned int max
+ = undef_map->l_reldepsmax ? undef_map->l_reldepsmax * 2 : 10;
+
+ newp = malloc (sizeof (*newp) + max * sizeof (struct link_map *));
+ if (newp == NULL)
+ {
+ /* If we didn't manage to allocate memory for the list this is
+ no fatal problem. We simply make sure the referenced object
+ cannot be unloaded. This is semantically the correct
+ behavior. */
+ map->l_flags_1 |= DF_1_NODELETE;
+ goto out;
+ }
else
- /* Correct the addition. */
- undef_map->l_reldepsmax -= 5;
- }
-
- /* If we didn't manage to allocate memory for the list this is
- no fatal mistake. We simply make sure the referenced object
- cannot be unloaded. This is semantically the correct
- behavior. */
- if (__builtin_expect (act < undef_map->l_reldepsmax, 1))
- undef_map->l_reldeps[undef_map->l_reldepsact++] = map;
+ {
+ if (l_reldepsact)
+ memcpy (&newp->list[0], &undef_map->l_reldeps->list[0],
+ l_reldepsact * sizeof (struct link_map *));
+ newp->list[l_reldepsact] = map;
+ newp->act = l_reldepsact + 1;
+ atomic_write_barrier ();
+ void *old = undef_map->l_reldeps;
+ undef_map->l_reldeps = newp;
+ undef_map->l_reldepsmax = max;
+ if (old)
+ _dl_scope_free (old);
+ }
+ }
else
- map->l_flags_1 |= DF_1_NODELETE;
+ {
+ undef_map->l_reldeps->list[l_reldepsact] = map;
+ atomic_write_barrier ();
+ undef_map->l_reldeps->act = l_reldepsact + 1;
+ }
/* Display information if we are debugging. */
if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0))
@@ -222,6 +279,9 @@
out:
/* Release the lock. */
__rtld_lock_unlock_recursive (GL(dl_load_lock));
+
+ if (__builtin_expect (flags & DL_LOOKUP_GSCOPE_LOCK, 0))
+ THREAD_GSCOPE_SET_FLAG ();
return result;
Modified: trunk/libc/elf/dl-open.c
==============================================================================
--- trunk/libc/elf/dl-open.c (original)
+++ trunk/libc/elf/dl-open.c Mon Oct 8 08:18:44 2007
@@ -166,7 +166,7 @@
}
int
-_dl_scope_free (struct r_scope_elem **old)
+_dl_scope_free (void *old)
{
struct dl_scope_free_list *fsl;
#define DL_SCOPE_FREE_LIST_SIZE (sizeof (fsl->list) / sizeof (fsl->list[0]))
Modified: trunk/libc/elf/do-lookup.h
==============================================================================
--- trunk/libc/elf/do-lookup.h (original)
+++ trunk/libc/elf/do-lookup.h Mon Oct 8 08:18:44 2007
@@ -87,8 +87,9 @@
return NULL;
if (__builtin_expect (ELFW(ST_TYPE) (sym->st_info) > STT_FUNC
+ && ELFW(ST_TYPE) (sym->st_info) != STT_COMMON
&& ELFW(ST_TYPE) (sym->st_info) != STT_TLS, 0))
- /* Ignore all but STT_NOTYPE, STT_OBJECT and STT_FUNC
+ /* Ignore all but STT_NOTYPE, STT_OBJECT, STT_FUNC, and STT_COMMON
entries (and STT_TLS if TLS is supported) since these
are no code/data definitions. */
return NULL;
Modified: trunk/libc/iconvdata/Makefile
==============================================================================
--- trunk/libc/iconvdata/Makefile (original)
+++ trunk/libc/iconvdata/Makefile Mon Oct 8 08:18:44 2007
@@ -62,7 +62,7 @@
IBM1149 IBM1166 IBM1167 IBM4517 IBM4899 IBM4909 IBM4971 \
IBM5347 IBM9030 IBM9066 IBM9448 IBM12712 IBM16804 \
IBM1364 IBM1371 IBM1388 IBM1390 IBM1399 ISO_11548-1 MIK BRF \
- MAC-CENTRALEUROPE
+ MAC-CENTRALEUROPE KOI8-RU ISO8859-9E
modules.so := $(addsuffix .so, $(modules-y))
@@ -169,7 +169,7 @@
inis-cyrillic.c iso-2022-jp.c iso-2022-kr.c iso646.c \
iso8859-1.c iso8859-2.c iso8859-3.c iso8859-4.c iso8859-5.c \
iso8859-6.c iso8859-7.c iso8859-8.c iso8859-9.c iso8859-10.c \
- iso8859-11.c iso8859-13.c iso8859-14.c \
+ iso8859-11.c iso8859-13.c iso8859-14.c iso8859-9e.c \
iso8859-15.c iso_2033.c iso_5427-ext.c iso_5427.c iso_5428.c \
iso_6937.c iso_6937-2.c iso_10367-box.c jis0201.c jis0201.h \
jis0208.c jis0208.h jis0212.c jis0212.h johab.c koi-8.c \
@@ -225,7 +225,8 @@
ebcdic-es-s ebcdic-fi-se ebcdic-fi-se-a ebcdic-fr \
ebcdic-is-friss ebcdic-it ebcdic-pt ebcdic-uk ebcdic-us \
ibm037 ibm038 ibm274 ibm275 ibm423 ibm500 ibm870 ibm871 \
- ibm891 ibm903 ibm904 ibm905 ibm1047 iso8859-16 viscii
+ ibm891 ibm903 ibm904 ibm905 ibm1047 iso8859-16 viscii \
+ iso8859-9e
gen-8bit-gap-modules := koi8-r latin-greek latin-greek-1 ibm256 ibm273 \
ibm277 ibm278 ibm280 ibm281 ibm284 ibm285 ibm290 \
@@ -243,7 +244,7 @@
iso-ir-197 tis-620 koi8-u ibm874 cp10007 koi8-t \
georgian-ps georgian-academy iso-ir-209 mac-sami \
iso8859-11 ibm866nav pt154 rk1048 mik brf \
- mac-centraleurope
+ mac-centraleurope koi8-ru
gen-special-modules := iso8859-7jp
Modified: trunk/libc/iconvdata/TESTS
==============================================================================
--- trunk/libc/iconvdata/TESTS (original)
+++ trunk/libc/iconvdata/TESTS Mon Oct 8 08:18:44 2007
@@ -39,6 +39,7 @@
ISO-8859-7 ISO-8859-7 Y UTF8
ISO-8859-8 ISO-8859-8 Y UTF8
ISO-8859-9 ISO-8859-9 Y UTF8
+ISO-8859-9E ISO-8859-9E Y UTF8
ISO-8859-10 ISO-8859-10 Y UCS-2BE UTF8
ISO-8859-14 ISO-8859-14 Y UTF8
ISO-8859-15 ISO-8859-15 Y UTF8
@@ -169,3 +170,4 @@
BRF BRF - UTF8
MAC-SAMI MAC-SAMI Y UTF8
MAC-CENTRALEUROPE MAC-CENTRALEUROPE Y UTF8
+KOI8-RU KOI8-RU Y UTF8
Modified: trunk/libc/iconvdata/gconv-modules
==============================================================================
--- trunk/libc/iconvdata/gconv-modules (original)
+++ trunk/libc/iconvdata/gconv-modules Mon Oct 8 08:18:44 2007
@@ -1916,3 +1916,14 @@
alias CP1282// MAC-CENTRALEUROPE//
module MAC-CENTRALEUROPE// INTERNAL MAC-CENTRALEUROPE 1
module INTERNAL MAC-CENTRALEUROPE// MAC-CENTRALEUROPE 1
+
+# from to module cost
+module KOI8-RU// INTERNAL KOI8-RU 1
+module INTERNAL KOI8-RU// KOI8-RU 1
+
+# from to module cost
+alias ISO_8859-9E// ISO-8859-9E//
+alias ISO8859-9E// ISO-8859-9E//
+alias ISO88599E// ISO-8859-9E//
+module ISO-8859-9E// INTERNAL ISO8859-9E 1
+module INTERNAL ISO-8859-9E// ISO8859-9E 1
Modified: trunk/libc/iconvdata/koi8-r.c
==============================================================================
--- trunk/libc/iconvdata/koi8-r.c (original)
+++ trunk/libc/iconvdata/koi8-r.c Mon Oct 8 08:18:44 2007
@@ -1,5 +1,5 @@
/* Conversion from and to KOI8-R.
- Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998, 2007 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1997.
@@ -24,6 +24,6 @@
#define TABLES <koi8-r.h>
#define CHARSET_NAME "KOI8-R//"
-#define HAS_HOLES 1 /* Not all 256 character are defined. */
+#define HAS_HOLES 0 /* All 256 character are defined. */
#include <8bit-gap.c>
Modified: trunk/libc/iconvdata/tst-tables.sh
==============================================================================
--- trunk/libc/iconvdata/tst-tables.sh (original)
+++ trunk/libc/iconvdata/tst-tables.sh Mon Oct 8 08:18:44 2007
@@ -66,6 +66,7 @@
ISO-8859-7
ISO-8859-8
ISO-8859-9
+ ISO-8859-9E
ISO-8859-10
ISO-8859-11
ISO-8859-13
@@ -211,6 +212,7 @@
MIK
BRF
MAC-CENTRALEUROPE
+ KOI8-RU
#
# Multibyte encodings come here
#
Modified: trunk/libc/include/link.h
==============================================================================
--- trunk/libc/include/link.h (original)
+++ trunk/libc/include/link.h Mon Oct 8 08:18:44 2007
@@ -240,8 +240,11 @@
/* List of the dependencies introduced through symbol binding. */
unsigned int l_reldepsmax;
- unsigned int l_reldepsact;
- struct link_map **l_reldeps;
+ struct link_map_reldeps
+ {
+ unsigned int act;
+ struct link_map *list[];
+ } *l_reldeps;
/* Various flag words. */
ElfW(Word) l_feature_1;
Modified: trunk/libc/include/stdio_ext.h
==============================================================================
--- trunk/libc/include/stdio_ext.h (original)
+++ trunk/libc/include/stdio_ext.h Mon Oct 8 08:18:44 2007
@@ -4,8 +4,19 @@
extern int __fsetlocking_internal (FILE *__fp, int __type) attribute_hidden;
-#ifndef NOT_IN_libc
-# define __fsetlocking(fp, type) INTUSE(__fsetlocking) (fp, type)
-#endif
+#define __fsetlocking(fp, type) \
+ ({ int __result = ((fp->_flags & _IO_USER_LOCK) \
+ ? FSETLOCKING_BYCALLER : FSETLOCKING_INTERNAL); \
+ \
+ if (type != FSETLOCKING_QUERY) \
+ { \
+ fp->_flags &= ~_IO_USER_LOCK; \
+ if (type == FSETLOCKING_BYCALLER) \
+ fp->_flags |= _IO_USER_LOCK; \
+ } \
+ \
+ __result; \
+ })
+
#endif
Modified: trunk/libc/libio/bits/stdio2.h
==============================================================================
--- trunk/libc/libio/bits/stdio2.h (original)
+++ trunk/libc/libio/bits/stdio2.h Mon Oct 8 08:18:44 2007
@@ -131,14 +131,16 @@
#endif
extern char *__gets_chk (char *__str, size_t) __wur;
-extern char *__REDIRECT (__gets_alias, (char *__str), gets) __wur;
+extern char *__REDIRECT (__gets_warn, (char *__str), gets)
+ __wur __warnattr ("please use fgets or getline instead, gets can't "
+ "specify buffer size");
__extern_always_inline __wur char *
gets (char *__str)
{
if (__bos (__str) != (size_t) -1)
return __gets_chk (__str, __bos (__str));
- return __gets_alias (__str);
+ return __gets_warn (__str);
}
extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n,
@@ -146,13 +148,23 @@
extern char *__REDIRECT (__fgets_alias,
(char *__restrict __s, int __n,
FILE *__restrict __stream), fgets) __wur;
+extern char *__REDIRECT (__fgets_chk_warn,
+ (char *__restrict __s, size_t __size, int __n,
+ FILE *__restrict __stream), __fgets_chk)
+ __wur __warnattr ("fgets called with bigger size than length "
+ "of destination buffer");
__extern_always_inline __wur char *
fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
{
- if (__bos (__s) != (size_t) -1
- && (!__builtin_constant_p (__n) || (size_t) __n > __bos (__s)))
- return __fgets_chk (__s, __bos (__s), __n, __stream);
+ if (__bos (__s) != (size_t) -1)
+ {
+ if (!__builtin_constant_p (__n) || __n <= 0)
+ return __fgets_chk (__s, __bos (__s), __n, __stream);
+
+ if ((size_t) __n > __bos (__s))
+ return __fgets_chk_warn (__s, __bos (__s), __n, __stream);
+ }
return __fgets_alias (__s, __n, __stream);
}
@@ -163,17 +175,28 @@
(void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __stream),
fread) __wur;
+extern size_t __REDIRECT (__fread_chk_warn,
+ (void *__restrict __ptr, size_t __ptrlen,
+ size_t __size, size_t __n,
+ FILE *__restrict __stream),
+ __fread_chk)
+ __wur __warnattr ("fread called with bigger size * nmemb than length "
+ "of destination buffer");
__extern_always_inline __wur size_t
fread (void *__restrict __ptr, size_t __size, size_t __n,
FILE *__restrict __stream)
{
- if (__bos0 (__ptr) != (size_t) -1
- && (!__builtin_constant_p (__size)
+ if (__bos0 (__ptr) != (size_t) -1)
+ {
+ if (!__builtin_constant_p (__size)
|| !__builtin_constant_p (__n)
- || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2))
- || __size * __n > __bos0 (__ptr)))
- return __fread_chk (__ptr, __bos0 (__ptr), __size, __n, __stream);
+ || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2)))
+ return __fread_chk (__ptr, __bos0 (__ptr), __size, __n, __stream);
+
+ if (__size * __n > __bos0 (__ptr))
+ return __fread_chk_warn (__ptr, __bos0 (__ptr), __size, __n, __stream);
+ }
return __fread_alias (__ptr, __size, __n, __stream);
}
@@ -183,13 +206,23 @@
extern char *__REDIRECT (__fgets_unlocked_alias,
(char *__restrict __s, int __n,
FILE *__restrict __stream), fgets_unlocked) __wur;
+extern char *__REDIRECT (__fgets_unlocked_chk_warn,
+ (char *__restrict __s, size_t __size, int __n,
+ FILE *__restrict __stream), __fgets_unlocked_chk)
+ __wur __warnattr ("fgets_unlocked called with bigger size than length "
+ "of destination buffer");
__extern_always_inline __wur char *
fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream)
{
- if (__bos (__s) != (size_t) -1
- && (!__builtin_constant_p (__n) || (size_t) __n > __bos (__s)))
- return __fgets_unlocked_chk (__s, __bos (__s), __n, __stream);
+ if (__bos (__s) != (size_t) -1)
+ {
+ if (!__builtin_constant_p (__n) || __n <= 0)
+ return __fgets_unlocked_chk (__s, __bos (__s), __n, __stream);
+
+ if ((size_t) __n > __bos (__s))
+ return __fgets_unlocked_chk_warn (__s, __bos (__s), __n, __stream);
+ }
return __fgets_unlocked_alias (__s, __n, __stream);
}
#endif
@@ -203,17 +236,30 @@
(void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __stream),
fread_unlocked) __wur;
+extern size_t __REDIRECT (__fread_unlocked_chk_warn,
+ (void *__restrict __ptr, size_t __ptrlen,
+ size_t __size, size_t __n,
+ FILE *__restrict __stream),
+ __fread_unlocked_chk)
+ __wur __warnattr ("fread_unlocked called with bigger size * nmemb than "
+ "length of destination buffer");
__extern_always_inline __wur size_t
fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n,
FILE *__restrict __stream)
{
- if (__bos0 (__ptr) != (size_t) -1
- && (!__builtin_constant_p (__size)
+ if (__bos0 (__ptr) != (size_t) -1)
+ {
+ if (!__builtin_constant_p (__size)
|| !__builtin_constant_p (__n)
- || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2))
- || __size * __n > __bos0 (__ptr)))
- return __fread_unlocked_chk (__ptr, __bos0 (__ptr), __size, __n, __stream);
+ || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2)))
+ return __fread_unlocked_chk (__ptr, __bos0 (__ptr), __size, __n,
+ __stream);
+
+ if (__size * __n > __bos0 (__ptr))
+ return __fread_unlocked_chk_warn (__ptr, __bos0 (__ptr), __size, __n,
+ __stream);
+ }
# ifdef __USE_EXTERN_INLINES
if (__builtin_constant_p (__size)
Modified: trunk/libc/locale/C-time.c
==============================================================================
--- trunk/libc/locale/C-time.c (original)
+++ trunk/libc/locale/C-time.c Mon Oct 8 08:18:44 2007
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-2000, 2001, 2002, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2002, 2004, 2007 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxx>, 1995.
@@ -134,7 +134,7 @@
{ .wstr = (const uint32_t *) L"" },
{ .wstr = (const uint32_t *) L"" },
{ .string = "\7" },
- { .word = 19971130 },
+ { .word = 19971201 },
{ .string = "\4" },
{ .string = "\7" },
{ .string = "\1" },
Modified: trunk/libc/locale/iso-639.def
==============================================================================
--- trunk/libc/locale/iso-639.def (original)
+++ trunk/libc/locale/iso-639.def Mon Oct 8 08:18:44 2007
@@ -17,13 +17,16 @@
DEFINE_LANGUAGE_CODE3 ("Afrihili", afh, afh)
DEFINE_LANGUAGE_CODE ("Afrikaans", af, afr, afr)
DEFINE_LANGUAGE_CODE3 ("Afro-Asiatic (Other)", afa, afa)
+DEFINE_LANGUAGE_CODE3 ("Ainu", ain, ain)
DEFINE_LANGUAGE_CODE ("Akan", ak, aka, aka)
DEFINE_LANGUAGE_CODE3 ("Akkadian", akk, akk)
DEFINE_LANGUAGE_CODE ("Albanian", sq, sqi, alb)
DEFINE_LANGUAGE_CODE3 ("Aleut", ale, ale)
DEFINE_LANGUAGE_CODE3 ("Algonquian languages", alg, alg)
+DEFINE_LANGUAGE_CODE3 ("Southern Altai", alt, alt)
DEFINE_LANGUAGE_CODE3 ("Altaic (Other)", tut, tut)
DEFINE_LANGUAGE_CODE ("Amharic", am, amh, amh)
+DEFINE_LANGUAGE_CODE3 ("Angika", anp, anp)
DEFINE_LANGUAGE_CODE3 ("Apache languages", apa, apa)
DEFINE_LANGUAGE_CODE ("Arabic", ar, ara, ara)
DEFINE_LANGUAGE_CODE ("Aragonese", an, arg, arg)
@@ -32,6 +35,7 @@
DEFINE_LANGUAGE_CODE3 ("Araucanian", arn, arn)
DEFINE_LANGUAGE_CODE3 ("Arawak", arw, arw)
DEFINE_LANGUAGE_CODE ("Armenian", hy, hye, arm)
+DEFINE_LANGUAGE_CODE3 ("Aromanian; Arumanian; Macedo-Romanian", rup, rup)
DEFINE_LANGUAGE_CODE3 ("Artificial (Other)", art, art)
DEFINE_LANGUAGE_CODE ("Assamese", as, asm, asm)
DEFINE_LANGUAGE_CODE3 ("Asturian; Bable", ast, ast)
@@ -146,7 +150,9 @@
DEFINE_LANGUAGE_CODE3 ("French, Middle (ca.1400-1800)", frm, frm)
DEFINE_LANGUAGE_CODE3 ("French, Old (842-ca.1400)", fro, fro)
DEFINE_LANGUAGE_CODE ("French", fr, fra, fre)
-DEFINE_LANGUAGE_CODE ("Frisian", fy, fry, fry)
+DEFINE_LANGUAGE_CODE3 ("Northern Frisian", frr, frr)
+DEFINE_LANGUAGE_CODE3 ("Eastern Frisian", frs, frs)
+DEFINE_LANGUAGE_CODE ("Western Frisian", fy, fry, fry)
DEFINE_LANGUAGE_CODE3 ("Friulian", fur, fur)
DEFINE_LANGUAGE_CODE ("Fulah", ff, ful, ful)
DEFINE_LANGUAGE_CODE ("Gaelic; Scottish Gaelic", gd, gla, gla)
@@ -161,6 +167,7 @@
DEFINE_LANGUAGE_CODE3 ("German, Old High (ca.750-1050)", goh, goh)
DEFINE_LANGUAGE_CODE3 ("Germanic (Other)", gem, gem)
DEFINE_LANGUAGE_CODE ("German", de, deu, ger)
+DEFINE_LANGUAGE_CODE3 ("Swiss German; Alemannic", gsw, gsw)
DEFINE_LANGUAGE_CODE3 ("Gilbertese", gil, gil)
DEFINE_LANGUAGE_CODE3 ("Gondi", gon, gon)
DEFINE_LANGUAGE_CODE3 ("Gorontalo", gor, gor)
@@ -220,6 +227,7 @@
DEFINE_LANGUAGE_CODE ("Kanuri", kr, kau, kau)
DEFINE_LANGUAGE_CODE3 ("Kara-Kalpak", kaa, kaa)
DEFINE_LANGUAGE_CODE3 ("Karachay-Balkar", krc, krc)
+DEFINE_LANGUAGE_CODE3 ("Karelian", krl, krl)
DEFINE_LANGUAGE_CODE3 ("Karen", kar, kar)
DEFINE_LANGUAGE_CODE ("Kashmiri", ks, kas, kas)
DEFINE_LANGUAGE_CODE3 ("Kashubian", csb, csb)
@@ -317,6 +325,7 @@
DEFINE_LANGUAGE_CODE3 ("Niger-Kordofanian (Other)", nic, nic)
DEFINE_LANGUAGE_CODE3 ("Nilo-Saharan (Other)", ssa, ssa)
DEFINE_LANGUAGE_CODE3 ("Niuean", niu, niu)
+DEFINE_LANGUAGE_CODE3 ("N'Ko", nqo, nqo)
DEFINE_LANGUAGE_CODE3 ("Nogai", nog, nog)
DEFINE_LANGUAGE_CODE3 ("Norse, Old", non, non)
DEFINE_LANGUAGE_CODE3 ("North American Indian", nai, nai)
@@ -405,6 +414,7 @@
DEFINE_LANGUAGE_CODE3 ("South American Indian (Other)", sai, sai)
DEFINE_LANGUAGE_CODE3 ("Southern Sami", sma, sma)
DEFINE_LANGUAGE_CODE ("Spanish; Castilian", es, spa, spa)
+DEFINE_LANGUAGE_CODE3 ("Sranan Tongo", srn, srn)
DEFINE_LANGUAGE_CODE3 ("Sukuma", suk, suk)
DEFINE_LANGUAGE_CODE3 ("Sumerian", sux, sux)
DEFINE_LANGUAGE_CODE ("Sundanese", su, sun, sun)
@@ -412,6 +422,7 @@
DEFINE_LANGUAGE_CODE ("Swahili", sw, swa, swa)
DEFINE_LANGUAGE_CODE ("Swati", ss, ssw, ssw)
DEFINE_LANGUAGE_CODE ("Swedish", sv, swe, swe)
+DEFINE_LANGUAGE_CODE3 ("Classical Syriac", syc, syc)
DEFINE_LANGUAGE_CODE3 ("Syriac", syr, syr)
DEFINE_LANGUAGE_CODE ("Tagalog", tl, tgl, tgl)
DEFINE_LANGUAGE_CODE ("Tahitian", ty, tah, tah)
@@ -479,3 +490,4 @@
DEFINE_LANGUAGE_CODE ("Zhuang; Chuang", za, zha, zha)
DEFINE_LANGUAGE_CODE ("Zulu", zu, zul, zul)
DEFINE_LANGUAGE_CODE3 ("Zuni", zun, zun)
+DEFINE_LANGUAGE_CODE3 ("Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki", zza, zza)
Modified: trunk/libc/locale/programs/ld-collate.c
==============================================================================
--- trunk/libc/locale/programs/ld-collate.c (original)
+++ trunk/libc/locale/programs/ld-collate.c Mon Oct 8 08:18:44 2007
@@ -1552,9 +1552,10 @@
or in none. */
for (i = 0; i < nrules; ++i)
for (sect = collate->sections; sect != NULL; sect = sect->next)
- if (sect->rules != NULL
+ if (sect != collate->current_section
+ && sect->rules != NULL
&& ((sect->rules[i] & sort_position)
- != (collate->sections->rules[i] & sort_position)))
+ != (collate->current_section->rules[i] & sort_position)))
{
WITH_CUR_LOCALE (error (0, 0, _("\
%s: `position' must be used for a specific level in all sections or none"),
@@ -1846,7 +1847,8 @@
while (osect != sect)
if (osect->rules != NULL
- && memcmp (osect->rules, sect->rules, nrules) == 0)
+ && memcmp (osect->rules, sect->rules,
+ nrules * sizeof (osect->rules[0])) == 0)
break;
else
osect = osect->next;
@@ -2515,7 +2517,6 @@
if (nowtok == tok_copy)
{
- state = 2;
now = lr_token (ldfile, charmap, result, NULL, verbose);
if (now->tok != tok_string)
{
@@ -3070,13 +3071,16 @@
{
/* Insert sp in the collate->sections list,
right after collate->current_section. */
- if (collate->current_section == NULL)
- collate->current_section = sp;
- else
+ if (collate->current_section != NULL)
{
sp->next = collate->current_section->next;
collate->current_section->next = sp;
}
+ else if (collate->sections == NULL)
+ /* This is the first section to be defined. */
+ collate->sections = sp;
+
+ collate->current_section = sp;
}
/* Next should come the end of the line or a semicolon. */
@@ -3182,7 +3186,9 @@
was_ellipsis = tok_none;
}
}
- else if (state != 2 && state != 3)
+ else if (state == 0 && copy_locale == NULL)
+ goto err_label;
+ else if (state != 0 && state != 2 && state != 3)
goto err_label;
state = 3;
@@ -3651,7 +3657,7 @@
/* Next we assume `LC_COLLATE'. */
if (!ignore_content)
{
- if (state == 0)
+ if (state == 0 && copy_locale == NULL)
/* We must either see a copy statement or have
ordering values. */
lr_error (ldfile,
Modified: trunk/libc/locale/programs/ld-time.c
==============================================================================
--- trunk/libc/locale/programs/ld-time.c (original)
+++ trunk/libc/locale/programs/ld-time.c Mon Oct 8 08:18:44 2007
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-2005, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2005, 2006, 2007 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxx>, 1995.
@@ -510,7 +510,7 @@
if (time->first_workday == '\0')
/* The definition does not specify this so the default is used. */
- time->first_workday = 1;
+ time->first_workday = 2;
else if (time->first_workday > time->week_ndays)
WITH_CUR_LOCALE (error (0, 0, _("\
%s: values for field `%s' must not be larger than %d"),
Modified: trunk/libc/localedata/ChangeLog
==============================================================================
--- trunk/libc/localedata/ChangeLog (original)
+++ trunk/libc/localedata/ChangeLog Mon Oct 8 08:18:44 2007
@@ -1,3 +1,95 @@
+2007-10-07 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ [BZ #73]
+ * locales/nb_NO: Update time information, collation, thousands
+ separator.
+ * locales/nn_NO: Likewise.
+
+2007-10-04 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * locales/en_NG: New file.
+
+2007-10-04 Jakub Jelinek <jakub@xxxxxxxxxx>
+
+ * tst-langinfo.sh: Update expected THOUSEP for fr_FR.
+
+2007-10-02 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * charmaps/UTF-8: Fix U06FF definition. Remove double U074A
+ definition. Add U0B71 and U27C0 to U27CA definitions.
+
+ * de_DE.in: Adjust for correct handling of backward direction sorting.
+
+ * fr_FR.in: New file.
+ * Makefile: Add rules to run fr_FR sorting test.
+
+2007-10-01 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ [BZ #4941]
+ * locales/oc_FR: Fix Thursday abday and August mon and abmon data.
+
+ * SUPPORTED (SUPPORTED-LOCALES): Add ber_MA.UTF-8.
+
+ * locales/am_ET (LC_COLLATE): Define new script after copy.
+
+2007-09-30 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * locales/cs_SR: Removed.
+
+ * locales/lo_LA: Add missing collating element o-e.
+
+ * locales/is_IS: Cleanup. Remove invalid collation entries.
+ * locales/lv_LV: Likewise.
+
+ * locales/fa_IR: Add missing collating element Alef-Hamza.
+
+ * locales/da_DK: Add missing collating symbol ETH.
+ * locales/nb_NO: Likewise.
+
+ * locales/sa_IN: New file.
+ * SUPPORTED (SUPPORTED-LOCALES): Add sa_IN.
+
+ * locales/fr_FR: Change thousands_sep to U0020.
+
+ * locales/cs_CZ: Sort lowercase before uppercase.
+
+ * locales/en_GB: Change first weekday and workday to Monday.
+ * locales/nb_NO: Likewise.
+ * locales/nn_NO: Likewise.
+ [BZ #4833]
+ * locales/da_DK: Likewise.
+ [BZ #4705]
+ * locales/et_EE: Likewise.
+
+ * locales/iso14651_t1_common: Add rules for Georgian.
+
+ * locales/ber_DZ: New file.
+ * locales/fil_PH: New file.
+ * locales/fur_IT: New file.
+ * locales/fy_DE: New file.
+ * locales/ha_NG: New file.
+ * locales/ig_NG: New file.
+ * locales/ik_CA: New file.
+ * locales/iu_CA: New file.
+ * locales/li_BE: New file.
+ * locales/li_NL: New file.
+ * locales/nds_DE: New file.
+ * locales/nds_NL: New file.
+ * locales/pap_AN: New file.
+ * locales/sc_IT: New file.
+ * locales/tk_TM: New file.
+ * locales/ug_CN: New file.
+ * locales/yo_NG: New file.
+ * SUPPORTED: Add the new locales.
+
+2007-09-29 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * charmaps/ISO-8859-9E: New file.
+
+2007-09-28 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * charmaps/KOI8-RU: New file.
+
2007-09-23 Ulrich Drepper <drepper@xxxxxxxxxx>
[BZ #4556]
Modified: trunk/libc/localedata/Makefile
==============================================================================
--- trunk/libc/localedata/Makefile (original)
+++ trunk/libc/localedata/Makefile Mon Oct 8 08:18:44 2007
@@ -52,7 +52,7 @@
tst-mbswcs1 tst-mbswcs2 tst-mbswcs3 tst-mbswcs4 tst-mbswcs5 \
tst-ctype tst-wctype tst-langinfo tst-numeric
test-input := de_DE.ISO-8859-1 en_US.ISO-8859-1 da_DK.ISO-8859-1 \
- hr_HR.ISO-8859-2 sv_SE.ISO-8859-1 tr_TR.UTF-8
+ hr_HR.ISO-8859-2 sv_SE.ISO-8859-1 tr_TR.UTF-8 fr_FR.UTF-8
test-input-data = $(addsuffix .in, $(basename $(test-input)))
test-output := $(foreach s, .out .xout, \
$(addsuffix $s, $(basename $(test-input))))
@@ -148,7 +148,7 @@
en_US.ISO-8859-1 ja_JP.EUC-JP da_DK.ISO-8859-1 \
hr_HR.ISO-8859-2 sv_SE.ISO-8859-1 ja_JP.SJIS fr_FR.ISO-8859-1 \
vi_VN.TCVN5712-1 nb_NO.ISO-8859-1 nn_NO.ISO-8859-1 \
- tr_TR.UTF-8 cs_CZ.UTF-8 zh_TW.EUC-TW fa_IR.UTF-8
+ tr_TR.UTF-8 cs_CZ.UTF-8 zh_TW.EUC-TW fa_IR.UTF-8 fr_FR.UTF-8
LOCALE_SRCS := $(shell echo "$(LOCALES)"|sed 's/\([^ .]*\)[^ ]*/\1/g')
CHARMAPS := $(shell echo "$(LOCALES)" | \
sed -e 's/[^ .]*[.]\([^ ]*\)/\1/g' -e s/SJIS/SHIFT_JIS/g)
Modified: trunk/libc/localedata/SUPPORTED
==============================================================================
--- trunk/libc/localedata/SUPPORTED (original)
+++ trunk/libc/localedata/SUPPORTED Mon Oct 8 08:18:44 2007
@@ -53,6 +53,8 @@
be_BY.UTF-8/UTF-8 \
be_BY/CP1251 \
be_BY@latin/UTF-8 \
+ber_DZ/UTF-8 \
+ber_MA/UTF-8 \
bg_BG.UTF-8/UTF-8 \
bg_BG/CP1251 \
bn_BD/UTF-8 \
@@ -115,6 +117,7 @@
en_IE/ISO-8859-1 \
en_IE@euro/ISO-8859-15 \
en_IN/UTF-8 \
+en_NG/UTF-8 \
en_NZ.UTF-8/UTF-8 \
en_NZ/ISO-8859-1 \
en_PH.UTF-8/UTF-8 \
@@ -178,6 +181,7 @@
fi_FI.UTF-8/UTF-8 \
fi_FI/ISO-8859-1 \
fi_FI@euro/ISO-8859-15 \
+fil_PH/UTF-8 \
fo_FO.UTF-8/UTF-8 \
fo_FO/ISO-8859-1 \
fr_BE.UTF-8/UTF-8 \
@@ -193,7 +197,9 @@
fr_LU.UTF-8/UTF-8 \
fr_LU/ISO-8859-1 \
fr_LU@euro/ISO-8859-15 \
+fur_IT/UTF-8 \
fy_NL/UTF-8 \
+fy_DE/UTF-8 \
ga_IE.UTF-8/UTF-8 \
ga_IE/ISO-8859-1 \
ga_IE@euro/ISO-8859-15 \
@@ -209,6 +215,7 @@
gu_IN/UTF-8 \
gv_GB.UTF-8/UTF-8 \
gv_GB/ISO-8859-1 \
+ha_NG/UTF-8 \
he_IL.UTF-8/UTF-8 \
he_IL/ISO-8859-8 \
hi_IN/UTF-8 \
@@ -222,6 +229,8 @@
hy_AM.ARMSCII-8/ARMSCII-8 \
id_ID.UTF-8/UTF-8 \
id_ID/ISO-8859-1 \
+ig_NG/UTF-8 \
+ik_CA/UTF-8 \
is_IS.UTF-8/UTF-8 \
is_IS/ISO-8859-1 \
it_CH.UTF-8/UTF-8 \
@@ -229,6 +238,7 @@
it_IT.UTF-8/UTF-8 \
it_IT/ISO-8859-1 \
it_IT@euro/ISO-8859-15 \
+iu_CA/UTF-8 \
iw_IL.UTF-8/UTF-8 \
iw_IL/ISO-8859-8 \
ja_JP.EUC-JP/EUC-JP \
@@ -250,6 +260,8 @@
ky_KG/UTF-8 \
lg_UG.UTF-8/UTF-8 \
lg_UG/ISO-8859-10 \
+li_BE/UTF-8 \
+li_NL/UTF-8 \
lo_LA/UTF-8 \
lt_LT.UTF-8/UTF-8 \
lt_LT/ISO-8859-13 \
@@ -271,6 +283,8 @@
mt_MT/ISO-8859-3 \
nb_NO.UTF-8/UTF-8 \
nb_NO/ISO-8859-1 \
+nds_DE/UTF-8 \
+nds_NL/UTF-8 \
ne_NP/UTF-8 \
nl_BE.UTF-8/UTF-8 \
nl_BE/ISO-8859-1 \
@@ -290,6 +304,7 @@
or_IN/UTF-8 \
pa_IN/UTF-8 \
pa_PK/UTF-8 \
+pap_AN/UTF-8 \
pl_PL.UTF-8/UTF-8 \
pl_PL/ISO-8859-2 \
pt_BR.UTF-8/UTF-8 \
@@ -305,6 +320,8 @@
ru_UA.UTF-8/UTF-8 \
ru_UA/KOI8-U \
rw_RW/UTF-8 \
+sa_IN/UTF-8 \
+sc_IT/UTF-8 \
se_NO/UTF-8 \
si_LK/UTF-8 \
sid_ET/UTF-8 \
@@ -341,6 +358,7 @@
ti_ER/UTF-8 \
ti_ET/UTF-8 \
tig_ER/UTF-8 \
+tk_TM/UTF-8 \
tl_PH.UTF-8/UTF-8 \
tl_PH/ISO-8859-1 \
tn_ZA/UTF-8 \
@@ -351,6 +369,7 @@
ts_ZA/UTF-8 \
tt_RU.UTF-8/UTF-8 \
tt_RU@xxxxxxxxxxxxx/UTF-8 \
+ug_CN/UTF-8 \
uk_UA.UTF-8/UTF-8 \
uk_UA/KOI8-U \
ur_PK/UTF-8 \
@@ -367,6 +386,7 @@
xh_ZA/ISO-8859-1 \
yi_US.UTF-8/UTF-8 \
yi_US/CP1255 \
+yo_NG/UTF-8 \
zh_CN.GB18030/GB18030 \
zh_CN.GBK/GBK \
zh_CN.UTF-8/UTF-8 \
Modified: trunk/libc/localedata/charmaps/UTF-8
==============================================================================
--- trunk/libc/localedata/charmaps/UTF-8 (original)
+++ trunk/libc/localedata/charmaps/UTF-8 Mon Oct 8 08:18:44 2007
@@ -551,7 +551,7 @@
<U021E> /xc8/x9e LATIN CAPITAL LETTER H WITH CARON
<U021F> /xc8/x9f LATIN SMALL LETTER H WITH CARON
<U0220> /xc8/xa0 LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
-<U0221> /xc8/xa1 LATIN SMALL LETTER D WITH CURL
+<U0221> /xc8/xa1 LATIN SMALL LETTER D WITH CURL
<U0222> /xc8/xa2 LATIN CAPITAL LETTER OU
<U0223> /xc8/xa3 LATIN SMALL LETTER OU
<U0224> /xc8/xa4 LATIN CAPITAL LETTER Z WITH HOOK
@@ -570,34 +570,34 @@
<U0231> /xc8/xb1 LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON
<U0232> /xc8/xb2 LATIN CAPITAL LETTER Y WITH MACRON
<U0233> /xc8/xb3 LATIN SMALL LETTER Y WITH MACRON
-<U0234> /xc8/xb4 LATIN SMALL LETTER L WITH CURL
-<U0235> /xc8/xb5 LATIN SMALL LETTER N WITH CURL
-<U0236> /xc8/xb6 LATIN SMALL LETTER T WITH CURL
-<U0237> /xc8/xb7 LATIN SMALL LETTER DOTLESS J
-<U0238> /xc8/xb8 LATIN SMALL LETTER DB DIGRAPH
-<U0239> /xc8/xb9 LATIN SMALL LETTER QP DIGRAPH
-<U023A> /xc8/xba LATIN CAPITAL LETTER A WITH STROKE
-<U023B> /xc8/xbb LATIN CAPITAL LETTER C WITH STROKE
-<U023C> /xc8/xbc LATIN SMALL LETTER C WITH STROKE
-<U023D> /xc8/xbd LATIN CAPITAL LETTER L WITH BAR
-<U023E> /xc8/xbe LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
-<U023F> /xc8/xbf LATIN SMALL LETTER S WITH SWASH TAIL
-<U0240> /xc9/x80 LATIN SMALL LETTER Z WITH SWASH TAIL
-<U0241> /xc9/x81 LATIN CAPITAL LETTER GLOTTAL STOP
-<U0242> /xc9/x82 LATIN SMALL LETTER GLOTTAL STOP
-<U0243> /xc9/x83 LATIN CAPITAL LETTER B WITH STROKE
-<U0244> /xc9/x84 LATIN CAPITAL LETTER U BAR
-<U0245> /xc9/x85 LATIN CAPITAL LETTER TURNED V
-<U0246> /xc9/x86 LATIN CAPITAL LETTER E WITH STROKE
-<U0247> /xc9/x87 LATIN SMALL LETTER E WITH STROKE
-<U0248> /xc9/x88 LATIN CAPITAL LETTER J WITH STROKE
-<U0249> /xc9/x89 LATIN SMALL LETTER J WITH STROKE
-<U024A> /xc9/x8a LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
-<U024B> /xc9/x8b LATIN SMALL LETTER Q WITH HOOK TAIL
-<U024C> /xc9/x8c LATIN CAPITAL LETTER R WITH STROKE
-<U024D> /xc9/x8d LATIN SMALL LETTER R WITH STROKE
-<U024E> /xc9/x8e LATIN CAPITAL LETTER Y WITH STROKE
-<U024F> /xc9/x8f LATIN SMALL LETTER Y WITH STROKE
+<U0234> /xc8/xb4 LATIN SMALL LETTER L WITH CURL
+<U0235> /xc8/xb5 LATIN SMALL LETTER N WITH CURL
+<U0236> /xc8/xb6 LATIN SMALL LETTER T WITH CURL
+<U0237> /xc8/xb7 LATIN SMALL LETTER DOTLESS J
+<U0238> /xc8/xb8 LATIN SMALL LETTER DB DIGRAPH
+<U0239> /xc8/xb9 LATIN SMALL LETTER QP DIGRAPH
+<U023A> /xc8/xba LATIN CAPITAL LETTER A WITH STROKE
+<U023B> /xc8/xbb LATIN CAPITAL LETTER C WITH STROKE
+<U023C> /xc8/xbc LATIN SMALL LETTER C WITH STROKE
+<U023D> /xc8/xbd LATIN CAPITAL LETTER L WITH BAR
+<U023E> /xc8/xbe LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
+<U023F> /xc8/xbf LATIN SMALL LETTER S WITH SWASH TAIL
+<U0240> /xc9/x80 LATIN SMALL LETTER Z WITH SWASH TAIL
+<U0241> /xc9/x81 LATIN CAPITAL LETTER GLOTTAL STOP
+<U0242> /xc9/x82 LATIN SMALL LETTER GLOTTAL STOP
+<U0243> /xc9/x83 LATIN CAPITAL LETTER B WITH STROKE
+<U0244> /xc9/x84 LATIN CAPITAL LETTER U BAR
+<U0245> /xc9/x85 LATIN CAPITAL LETTER TURNED V
+<U0246> /xc9/x86 LATIN CAPITAL LETTER E WITH STROKE
+<U0247> /xc9/x87 LATIN SMALL LETTER E WITH STROKE
+<U0248> /xc9/x88 LATIN CAPITAL LETTER J WITH STROKE
+<U0249> /xc9/x89 LATIN SMALL LETTER J WITH STROKE
+<U024A> /xc9/x8a LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
+<U024B> /xc9/x8b LATIN SMALL LETTER Q WITH HOOK TAIL
+<U024C> /xc9/x8c LATIN CAPITAL LETTER R WITH STROKE
+<U024D> /xc9/x8d LATIN SMALL LETTER R WITH STROKE
+<U024E> /xc9/x8e LATIN CAPITAL LETTER Y WITH STROKE
+<U024F> /xc9/x8f LATIN SMALL LETTER Y WITH STROKE
<U0250> /xc9/x90 LATIN SMALL LETTER TURNED A
<U0251> /xc9/x91 LATIN SMALL LETTER ALPHA
<U0252> /xc9/x92 LATIN SMALL LETTER TURNED ALPHA
@@ -692,8 +692,8 @@
<U02AB> /xca/xab LATIN SMALL LETTER LZ DIGRAPH
<U02AC> /xca/xac LATIN LETTER BILABIAL PERCUSSIVE
<U02AD> /xca/xad LATIN LETTER BIDENTAL PERCUSSIVE
-<U02AE> /xca/xae LATIN SMALL LETTER TURNED H WITH FISHHOOK
-<U02AF> /xca/xaf LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
+<U02AE> /xca/xae LATIN SMALL LETTER TURNED H WITH FISHHOOK
+<U02AF> /xca/xaf LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
<U02B0> /xca/xb0 MODIFIER LETTER SMALL H
<U02B1> /xca/xb1 MODIFIER LETTER SMALL H WITH HOOK
<U02B2> /xca/xb2 MODIFIER LETTER SMALL J
@@ -757,23 +757,23 @@
<U02EC> /xcb/xac MODIFIER LETTER VOICING
<U02ED> /xcb/xad MODIFIER LETTER UNASPIRATED
<U02EE> /xcb/xae MODIFIER LETTER DOUBLE APOSTROPHE
-<U02EF> /xcb/xaf MODIFIER LETTER LOW DOWN ARROWHEAD
-<U02F0> /xcb/xb0 MODIFIER LETTER LOW UP ARROWHEAD
-<U02F1> /xcb/xb1 MODIFIER LETTER LOW LEFT ARROWHEAD
-<U02F2> /xcb/xb2 MODIFIER LETTER LOW RIGHT ARROWHEAD
-<U02F3> /xcb/xb3 MODIFIER LETTER LOW RING
-<U02F4> /xcb/xb4 MODIFIER LETTER MIDDLE GRAVE ACCENT
-<U02F5> /xcb/xb5 MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT
-<U02F6> /xcb/xb6 MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT
-<U02F7> /xcb/xb7 MODIFIER LETTER LOW TILDE
-<U02F8> /xcb/xb8 MODIFIER LETTER RAISED COLON
-<U02F9> /xcb/xb9 MODIFIER LETTER BEGIN HIGH TONE
-<U02FA> /xcb/xba MODIFIER LETTER END HIGH TONE
-<U02FB> /xcb/xbb MODIFIER LETTER BEGIN LOW TONE
-<U02FC> /xcb/xbc MODIFIER LETTER END LOW TONE
-<U02FD> /xcb/xbd MODIFIER LETTER SHELF
-<U02FE> /xcb/xbe MODIFIER LETTER OPEN SHELF
-<U02FF> /xcb/xbf MODIFIER LETTER LOW LEFT ARROW
+<U02EF> /xcb/xaf MODIFIER LETTER LOW DOWN ARROWHEAD
+<U02F0> /xcb/xb0 MODIFIER LETTER LOW UP ARROWHEAD
+<U02F1> /xcb/xb1 MODIFIER LETTER LOW LEFT ARROWHEAD
+<U02F2> /xcb/xb2 MODIFIER LETTER LOW RIGHT ARROWHEAD
+<U02F3> /xcb/xb3 MODIFIER LETTER LOW RING
+<U02F4> /xcb/xb4 MODIFIER LETTER MIDDLE GRAVE ACCENT
+<U02F5> /xcb/xb5 MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT
+<U02F6> /xcb/xb6 MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT
+<U02F7> /xcb/xb7 MODIFIER LETTER LOW TILDE
+<U02F8> /xcb/xb8 MODIFIER LETTER RAISED COLON
+<U02F9> /xcb/xb9 MODIFIER LETTER BEGIN HIGH TONE
+<U02FA> /xcb/xba MODIFIER LETTER END HIGH TONE
+<U02FB> /xcb/xbb MODIFIER LETTER BEGIN LOW TONE
+<U02FC> /xcb/xbc MODIFIER LETTER END LOW TONE
+<U02FD> /xcb/xbd MODIFIER LETTER SHELF
+<U02FE> /xcb/xbe MODIFIER LETTER OPEN SHELF
+<U02FF> /xcb/xbf MODIFIER LETTER LOW LEFT ARROW
<U0300> /xcc/x80 COMBINING GRAVE ACCENT
<U0301> /xcc/x81 COMBINING ACUTE ACCENT
<U0302> /xcc/x82 COMBINING CIRCUMFLEX ACCENT
@@ -854,22 +854,22 @@
<U034D> /xcd/x8d COMBINING LEFT RIGHT ARROW BELOW
<U034E> /xcd/x8e COMBINING UPWARDS ARROW BELOW
<U034F> /xcd/x8f COMBINING GRAPHEME JOINER
-<U0350> /xcd/x90 COMBINING RIGHT ARROWHEAD ABOVE
-<U0351> /xcd/x91 COMBINING LEFT HALF RING ABOVE
-<U0352> /xcd/x92 COMBINING FERMATA
-<U0353> /xcd/x93 COMBINING X BELOW
-<U0354> /xcd/x94 COMBINING LEFT ARROWHEAD BELOW
-<U0355> /xcd/x95 COMBINING RIGHT ARROWHEAD BELOW
-<U0356> /xcd/x96 COMBINING RIGHT ARROWHEAD AND UP ARROWHEAD BELOW
-<U0357> /xcd/x97 COMBINING RIGHT HALF RING ABOVE
-<U0358> /xcd/x98 COMBINING DOT ABOVE RIGHT
-<U0359> /xcd/x99 COMBINING ASTERISK BELOW
-<U035A> /xcd/x9a COMBINING DOUBLE RING BELOW
-<U035B> /xcd/x9b COMBINING ZIGZAG ABOVE
-<U035C> /xcd/x9c COMBINING DOUBLE BREVE BELOW
-<U035D> /xcd/x9d COMBINING DOUBLE BREVE
-<U035E> /xcd/x9e COMBINING DOUBLE MACRON
-<U035F> /xcd/x9f COMBINING DOUBLE MACRON BELOW
+<U0350> /xcd/x90 COMBINING RIGHT ARROWHEAD ABOVE
+<U0351> /xcd/x91 COMBINING LEFT HALF RING ABOVE
+<U0352> /xcd/x92 COMBINING FERMATA
+<U0353> /xcd/x93 COMBINING X BELOW
+<U0354> /xcd/x94 COMBINING LEFT ARROWHEAD BELOW
+<U0355> /xcd/x95 COMBINING RIGHT ARROWHEAD BELOW
+<U0356> /xcd/x96 COMBINING RIGHT ARROWHEAD AND UP ARROWHEAD BELOW
+<U0357> /xcd/x97 COMBINING RIGHT HALF RING ABOVE
+<U0358> /xcd/x98 COMBINING DOT ABOVE RIGHT
+<U0359> /xcd/x99 COMBINING ASTERISK BELOW
+<U035A> /xcd/x9a COMBINING DOUBLE RING BELOW
+<U035B> /xcd/x9b COMBINING ZIGZAG ABOVE
+<U035C> /xcd/x9c COMBINING DOUBLE BREVE BELOW
+<U035D> /xcd/x9d COMBINING DOUBLE BREVE
+<U035E> /xcd/x9e COMBINING DOUBLE MACRON
+<U035F> /xcd/x9f COMBINING DOUBLE MACRON BELOW
<U0360> /xcd/xa0 COMBINING DOUBLE TILDE
<U0361> /xcd/xa1 COMBINING DOUBLE INVERTED BREVE
<U0362> /xcd/xa2 COMBINING DOUBLE RIGHTWARDS ARROW BELOW
@@ -889,9 +889,9 @@
<U0374> /xcd/xb4 GREEK NUMERAL SIGN
<U0375> /xcd/xb5 GREEK LOWER NUMERAL SIGN
<U037A> /xcd/xba GREEK YPOGEGRAMMENI
-<U037B> /xcd/xbb GREEK SMALL REVERSED LUNATE SIGMA SYMBOL
-<U037C> /xcd/xbc GREEK SMALL DOTTED LUNATE SIGMA SYMBOL
-<U037D> /xcd/xbd GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
+<U037B> /xcd/xbb GREEK SMALL REVERSED LUNATE SIGMA SYMBOL
+<U037C> /xcd/xbc GREEK SMALL DOTTED LUNATE SIGMA SYMBOL
+<U037D> /xcd/xbd GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
<U037E> /xcd/xbe GREEK QUESTION MARK
<U0384> /xce/x84 GREEK TONOS
<U0385> /xce/x85 GREEK DIALYTIKA TONOS
@@ -1004,15 +1004,15 @@
<U03F4> /xcf/xb4 GREEK CAPITAL THETA SYMBOL
<U03F5> /xcf/xb5 GREEK LUNATE EPSILON SYMBOL
<U03F6> /xcf/xb6 GREEK REVERSED LUNATE EPSILON SYMBOL
-<U03F7> /xcf/xb7 GREEK CAPITAL LETTER SHO
-<U03F8> /xcf/xb8 GREEK SMALL LETTER SHO
-<U03F9> /xcf/xb9 GREEK CAPITAL LUNATE SIGMA SYMBOL
-<U03FA> /xcf/xba GREEK CAPITAL LETTER SAN
-<U03FB> /xcf/xbb GREEK SMALL LETTER SAN
-<U03FC> /xcf/xbc GREEK RHO WITH STROKE SYMBOL
-<U03FD> /xcf/xbd GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL
-<U03FE> /xcf/xbe GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL
-<U03FF> /xcf/xbf GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL
+<U03F7> /xcf/xb7 GREEK CAPITAL LETTER SHO
+<U03F8> /xcf/xb8 GREEK SMALL LETTER SHO
+<U03F9> /xcf/xb9 GREEK CAPITAL LUNATE SIGMA SYMBOL
+<U03FA> /xcf/xba GREEK CAPITAL LETTER SAN
+<U03FB> /xcf/xbb GREEK SMALL LETTER SAN
+<U03FC> /xcf/xbc GREEK RHO WITH STROKE SYMBOL
+<U03FD> /xcf/xbd GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL
+<U03FE> /xcf/xbe GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL
+<U03FF> /xcf/xbf GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL
<U0400> /xd0/x80 CYRILLIC CAPITAL LETTER IE WITH GRAVE
<U0401> /xd0/x81 CYRILLIC CAPITAL LETTER IO
<U0402> /xd0/x82 CYRILLIC CAPITAL LETTER DJE
@@ -1219,7 +1219,7 @@
<U04CC> /xd3/x8c CYRILLIC SMALL LETTER KHAKASSIAN CHE
<U04CD> /xd3/x8d CYRILLIC CAPITAL LETTER EM WITH TAIL
<U04CE> /xd3/x8e CYRILLIC SMALL LETTER EM WITH TAIL
-<U04CF> /xd3/x8f CYRILLIC SMALL LETTER PALOCHKA
+<U04CF> /xd3/x8f CYRILLIC SMALL LETTER PALOCHKA
<U04D0> /xd3/x90 CYRILLIC CAPITAL LETTER A WITH BREVE
<U04D1> /xd3/x91 CYRILLIC SMALL LETTER A WITH BREVE
<U04D2> /xd3/x92 CYRILLIC CAPITAL LETTER A WITH DIAERESIS
@@ -1258,16 +1258,16 @@
<U04F3> /xd3/xb3 CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
<U04F4> /xd3/xb4 CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
<U04F5> /xd3/xb5 CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-<U04F6> /xd3/xb6 CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
-<U04F7> /xd3/xb7 CYRILLIC SMALL LETTER GHE WITH DESCENDER
+<U04F6> /xd3/xb6 CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
+<U04F7> /xd3/xb7 CYRILLIC SMALL LETTER GHE WITH DESCENDER
<U04F8> /xd3/xb8 CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
<U04F9> /xd3/xb9 CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-<U04FA> /xd3/xba CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
-<U04FB> /xd3/xbb CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK
-<U04FC> /xd3/xbc CYRILLIC CAPITAL LETTER HA WITH HOOK
-<U04FD> /xd3/xbd CYRILLIC SMALL LETTER HA WITH HOOK
-<U04FE> /xd3/xbe CYRILLIC CAPITAL LETTER HA WITH STROKE
-<U04FF> /xd3/xbf CYRILLIC SMALL LETTER HA WITH STROKE
+<U04FA> /xd3/xba CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
+<U04FB> /xd3/xbb CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK
+<U04FC> /xd3/xbc CYRILLIC CAPITAL LETTER HA WITH HOOK
+<U04FD> /xd3/xbd CYRILLIC SMALL LETTER HA WITH HOOK
+<U04FE> /xd3/xbe CYRILLIC CAPITAL LETTER HA WITH STROKE
+<U04FF> /xd3/xbf CYRILLIC SMALL LETTER HA WITH STROKE
<U0500> /xd4/x80 CYRILLIC CAPITAL LETTER KOMI DE
<U0501> /xd4/x81 CYRILLIC SMALL LETTER KOMI DE
<U0502> /xd4/x82 CYRILLIC CAPITAL LETTER KOMI DJE
@@ -1284,10 +1284,10 @@
<U050D> /xd4/x8d CYRILLIC SMALL LETTER KOMI SJE
<U050E> /xd4/x8e CYRILLIC CAPITAL LETTER KOMI TJE
<U050F> /xd4/x8f CYRILLIC SMALL LETTER KOMI TJE
-<U0510> /xd4/x90 CYRILLIC CAPITAL LETTER REVERSED ZE
-<U0511> /xd4/x91 CYRILLIC SMALL LETTER REVERSED ZE
-<U0512> /xd4/x92 CYRILLIC CAPITAL LETTER EL WITH HOOK
-<U0513> /xd4/x93 CYRILLIC SMALL LETTER EL WITH HOOK
+<U0510> /xd4/x90 CYRILLIC CAPITAL LETTER REVERSED ZE
+<U0511> /xd4/x91 CYRILLIC SMALL LETTER REVERSED ZE
+<U0512> /xd4/x92 CYRILLIC CAPITAL LETTER EL WITH HOOK
+<U0513> /xd4/x93 CYRILLIC SMALL LETTER EL WITH HOOK
<U0531> /xd4/xb1 ARMENIAN CAPITAL LETTER AYB
<U0532> /xd4/xb2 ARMENIAN CAPITAL LETTER BEN
<U0533> /xd4/xb3 ARMENIAN CAPITAL LETTER GIM
@@ -1391,7 +1391,7 @@
<U059F> /xd6/x9f HEBREW ACCENT QARNEY PARA
<U05A0> /xd6/xa0 HEBREW ACCENT TELISHA GEDOLA
<U05A1> /xd6/xa1 HEBREW ACCENT PAZER
-<U05A2> /xd6/xa2 HEBREW ACCENT ATNAH HAFUKH
+<U05A2> /xd6/xa2 HEBREW ACCENT ATNAH HAFUKH
<U05A3> /xd6/xa3 HEBREW ACCENT MUNAH
<U05A4> /xd6/xa4 HEBREW ACCENT MAHAPAKH
<U05A5> /xd6/xa5 HEBREW ACCENT MERKHA
@@ -1415,7 +1415,7 @@
<U05B7> /xd6/xb7 HEBREW POINT PATAH
<U05B8> /xd6/xb8 HEBREW POINT QAMATS
<U05B9> /xd6/xb9 HEBREW POINT HOLAM
-<U05BA> /xd6/xba HEBREW POINT HOLAM HASER FOR VAV
+<U05BA> /xd6/xba HEBREW POINT HOLAM HASER FOR VAV
<U05BB> /xd6/xbb HEBREW POINT QUBUTS
<U05BC> /xd6/xbc HEBREW POINT DAGESH OR MAPIQ
<U05BD> /xd6/xbd HEBREW POINT METEG
@@ -1426,9 +1426,9 @@
<U05C2> /xd7/x82 HEBREW POINT SIN DOT
<U05C3> /xd7/x83 HEBREW PUNCTUATION SOF PASUQ
<U05C4> /xd7/x84 HEBREW MARK UPPER DOT
-<U05C5> /xd7/x85 HEBREW MARK LOWER DOT
-<U05C6> /xd7/x86 HEBREW PUNCTUATION NUN HAFUKHA
-<U05C7> /xd7/x87 HEBREW POINT QAMATS QATAN
+<U05C5> /xd7/x85 HEBREW MARK LOWER DOT
+<U05C6> /xd7/x86 HEBREW PUNCTUATION NUN HAFUKHA
+<U05C7> /xd7/x87 HEBREW POINT QAMATS QATAN
<U05D0> /xd7/x90 HEBREW LETTER ALEF
<U05D1> /xd7/x91 HEBREW LETTER BET
<U05D2> /xd7/x92 HEBREW LETTER GIMEL
@@ -1461,23 +1461,23 @@
<U05F2> /xd7/xb2 HEBREW LIGATURE YIDDISH DOUBLE YOD
<U05F3> /xd7/xb3 HEBREW PUNCTUATION GERESH
<U05F4> /xd7/xb4 HEBREW PUNCTUATION GERSHAYIM
-<U0600> /xd8/x80 ARABIC NUMBER SIGN
-<U0601> /xd8/x81 ARABIC SIGN SANAH
-<U0602> /xd8/x82 ARABIC FOOTNOTE MARKER
-<U0603> /xd8/x83 ARABIC SIGN SAFHA
-<U060B> /xd8/x8B AFGHANI SIGN
+<U0600> /xd8/x80 ARABIC NUMBER SIGN
+<U0601> /xd8/x81 ARABIC SIGN SANAH
+<U0602> /xd8/x82 ARABIC FOOTNOTE MARKER
+<U0603> /xd8/x83 ARABIC SIGN SAFHA
+<U060B> /xd8/x8B AFGHANI SIGN
<U060C> /xd8/x8c ARABIC COMMA
-<U060D> /xd8/x8d ARABIC DATE SEPARATOR
-<U060E> /xd8/x8e ARABIC POETIC VERSE SIGN
-<U060F> /xd8/x8f ARABIC SIGN MISRA
-<U0610> /xd8/x90 ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM
-<U0611> /xd8/x91 ARABIC SIGN ALAYHE ASSALLAM
-<U0612> /xd8/x92 ARABIC SIGN RAHMATULLAH ALAYHE
-<U0613> /xd8/x93 ARABIC SIGN RADI ALLAHOU ANHU
-<U0614> /xd8/x94 ARABIC SIGN TAKHALLUS
-<U0615> /xd8/x95 ARABIC SMALL HIGH TAH
+<U060D> /xd8/x8d ARABIC DATE SEPARATOR
+<U060E> /xd8/x8e ARABIC POETIC VERSE SIGN
+<U060F> /xd8/x8f ARABIC SIGN MISRA
+<U0610> /xd8/x90 ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM
+<U0611> /xd8/x91 ARABIC SIGN ALAYHE ASSALLAM
+<U0612> /xd8/x92 ARABIC SIGN RAHMATULLAH ALAYHE
+<U0613> /xd8/x93 ARABIC SIGN RADI ALLAHOU ANHU
+<U0614> /xd8/x94 ARABIC SIGN TAKHALLUS
+<U0615> /xd8/x95 ARABIC SMALL HIGH TAH
<U061B> /xd8/x9b ARABIC SEMICOLON
-<U061E> /xd8/x9e ARABIC TRIPLE DOT PUNCTUATION MARK
+<U061E> /xd8/x9e ARABIC TRIPLE DOT PUNCTUATION MARK
<U061F> /xd8/x9f ARABIC QUESTION MARK
<U0621> /xd8/xa1 ARABIC LETTER HAMZA
<U0622> /xd8/xa2 ARABIC LETTER ALEF WITH MADDA ABOVE
@@ -1527,15 +1527,15 @@
<U0653> /xd9/x93 ARABIC MADDAH ABOVE
<U0654> /xd9/x94 ARABIC HAMZA ABOVE
<U0655> /xd9/x95 ARABIC HAMZA BELOW
-<U0656> /xd9/x96 ARABIC SUBSCRIPT ALEF
-<U0657> /xd9/x97 ARABIC INVERTED DAMMA
-<U0658> /xd9/x98 ARABIC MARK NOON GHUNNA
-<U0659> /xd9/x99 ARABIC ZWARAKAY
-<U065A> /xd9/x9a ARABIC VOWEL SIGN SMALL V ABOVE
-<U065B> /xd9/x9b ARABIC VOWEL SIGN INVERTED SMALL V ABOVE
-<U065C> /xd9/x9c ARABIC VOWEL SIGN DOT BELOW
-<U065D> /xd9/x9d ARABIC REVERSED DAMMA
-<U065E> /xd9/x9e ARABIC FATHA WITH TWO DOTS
+<U0656> /xd9/x96 ARABIC SUBSCRIPT ALEF
+<U0657> /xd9/x97 ARABIC INVERTED DAMMA
+<U0658> /xd9/x98 ARABIC MARK NOON GHUNNA
+<U0659> /xd9/x99 ARABIC ZWARAKAY
+<U065A> /xd9/x9a ARABIC VOWEL SIGN SMALL V ABOVE
+<U065B> /xd9/x9b ARABIC VOWEL SIGN INVERTED SMALL V ABOVE
+<U065C> /xd9/x9c ARABIC VOWEL SIGN DOT BELOW
+<U065D> /xd9/x9d ARABIC REVERSED DAMMA
+<U065E> /xd9/x9e ARABIC FATHA WITH TWO DOTS
<U0660> /xd9/xa0 ARABIC-INDIC DIGIT ZERO
<U0661> /xd9/xa1 ARABIC-INDIC DIGIT ONE
<U0662> /xd9/xa2 ARABIC-INDIC DIGIT TWO
@@ -1678,8 +1678,8 @@
<U06EB> /xdb/xab ARABIC EMPTY CENTRE HIGH STOP
<U06EC> /xdb/xac ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE
<U06ED> /xdb/xad ARABIC SMALL LOW MEEM
-<U06EE> /xdb/xae ARABIC LETTER DAL WITH INVERTED V
-<U06EF> /xdb/xaf ARABIC LETTER REH WITH INVERTED V
+<U06EE> /xdb/xae ARABIC LETTER DAL WITH INVERTED V
+<U06EF> /xdb/xaf ARABIC LETTER REH WITH INVERTED V
<U06F0> /xdb/xb0 EXTENDED ARABIC-INDIC DIGIT ZERO
<U06F1> /xdb/xb1 EXTENDED ARABIC-INDIC DIGIT ONE
<U06F2> /xdb/xb2 EXTENDED ARABIC-INDIC DIGIT TWO
@@ -1695,7 +1695,7 @@
<U06FC> /xdb/xbc ARABIC LETTER GHAIN WITH DOT BELOW
<U06FD> /xdb/xbd ARABIC SIGN SINDHI AMPERSAND
<U06FE> /xdb/xbe ARABIC SIGN SINDHI POSTPOSITION MEN
-<U066F> /xdb/xbf ARABIC LETTER DOTLESS QAF
+<U06FF> /xdb/xbf ARABIC LETTER HEH WITH INVERTED V
<U0700> /xdc/x80 SYRIAC END OF PARAGRAPH
<U0701> /xdc/x81 SYRIAC SUPRALINEAR FULL STOP
<U0702> /xdc/x82 SYRIAC SUBLINEAR FULL STOP
@@ -1740,9 +1740,9 @@
<U072A> /xdc/xaa SYRIAC LETTER RISH
<U072B> /xdc/xab SYRIAC LETTER SHIN
<U072C> /xdc/xac SYRIAC LETTER TAW
-<U072D> /xdc/xad SYRIAC LETTER PERSIAN BHETH
-<U072E> /xdc/xae SYRIAC LETTER PERSIAN GHAMAL
-<U072F> /xdc/xaf SYRIAC LETTER PERSIAN DHALATH
+<U072D> /xdc/xad SYRIAC LETTER PERSIAN BHETH
+<U072E> /xdc/xae SYRIAC LETTER PERSIAN GHAMAL
+<U072F> /xdc/xaf SYRIAC LETTER PERSIAN DHALATH
<U0730> /xdc/xb0 SYRIAC PTHAHA ABOVE
<U0731> /xdc/xb1 SYRIAC PTHAHA BELOW
<U0732> /xdc/xb2 SYRIAC PTHAHA DOTTED
@@ -1770,40 +1770,39 @@
<U0748> /xdd/x88 SYRIAC OBLIQUE LINE BELOW
<U0749> /xdd/x89 SYRIAC MUSIC
<U074A> /xdd/x8a SYRIAC BARREKH
-<U074A> /xdd/x8a SYRIAC BARREKH
-<U074D> /xdd/x8d SYRIAC LETTER SOGDIAN ZHAIN
-<U074E> /xdd/x8e SYRIAC LETTER SOGDIAN KHAPH
-<U074F> /xdd/x8f SYRIAC LETTER SOGDIAN FE
-<U0750> /xdd/x90 ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW
-<U0751> /xdd/x91 ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE
-<U0752> /xdd/x92 ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW
-<U0753> /xdd/x93 ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW AND TWO DOTS ABOVE
-<U0754> /xdd/x94 ARABIC LETTER BEH WITH TWO DOTS BELOW AND DOT ABOVE
-<U0755> /xdd/x95 ARABIC LETTER BEH WITH INVERTED SMALL V BELOW
-<U0756> /xdd/x96 ARABIC LETTER BEH WITH SMALL V
-<U0757> /xdd/x97 ARABIC LETTER HAH WITH TWO DOTS ABOVE
-<U0758> /xdd/x98 ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW
-<U0759> /xdd/x99 ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH
-<U075A> /xdd/x9a ARABIC LETTER DAL WITH INVERTED SMALL V BELOW
-<U075B> /xdd/x9b ARABIC LETTER REH WITH STROKE
-<U075C> /xdd/x9c ARABIC LETTER SEEN WITH FOUR DOTS ABOVE
-<U075D> /xdd/x9d ARABIC LETTER AIN WITH TWO DOTS ABOVE
-<U075E> /xdd/x9e ARABIC LETTER AIN WITH THREE DOTS POINTING DOWNWARDS ABOVE
-<U075F> /xdd/x9f ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE
-<U0760> /xdd/xa0 ARABIC LETTER FEH WITH TWO DOTS BELOW
-<U0761> /xdd/xa1 ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW
-<U0762> /xdd/xa2 ARABIC LETTER KEHEH WITH DOT ABOVE
-<U0763> /xdd/xa3 ARABIC LETTER KEHEH WITH THREE DOTS ABOVE
-<U0764> /xdd/xa4 ARABIC LETTER KEHEH WITH THREE DOTS POINTING UPWARDS BELOW
-<U0765> /xdd/xa5 ARABIC LETTER MEEM WITH DOT ABOVE
-<U0766> /xdd/xa6 ARABIC LETTER MEEM WITH DOT BELOW
-<U0767> /xdd/xa7 ARABIC LETTER NOON WITH TWO DOTS BELOW
-<U0768> /xdd/xa8 ARABIC LETTER NOON WITH SMALL TAH
-<U0769> /xdd/xa9 ARABIC LETTER NOON WITH SMALL V
-<U076A> /xdd/xaa ARABIC LETTER LAM WITH BAR
-<U076B> /xdd/xab ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE
-<U076C> /xdd/xac ARABIC LETTER REH WITH HAMZA ABOVE
-<U076D> /xdd/xad ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE
+<U074D> /xdd/x8d SYRIAC LETTER SOGDIAN ZHAIN
+<U074E> /xdd/x8e SYRIAC LETTER SOGDIAN KHAPH
+<U074F> /xdd/x8f SYRIAC LETTER SOGDIAN FE
+<U0750> /xdd/x90 ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW
+<U0751> /xdd/x91 ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE
+<U0752> /xdd/x92 ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW
+<U0753> /xdd/x93 ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW AND TWO DOTS ABOVE
+<U0754> /xdd/x94 ARABIC LETTER BEH WITH TWO DOTS BELOW AND DOT ABOVE
+<U0755> /xdd/x95 ARABIC LETTER BEH WITH INVERTED SMALL V BELOW
+<U0756> /xdd/x96 ARABIC LETTER BEH WITH SMALL V
+<U0757> /xdd/x97 ARABIC LETTER HAH WITH TWO DOTS ABOVE
+<U0758> /xdd/x98 ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW
+<U0759> /xdd/x99 ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH
+<U075A> /xdd/x9a ARABIC LETTER DAL WITH INVERTED SMALL V BELOW
+<U075B> /xdd/x9b ARABIC LETTER REH WITH STROKE
+<U075C> /xdd/x9c ARABIC LETTER SEEN WITH FOUR DOTS ABOVE
+<U075D> /xdd/x9d ARABIC LETTER AIN WITH TWO DOTS ABOVE
+<U075E> /xdd/x9e ARABIC LETTER AIN WITH THREE DOTS POINTING DOWNWARDS ABOVE
+<U075F> /xdd/x9f ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE
+<U0760> /xdd/xa0 ARABIC LETTER FEH WITH TWO DOTS BELOW
+<U0761> /xdd/xa1 ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW
+<U0762> /xdd/xa2 ARABIC LETTER KEHEH WITH DOT ABOVE
+<U0763> /xdd/xa3 ARABIC LETTER KEHEH WITH THREE DOTS ABOVE
+<U0764> /xdd/xa4 ARABIC LETTER KEHEH WITH THREE DOTS POINTING UPWARDS BELOW
+<U0765> /xdd/xa5 ARABIC LETTER MEEM WITH DOT ABOVE
+<U0766> /xdd/xa6 ARABIC LETTER MEEM WITH DOT BELOW
+<U0767> /xdd/xa7 ARABIC LETTER NOON WITH TWO DOTS BELOW
+<U0768> /xdd/xa8 ARABIC LETTER NOON WITH SMALL TAH
+<U0769> /xdd/xa9 ARABIC LETTER NOON WITH SMALL V
+<U076A> /xdd/xaa ARABIC LETTER LAM WITH BAR
+<U076B> /xdd/xab ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE
+<U076C> /xdd/xac ARABIC LETTER REH WITH HAMZA ABOVE
+<U076D> /xdd/xad ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE
<U0780> /xde/x80 THAANA LETTER HAA
<U0781> /xde/x81 THAANA LETTER SHAVIYANI
<U0782> /xde/x82 THAANA LETTER NOONU
@@ -1854,65 +1853,65 @@
<U07AF> /xde/xaf THAANA OABOAFILI
<U07B0> /xde/xb0 THAANA SUKUN
<U07B1> /xde/xb1 THAANA LETTER NAA
-<U07C0> /xdf/x80 NKO DIGIT ZERO
-<U07C1> /xdf/x81 NKO DIGIT ONE
-<U07C2> /xdf/x82 NKO DIGIT TWO
-<U07C3> /xdf/x83 NKO DIGIT THREE
-<U07C4> /xdf/x84 NKO DIGIT FOUR
-<U07C5> /xdf/x85 NKO DIGIT FIVE
-<U07C6> /xdf/x86 NKO DIGIT SIX
-<U07C7> /xdf/x87 NKO DIGIT SEVEN
-<U07C8> /xdf/x88 NKO DIGIT EIGHT
-<U07C9> /xdf/x89 NKO DIGIT NINE
-<U07CA> /xdf/x8a NKO LETTER A
-<U07CB> /xdf/x8b NKO LETTER EE
-<U07CC> /xdf/x8c NKO LETTER I
-<U07CD> /xdf/x8d NKO LETTER E
-<U07CE> /xdf/x8e NKO LETTER U
-<U07CF> /xdf/x8f NKO LETTER OO
-<U07D0> /xdf/x90 NKO LETTER O
-<U07D1> /xdf/x91 NKO LETTER DAGBASINNA
-<U07D2> /xdf/x92 NKO LETTER N
-<U07D3> /xdf/x93 NKO LETTER BA
-<U07D4> /xdf/x94 NKO LETTER PA
-<U07D5> /xdf/x95 NKO LETTER TA
-<U07D6> /xdf/x96 NKO LETTER JA
-<U07D7> /xdf/x97 NKO LETTER CHA
-<U07D8> /xdf/x98 NKO LETTER DA
-<U07D9> /xdf/x99 NKO LETTER RA
-<U07DA> /xdf/x9a NKO LETTER RRA
-<U07DB> /xdf/x9b NKO LETTER SA
-<U07DC> /xdf/x9c NKO LETTER GBA
-<U07DD> /xdf/x9d NKO LETTER FA
-<U07DE> /xdf/x9e NKO LETTER KA
-<U07DF> /xdf/x9f NKO LETTER LA
-<U07E0> /xdf/xa0 NKO LETTER NA WOLOSO
-<U07E1> /xdf/xa1 NKO LETTER MA
-<U07E2> /xdf/xa2 NKO LETTER NYA
-<U07E3> /xdf/xa3 NKO LETTER NA
-<U07E4> /xdf/xa4 NKO LETTER HA
-<U07E5> /xdf/xa5 NKO LETTER WA
-<U07E6> /xdf/xa6 NKO LETTER YA
-<U07E7> /xdf/xa7 NKO LETTER NYA WOLOSO
-<U07E8> /xdf/xa8 NKO LETTER JONA JA
-<U07E9> /xdf/xa9 NKO LETTER JONA CHA
-<U07EA> /xdf/xaa NKO LETTER JONA RA
-<U07EB> /xdf/xab NKO COMBINING SHORT HIGH TONE
-<U07EC> /xdf/xac NKO COMBINING SHORT LOW TONE
-<U07ED> /xdf/xad NKO COMBINING SHORT RISING TONE
-<U07EE> /xdf/xae NKO COMBINING LONG DESCENDING TONE
-<U07EF> /xdf/xaf NKO COMBINING LONG HIGH TONE
-<U07F0> /xdf/xb0 NKO COMBINING LONG LOW TONE
-<U07F1> /xdf/xb1 NKO COMBINING LONG RISING TONE
-<U07F2> /xdf/xb2 NKO COMBINING NASALIZATION MARK
-<U07F3> /xdf/xb3 NKO COMBINING DOUBLE DOT ABOVE
-<U07F4> /xdf/xb4 NKO HIGH TONE APOSTROPHE
-<U07F5> /xdf/xb5 NKO LOW TONE APOSTROPHE
-<U07F6> /xdf/xb6 NKO SYMBOL OO DENNEN
-<U07F7> /xdf/xb7 NKO SYMBOL GBAKURUNEN
-<U07F8> /xdf/xb8 NKO COMMA
-<U07F9> /xdf/xb9 NKO EXCLAMATION MARK
-<U07FA> /xdf/xba NKO LAJANYALAN
+<U07C0> /xdf/x80 NKO DIGIT ZERO
+<U07C1> /xdf/x81 NKO DIGIT ONE
+<U07C2> /xdf/x82 NKO DIGIT TWO
+<U07C3> /xdf/x83 NKO DIGIT THREE
+<U07C4> /xdf/x84 NKO DIGIT FOUR
+<U07C5> /xdf/x85 NKO DIGIT FIVE
+<U07C6> /xdf/x86 NKO DIGIT SIX
+<U07C7> /xdf/x87 NKO DIGIT SEVEN
+<U07C8> /xdf/x88 NKO DIGIT EIGHT
+<U07C9> /xdf/x89 NKO DIGIT NINE
+<U07CA> /xdf/x8a NKO LETTER A
+<U07CB> /xdf/x8b NKO LETTER EE
+<U07CC> /xdf/x8c NKO LETTER I
+<U07CD> /xdf/x8d NKO LETTER E
+<U07CE> /xdf/x8e NKO LETTER U
+<U07CF> /xdf/x8f NKO LETTER OO
+<U07D0> /xdf/x90 NKO LETTER O
+<U07D1> /xdf/x91 NKO LETTER DAGBASINNA
+<U07D2> /xdf/x92 NKO LETTER N
+<U07D3> /xdf/x93 NKO LETTER BA
+<U07D4> /xdf/x94 NKO LETTER PA
+<U07D5> /xdf/x95 NKO LETTER TA
+<U07D6> /xdf/x96 NKO LETTER JA
+<U07D7> /xdf/x97 NKO LETTER CHA
+<U07D8> /xdf/x98 NKO LETTER DA
+<U07D9> /xdf/x99 NKO LETTER RA
+<U07DA> /xdf/x9a NKO LETTER RRA
+<U07DB> /xdf/x9b NKO LETTER SA
+<U07DC> /xdf/x9c NKO LETTER GBA
+<U07DD> /xdf/x9d NKO LETTER FA
+<U07DE> /xdf/x9e NKO LETTER KA
+<U07DF> /xdf/x9f NKO LETTER LA
+<U07E0> /xdf/xa0 NKO LETTER NA WOLOSO
+<U07E1> /xdf/xa1 NKO LETTER MA
+<U07E2> /xdf/xa2 NKO LETTER NYA
+<U07E3> /xdf/xa3 NKO LETTER NA
+<U07E4> /xdf/xa4 NKO LETTER HA
+<U07E5> /xdf/xa5 NKO LETTER WA
+<U07E6> /xdf/xa6 NKO LETTER YA
+<U07E7> /xdf/xa7 NKO LETTER NYA WOLOSO
+<U07E8> /xdf/xa8 NKO LETTER JONA JA
+<U07E9> /xdf/xa9 NKO LETTER JONA CHA
+<U07EA> /xdf/xaa NKO LETTER JONA RA
+<U07EB> /xdf/xab NKO COMBINING SHORT HIGH TONE
+<U07EC> /xdf/xac NKO COMBINING SHORT LOW TONE
+<U07ED> /xdf/xad NKO COMBINING SHORT RISING TONE
+<U07EE> /xdf/xae NKO COMBINING LONG DESCENDING TONE
+<U07EF> /xdf/xaf NKO COMBINING LONG HIGH TONE
+<U07F0> /xdf/xb0 NKO COMBINING LONG LOW TONE
+<U07F1> /xdf/xb1 NKO COMBINING LONG RISING TONE
+<U07F2> /xdf/xb2 NKO COMBINING NASALIZATION MARK
+<U07F3> /xdf/xb3 NKO COMBINING DOUBLE DOT ABOVE
+<U07F4> /xdf/xb4 NKO HIGH TONE APOSTROPHE
+<U07F5> /xdf/xb5 NKO LOW TONE APOSTROPHE
+<U07F6> /xdf/xb6 NKO SYMBOL OO DENNEN
+<U07F7> /xdf/xb7 NKO SYMBOL GBAKURUNEN
+<U07F8> /xdf/xb8 NKO COMMA
+<U07F9> /xdf/xb9 NKO EXCLAMATION MARK
+<U07FA> /xdf/xba NKO LAJANYALAN
<U0901> /xe0/xa4/x81 DEVANAGARI SIGN CANDRABINDU
<U0902> /xe0/xa4/x82 DEVANAGARI SIGN ANUSVARA
<U0903> /xe0/xa4/x83 DEVANAGARI SIGN VISARGA
@@ -2354,6 +2353,7 @@
<U0B6E> /xe0/xad/xae ORIYA DIGIT EIGHT
<U0B6F> /xe0/xad/xaf ORIYA DIGIT NINE
<U0B70> /xe0/xad/xb0 ORIYA ISSHAR
+<U0B71> /xe0/xad/xb1 ORIYA LETTER WA
<U0B82> /xe0/xae/x82 TAMIL SIGN ANUSVARA
<U0B83> /xe0/xae/x83 TAMIL SIGN VISARGA
<U0B85> /xe0/xae/x85 TAMIL LETTER A
@@ -7841,6 +7841,17 @@
<U27BC> /xe2/x9e/xbc WEDGE-TAILED RIGHTWARDS ARROW
<U27BD> /xe2/x9e/xbd HEAVY WEDGE-TAILED RIGHTWARDS ARROW
<U27BE> /xe2/x9e/xbe OPEN-OUTLINED RIGHTWARDS ARROW
+<U27C0> /xe2/x9f/x80 THREE DIMENSIONAL ANGLE
+<U27C1> /xe2/x9f/x81 WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE
+<U27C2> /xe2/x9f/x82 PERPENDICULAR
+<U27C3> /xe2/x9f/x83 OPEN SUBSET
+<U27C4> /xe2/x9f/x84 OPEN SUPERSET
+<U27C5> /xe2/x9f/x85 LEFT S-SHAPED BAG DELIMITER
+<U27C6> /xe2/x9f/x86 RIGHT S-SHAPED BAG DELIMITER
+<U27C7> /xe2/x9f/x87 OR WITH DOT INSIDE
+<U27C8> /xe2/x9f/x88 REVERSE SOLIDUS PRECEDING SUBSET
+<U27C9> /xe2/x9f/x89 SUPERSET PRECEDING SOLIDUS
+<U27CA> /xe2/x9f/x8a VERTICAL BAR WITH HORIZONTAL STROKE
<U27D0> /xe2/x9f/x90 WHITE DIAMOND WITH CENTRED DOT
<U27D1> /xe2/x9f/x91 AND WITH DOT
<U27D2> /xe2/x9f/x92 ELEMENT OF OPENING UPWARDS
Modified: trunk/libc/localedata/de_DE.in
==============================================================================
--- trunk/libc/localedata/de_DE.in (original)
+++ trunk/libc/localedata/de_DE.in Mon Oct 8 08:18:44 2007
@@ -40,8 +40,8 @@
Fussel : fluff
fusseln : to wear of fluff
füßeln : play footsie [under the table]
+Füssen : Füssen (town)
fußen : to be based [on]
-Füssen : Füssen (town)
Füßen (dat. pl. of "Fuß") : [to the] feet
in Massen : in large numbers
in Maßen : moderately
@@ -49,9 +49,9 @@
Mass. (Massachusetts) : Massachusetts (state)
Maß : measure
Masse : mass
-Massé : (particular billard stroke)
Maße (pl. of "Maß") : measures
mäße (pres. conj. of "messen") : take measure (e.g. in indirect speech)
+Massé : (particular billard stroke)
Massen- : mass; wholesale; bulk (in compound nouns)
massig : massive
mäßig : moderate; modest
@@ -60,8 +60,8 @@
Passe : yoke (of dress)
passé : over, gone
Schlagerforderung : claim, demanded in a pop song
+Schlägerforderung : demand of a hooligan
Schlagerförderung : promotion of pop music
-Schlägerforderung : demand of a hooligan
Schlägerförderung : promotion of hooliganism :-)
Schurz : apron
Schürze : apron
Modified: trunk/libc/localedata/locales/am_ET
==============================================================================
--- trunk/libc/localedata/locales/am_ET (original)
+++ trunk/libc/localedata/locales/am_ET Mon Oct 8 08:18:44 2007
@@ -56,13 +56,13 @@
LC_COLLATE
%
+% Copy the template from ISO/IEC 14651
+%
+copy "iso14651_t1"
+%
% The ETHIOPIC script declaration must come first.
%
script <ETHIOPIC>
-%
-% Copy the template from ISO/IEC 14651
-%
-copy "iso14651_t1"
%
% Correcting Unicode's linguistic ordering to the traditional.
%
Modified: trunk/libc/localedata/locales/cs_CZ
==============================================================================
--- trunk/libc/localedata/locales/cs_CZ (original)
+++ trunk/libc/localedata/locales/cs_CZ Mon Oct 8 08:18:44 2007
@@ -301,10 +301,10 @@
% <CAPITAL> or <SMALL> letters first:
+<SMALL-CAPITAL>
+<SMALL>
<CAPITAL>
<CAPITAL-SMALL>
-<SMALL-CAPITAL>
-<SMALL>
% Accents:
% Poøadí akcentù: nahoøe, dole, vzadu, vpøedu, uvnitø nebo pøes písmeno
Modified: trunk/libc/localedata/locales/da_DK
==============================================================================
--- trunk/libc/localedata/locales/da_DK (original)
+++ trunk/libc/localedata/locales/da_DK Mon Oct 8 08:18:44 2007
@@ -66,6 +66,7 @@
collating-symbol <ae>
collating-symbol <o-stroke>
collating-symbol <a-ring>
+collating-symbol <ETH>
reorder-after <RES-1>
<CAP>
@@ -208,6 +209,9 @@
date_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
<U0025><U005A><U0020><U0025><U0059>"
+week 7;19971201;4
+first_weekday 1
+first_workday 1
END LC_TIME
LC_MESSAGES
Modified: trunk/libc/localedata/locales/en_GB
==============================================================================
--- trunk/libc/localedata/locales/en_GB (original)
+++ trunk/libc/localedata/locales/en_GB Mon Oct 8 08:18:44 2007
@@ -121,6 +121,9 @@
date_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
<U0025><U005A><U0020><U0025><U0059>"
+week 7;19971201;4
+first_weekday 1
+first_workday 1
END LC_TIME
LC_MESSAGES
Modified: trunk/libc/localedata/locales/et_EE
==============================================================================
--- trunk/libc/localedata/locales/et_EE (original)
+++ trunk/libc/localedata/locales/et_EE Mon Oct 8 08:18:44 2007
@@ -2196,6 +2196,9 @@
date_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
<U0025><U005A><U0020><U0025><U0059>"
+week 7;19971201;4
+first_weekday 1
+first_workday 1
END LC_TIME
LC_MESSAGES
Modified: trunk/libc/localedata/locales/fa_IR
==============================================================================
--- trunk/libc/localedata/locales/fa_IR (original)
+++ trunk/libc/localedata/locales/fa_IR Mon Oct 8 08:18:44 2007
@@ -101,6 +101,7 @@
collating-symbol <ALT2>
collating-element <Alef-Madda> from "<U0627><U0653>"
+collating-element <Alef-Hamza> from "<U0627><U0654>"
collating-element <Alef-HamzaBelow> from "<U0627><U0655>"
collating-element <Waw-Hamza> from "<U0648><U0654>"
collating-element <AlefMaksura-Hamza> from "<U0649><U0654>"
Modified: trunk/libc/localedata/locales/fr_FR
==============================================================================
--- trunk/libc/localedata/locales/fr_FR (original)
+++ trunk/libc/localedata/locales/fr_FR Mon Oct 8 08:18:44 2007
[... 4182 lines stripped ...]