--- glibc-2.3.6.orig/debian/wrapper/objcopy +++ glibc-2.3.6/debian/wrapper/objcopy @@ -0,0 +1,11 @@ +#!/bin/sh + +case " $* " in + *" --only-keep-debug "*) + exec /usr/bin/objcopy -R .debug_info -R .debug_aranges -R .debug_pubnames \ + -R .debug_abbrev -R .debug_line -R .debug_str -R .debug_ranges \ + -R .comment -R .note "$@" + ;; +esac + +exec /usr/bin/objcopy "$@" --- glibc-2.3.6.orig/debian/control.in/opt +++ glibc-2.3.6/debian/control.in/opt @@ -0,0 +1,100 @@ +Package: libc6-sparcv9b +Architecture: sparc +Section: libs +Priority: extra +Pre-Depends: @libc@ (= ${Source-Version}) +Description: GNU C Library: Shared libraries [v9b optimized] + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C + library and the standard math library, as well as many others. + . + This set of libraries is optimized for UltraSPARC-III and derivative + processors. It only needs to be installed on machines using + UltraSPARC-III and derivatives. If you install this on a machine without + such chips, it won't even be used. + . + WARNING: Some commercial programs do not work well with these libraries. + Most notably, IBM's JDK. If you experience problems with such + applications, you will need to remove this package. + +Package: libc6-sparcv9v +Architecture: sparc +Section: libs +Priority: extra +Pre-Depends: @libc@ (= ${Source-Version}) +Description: GNU C Library: Shared libraries [v9v optimized] + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C + library and the standard math library, as well as many others. + . + This set of libraries is optimized for SUN4V Niagara and derivative + processors. It only needs to be installed on machines using + SUN4V Niagara and derivatives. If you install this on a machine without + such chips, it won't even be used. + . + WARNING: Some commercial programs do not work well with these libraries. + Most notably, IBM's JDK. If you experience problems with such + applications, you will need to remove this package. + +Package: libc6-sparc64b +Architecture: sparc +Section: base +Priority: extra +Depends: libc6 (= ${Source-Version}), lib64gcc1 +Conflicts: gcc-3.0 (<< 1:3.0.4ds3-11), libgcc1 (<< 1:3.0.4ds3-11), fakeroot (<< 0.4.5-2.7) +Description: GNU C Library: 64bit Shared libraries for UltraSPARC [v9b optimized] + This package includes shared versions of the standard C library and the + standard math library, as well as many others. This is the 64bit version + of the library, meant for UltraSPARC systems. + . + This set of libraries is optimized for UltraSPARC-III and derivative + processors. It only needs to be installed on machines using + UltraSPARC-III and derivatives. If you install this on a machine without + such chips, it won't even be used. + . + WARNING: Some commercial programs do not work well with these libraries. + Most notably, IBM's JDK. If you experience problems with such + applications, you will need to remove this package. + +Package: libc6-sparc64v +Architecture: sparc +Section: base +Priority: extra +Depends: libc6 (= ${Source-Version}), lib64gcc1 +Conflicts: gcc-3.0 (<< 1:3.0.4ds3-11), libgcc1 (<< 1:3.0.4ds3-11), fakeroot (<< 0.4.5-2.7) +Description: GNU C Library: 64bit Shared libraries for UltraSPARC [v9v optimized] + This package includes shared versions of the standard C library and the + standard math library, as well as many others. This is the 64bit version + of the library, meant for UltraSPARC systems. + . + This set of libraries is optimized for SUN4V Niagara and derivative + processors. It only needs to be installed on machines using + SUN4V Niagara and derivatives. If you install this on a machine without + such chips, it won't even be used. + . + WARNING: Some commercial programs do not work well with these libraries. + Most notably, IBM's JDK. If you experience problems with such + applications, you will need to remove this package. + +Package: libc6-i686 +Architecture: i386 +Section: libs +Priority: extra +Pre-Depends: @libc@ (= ${Source-Version}) +Description: GNU C Library: Shared libraries [i686 optimized] + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C + library and the standard math library, as well as many others. + . + This set of libraries is optimized for i686 machines, and will only be + used if you are running a 2.6 kernel on an i686 class CPU (check the + output of `uname -m'). This includes Pentium Pro, Pentium II/III/IV, + Celeron CPU's and similar class CPU's (including clones such as AMD + Athlon/Opteron, VIA C3 Nehemiah, but not VIA C3 Ezla). + . + This package includes support for NPTL. + . + WARNING: Some third-party binaries may not work well with these libraries. + Most notably, IBM's JDK. If you experience problems with such + applications, you will need to remove this package. + --- glibc-2.3.6.orig/debian/control.in/i386 +++ glibc-2.3.6/debian/control.in/i386 @@ -0,0 +1,22 @@ +Package: libc6-i386 +Architecture: amd64 +Section: base +Priority: required +Replaces: ia32-libs (<= 1.4ubuntu4) +Depends: libc6 (= ${Source-Version}), lib32gcc1 +Description: GNU C Library: 32bit Shared libraries for amd64 + This package includes shared versions of the standard C library and the + standard math library, as well as many others. This is the 32bit version + of the library, meant for amd64 systems. + +Package: libc6-dev-i386 +Architecture: amd64 +Section: libdevel +Priority: standard +Replaces: ia32-libs-dev (<= 1.4ubuntu4) +Depends: libc6-i386 (= ${Source-Version}), libc6-dev (= ${Source-Version}) +Description: GNU C Library: 32bit Development Libraries for amd64 + Contains the symlinks and object files needed to compile and link programs + which use the standard C library. This is the 32bit version of the + library, meant for amd64 systems. + --- glibc-2.3.6.orig/debian/control.in/amd64 +++ glibc-2.3.6/debian/control.in/amd64 @@ -0,0 +1,23 @@ +Package: libc6-amd64 +Architecture: i386 +Section: libs +Priority: standard +Depends: libc6 (= ${Source-Version}), lib64gcc1 +Conflicts: amd64-libs (<= 1.2) +Description: GNU C Library: 64bit Shared libraries for AMD64 + This package includes shared versions of the standard C library and the + standard math library, as well as many others. This is the 64bit version + of the library, meant for AMD64 systems. + +Package: libc6-dev-amd64 +Architecture: i386 +Section: libdevel +Priority: optional +Depends: libc6-amd64 (= ${Source-Version}), libc6-dev (= ${Source-Version}) +Replaces: amd64-libs-dev (<= 1.2) +Provides: lib64c-dev +Description: GNU C Library: 64bit Development Libraries for AMD64 + Contains the symlinks and object files needed to compile and link programs + which use the standard C library. This is the 64bit version of the + library, meant for AMD64 systems. + --- glibc-2.3.6.orig/debian/control.in/libc +++ glibc-2.3.6/debian/control.in/libc @@ -0,0 +1,73 @@ +Package: @libc@ +Architecture: @archs@ +Section: libs +Priority: required +Provides: ${locale:Depends} +Description: GNU C Library: Shared libraries and Timezone data + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C library + and the standard math library, as well as many others. + Timezone data is also included. + +Package: @libc@-dev +Architecture: @archs@ +Section: libdevel +Priority: standard +Depends: @libc@ (= ${Source-Version}) +Recommends: gcc | c-compiler +Description: GNU C Library: Development Libraries and Header Files + Contains the symlinks, headers, and object files needed to compile + and link programs which use the standard C library. + +Package: @libc@-dbg +Architecture: @archs@ +Section: libdevel +Priority: extra +Provides: libc-dbg +Depends: @libc@ (= ${Source-Version}) +Description: GNU C Library: Libraries with debugging symbols + Contains unstripped shared libraries. + This package is provided primarily to provide a backtrace with + names in a debugger, this makes it somewhat easier to interpret core + dumps. The libraries are installed in /usr/lib/debug and can be + used by placing that directory in LD_LIBRARY_PATH. + Most people will not need this package. + +Package: @libc@-prof +Architecture: @archs@ +Section: libdevel +Priority: extra +Depends: @libc@ (= ${Source-Version}) +Description: GNU C Library: Profiling Libraries + Static libraries compiled with profiling info (-pg) suitable for use + with gprof. + +Package: @libc@-pic +Architecture: @archs@ +Section: libdevel +Priority: optional +Conflicts: libc-pic +Provides: libc-pic, glibc-pic +Depends: @libc@ (= ${Source-Version}) +Description: GNU C Library: PIC archive library + Contains an archive library (ar file) composed of individual shared objects. + This is used for creating a library which is a smaller subset of the + standard libc shared library. The reduced library is used on the Debian + boot floppies. If you are not making your own set of Debian boot floppies + using the `boot-floppies' package, you probably don't need this package. + +Package: @libc@-udeb +XC-Package-Type: udeb +Architecture: @archs@ +Section: debian-installer +Priority: extra +Provides: @libc@, libc-udeb, ${locale:Depends} +Depends: libnss-dns-udeb, libnss-files-udeb +Description: GNU C Library: Shared libraries - udeb + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C library + and the standard math library, as well as many others. + . + This package contains a minimal set of libraries needed for the Debian + installer. Do not install it on a normal system. + --- glibc-2.3.6.orig/debian/control.in/main +++ glibc-2.3.6/debian/control.in/main @@ -0,0 +1,33 @@ +Source: @glibc@ +Section: libs +Priority: required +Build-Depends: gettext (>= 0.10.37-1), make (>= 3.80-1), dpkg-dev (>= 1.4.1.5), debianutils (>= 1.13.1), tar (>= 1.13.11), bzip2, texinfo (>= 4.0), linux-kernel-headers (>= 2.6.11.2-0) [!hurd-i386], mig (>= 1.3-2) [hurd-i386], hurd-dev (>= 20020608-1) [hurd-i386], gnumach-dev [hurd-i386], texi2html, file, gcc-3.4 [!ia64 !powerpc], gcc-3.4 (>= 3.4.3-6ubuntu1) [ia64], gcc-3.4 (>= 3.4.4-0ubuntu4) [powerpc], g++-4.0, autoconf, binutils (>= 2.16.1-0), sed (>= 4.0.5-4), gawk, debhelper (>= 5.0.0), libc6-dev-ppc64 [powerpc], libc6-dev-amd64 [i386], libc6-dev-i386 [amd64] +Build-Depends-Indep: perl, po-debconf +Maintainer: GNU Libc Maintainers +Uploaders: Ben Collins , GOTO Masanori , Philip Blundell , Jeff Bailey , Daniel Jacobowitz +Standards-Version: 3.6.1.0 + +Package: @glibc@-doc +Architecture: all +Section: doc +Priority: optional +Conflicts: libc-doc, libc6-doc, glibcdoc +Replaces: libc-doc, libc6-doc, glibcdoc +Provides: libc-doc +Description: GNU C Library: Documentation + Contains The GNU C Library Reference manual in info and html format as + well as man pages for libpthread functions. Also included is the complete + GNU C Library ChangeLog. + +Package: nscd +Architecture: @threads_archs@ +Section: admin +Priority: optional +Depends: @libc@ (>= ${Source-Version}) +Replaces: @libc@ (<< 2.1-4) +Description: GNU C Library: Name Service Cache Daemon + A daemon which handles passwd, group and host lookups + for running programs and caches the results for the next + query. You should install this package only if you use + slow Services like LDAP, NIS or NIS+ + --- glibc-2.3.6.orig/debian/control.in/sparc64 +++ glibc-2.3.6/debian/control.in/sparc64 @@ -0,0 +1,21 @@ +Package: libc6-sparc64 +Architecture: sparc +Section: base +Priority: required +Depends: libc6 (= ${Source-Version}), lib64gcc1 +Conflicts: gcc-3.0 (<< 1:3.0.4ds3-11), libgcc1 (<< 1:3.0.4ds3-11), fakeroot (<< 0.4.5-2.7) +Description: GNU C Library: 64bit Shared libraries for UltraSPARC + This package includes shared versions of the standard C library and the + standard math library, as well as many others. This is the 64bit version + of the library, meant for UltraSPARC systems. + +Package: libc6-dev-sparc64 +Architecture: sparc +Section: libdevel +Priority: standard +Depends: libc6-sparc64 (= ${Source-Version}), libc6-dev (= ${Source-Version}) +Description: GNU C Library: 64bit Development Libraries for UltraSPARC + Contains the symlinks and object files needed to compile and link programs + which use the standard C library. This is the 64bit version of the + library, meant for UltraSPARC systems. + --- glibc-2.3.6.orig/debian/control.in/libc-dbg +++ glibc-2.3.6/debian/control.in/libc-dbg @@ -0,0 +1,13 @@ +Package: @libc@-dbg +Architecture: @archs@ +Section: libdevel +Priority: extra +Provides: libc-dbg +Depends: @libc@ (= ${Source-Version}) +Description: GNU C Library: Libraries with debugging symbols + Unstripped shared libraries and separated debug information + for the GNU C library. + . + This package improves the accuracy of backtraces which pass through + the standard C libraries. A version of the libraries with complete + symbolic debug information is also included. --- glibc-2.3.6.orig/debian/control.in/.cvsignore +++ glibc-2.3.6/debian/control.in/.cvsignore @@ -0,0 +1,4 @@ +libc0.3 +libc1 +libc6 +libc6.1 --- glibc-2.3.6.orig/debian/control.in/s390x +++ glibc-2.3.6/debian/control.in/s390x @@ -0,0 +1,21 @@ + +Package: libc6-s390x +Architecture: s390 +Section: base +Priority: required +Depends: libc6 (= ${Source-Version}) +Description: GNU C Library: 64bit Shared libraries for IBM zSeries + This package includes shared versions of the standard C library and the + standard math library, as well as many others. This is the 64bit version + of the library, meant for zSeries systems. + +Package: libc6-dev-s390x +Architecture: s390 +Section: libdevel +Priority: standard +Depends: libc6-s390x (= ${Source-Version}), libc6-dev (= ${Source-Version}) +Description: GNU C Library: 64bit Development Libraries for IBM zSeries + Contains the symlinks and object files needed to compile and link programs + which use the standard C library. This is the 64bit version of the + library, meant for zSeries systems. + --- glibc-2.3.6.orig/debian/control.in/libc6 +++ glibc-2.3.6/debian/control.in/libc6 @@ -0,0 +1,73 @@ +Package: libc6 +Architecture: amd64 arm armeb i386 m68k mips mipsel powerpc sparc s390 hppa sh3 sh4 sh3eb sh4eb +Section: libs +Priority: required +Provides: ${locale:Depends} +Description: GNU C Library: Shared libraries and Timezone data + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C library + and the standard math library, as well as many others. + Timezone data is also included. + +Package: libc6-dev +Architecture: amd64 arm armeb i386 m68k mips mipsel powerpc sparc s390 hppa sh3 sh4 sh3eb sh4eb +Section: libdevel +Priority: standard +Depends: libc6 (= ${Source-Version}) +Recommends: gcc | c-compiler +Description: GNU C Library: Development Libraries and Header Files + Contains the symlinks, headers, and object files needed to compile + and link programs which use the standard C library. + +Package: libc6-dbg +Architecture: amd64 arm armeb i386 m68k mips mipsel powerpc sparc s390 hppa sh3 sh4 sh3eb sh4eb +Section: libdevel +Priority: extra +Provides: libc-dbg +Depends: libc6 (= ${Source-Version}) +Description: GNU C Library: Libraries with debugging symbols + Contains unstripped shared libraries. + This package is provided primarily to provide a backtrace with + names in a debugger, this makes it somewhat easier to interpret core + dumps. The libraries are installed in /usr/lib/debug and can be + used by placing that directory in LD_LIBRARY_PATH. + Most people will not need this package. + +Package: libc6-prof +Architecture: amd64 arm armeb i386 m68k mips mipsel powerpc sparc s390 hppa sh3 sh4 sh3eb sh4eb +Section: libdevel +Priority: extra +Depends: libc6 (= ${Source-Version}) +Description: GNU C Library: Profiling Libraries + Static libraries compiled with profiling info (-pg) suitable for use + with gprof. + +Package: libc6-pic +Architecture: amd64 arm armeb i386 m68k mips mipsel powerpc sparc s390 hppa sh3 sh4 sh3eb sh4eb +Section: libdevel +Priority: optional +Conflicts: libc-pic +Provides: libc-pic, glibc-pic +Depends: libc6 (= ${Source-Version}) +Description: GNU C Library: PIC archive library + Contains an archive library (ar file) composed of individual shared objects. + This is used for creating a library which is a smaller subset of the + standard libc shared library. The reduced library is used on the Debian + boot floppies. If you are not making your own set of Debian boot floppies + using the `boot-floppies' package, you probably don't need this package. + +Package: libc6-udeb +XC-Package-Type: udeb +Architecture: amd64 arm armeb i386 m68k mips mipsel powerpc sparc s390 hppa sh3 sh4 sh3eb sh4eb +Section: debian-installer +Priority: extra +Provides: libc6, libc-udeb, ${locale:Depends} +Depends: libnss-dns-udeb, libnss-files-udeb +Description: GNU C Library: Shared libraries - udeb + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C library + and the standard math library, as well as many others. + . + This package contains a minimal set of libraries needed for the Debian + installer. Do not install it on a normal system. + --- glibc-2.3.6.orig/debian/control.in/libnss-files-udeb +++ glibc-2.3.6/debian/control.in/libnss-files-udeb @@ -0,0 +1,13 @@ +Package: libnss-files-udeb +XC-Package-Type: udeb +Architecture: any +Section: debian-installer +Priority: extra +Description: GNU C Library: NSS helper for files - udeb + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C library + and the standard math library, as well as many others. + . + This package contains the files NSS helper needed for the Debian installer. + Do not install it on a normal system. + --- glibc-2.3.6.orig/debian/control.in/libc6.1 +++ glibc-2.3.6/debian/control.in/libc6.1 @@ -0,0 +1,73 @@ +Package: libc6.1 +Architecture: alpha ia64 +Section: libs +Priority: required +Provides: ${locale:Depends} +Description: GNU C Library: Shared libraries and Timezone data + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C library + and the standard math library, as well as many others. + Timezone data is also included. + +Package: libc6.1-dev +Architecture: alpha ia64 +Section: libdevel +Priority: standard +Depends: libc6.1 (= ${Source-Version}) +Recommends: gcc | c-compiler +Description: GNU C Library: Development Libraries and Header Files + Contains the symlinks, headers, and object files needed to compile + and link programs which use the standard C library. + +Package: libc6.1-dbg +Architecture: alpha ia64 +Section: libdevel +Priority: extra +Provides: libc-dbg +Depends: libc6.1 (= ${Source-Version}) +Description: GNU C Library: Libraries with debugging symbols + Contains unstripped shared libraries. + This package is provided primarily to provide a backtrace with + names in a debugger, this makes it somewhat easier to interpret core + dumps. The libraries are installed in /usr/lib/debug and can be + used by placing that directory in LD_LIBRARY_PATH. + Most people will not need this package. + +Package: libc6.1-prof +Architecture: alpha ia64 +Section: libdevel +Priority: extra +Depends: libc6.1 (= ${Source-Version}) +Description: GNU C Library: Profiling Libraries + Static libraries compiled with profiling info (-pg) suitable for use + with gprof. + +Package: libc6.1-pic +Architecture: alpha ia64 +Section: libdevel +Priority: optional +Conflicts: libc-pic +Provides: libc-pic, glibc-pic +Depends: libc6.1 (= ${Source-Version}) +Description: GNU C Library: PIC archive library + Contains an archive library (ar file) composed of individual shared objects. + This is used for creating a library which is a smaller subset of the + standard libc shared library. The reduced library is used on the Debian + boot floppies. If you are not making your own set of Debian boot floppies + using the `boot-floppies' package, you probably don't need this package. + +Package: libc6.1-udeb +XC-Package-Type: udeb +Architecture: alpha ia64 +Section: debian-installer +Priority: extra +Provides: libc6.1, libc-udeb, ${locale:Depends} +Depends: libnss-dns-udeb, libnss-files-udeb +Description: GNU C Library: Shared libraries - udeb + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C library + and the standard math library, as well as many others. + . + This package contains a minimal set of libraries needed for the Debian + installer. Do not install it on a normal system. + --- glibc-2.3.6.orig/debian/control.in/libnss-dns-udeb +++ glibc-2.3.6/debian/control.in/libnss-dns-udeb @@ -0,0 +1,13 @@ +Package: libnss-dns-udeb +XC-Package-Type: udeb +Architecture: any +Section: debian-installer +Priority: extra +Description: GNU C Library: NSS helper for DNS - udeb + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C library + and the standard math library, as well as many others. + . + This package contains the DNS NSS helper needed for the Debian installer. + Do not install it on a normal system. + --- glibc-2.3.6.orig/debian/control.in/libc0.3 +++ glibc-2.3.6/debian/control.in/libc0.3 @@ -0,0 +1,73 @@ +Package: libc0.3 +Architecture: hurd-i386 +Section: libs +Priority: required +Provides: ${locale:Depends} +Description: GNU C Library: Shared libraries and Timezone data + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C library + and the standard math library, as well as many others. + Timezone data is also included. + +Package: libc0.3-dev +Architecture: hurd-i386 +Section: libdevel +Priority: standard +Depends: libc0.3 (= ${Source-Version}) +Recommends: gcc | c-compiler +Description: GNU C Library: Development Libraries and Header Files + Contains the symlinks, headers, and object files needed to compile + and link programs which use the standard C library. + +Package: libc0.3-dbg +Architecture: hurd-i386 +Section: libdevel +Priority: extra +Provides: libc-dbg +Depends: libc0.3 (= ${Source-Version}) +Description: GNU C Library: Libraries with debugging symbols + Contains unstripped shared libraries. + This package is provided primarily to provide a backtrace with + names in a debugger, this makes it somewhat easier to interpret core + dumps. The libraries are installed in /usr/lib/debug and can be + used by placing that directory in LD_LIBRARY_PATH. + Most people will not need this package. + +Package: libc0.3-prof +Architecture: hurd-i386 +Section: libdevel +Priority: extra +Depends: libc0.3 (= ${Source-Version}) +Description: GNU C Library: Profiling Libraries + Static libraries compiled with profiling info (-pg) suitable for use + with gprof. + +Package: libc0.3-pic +Architecture: hurd-i386 +Section: libdevel +Priority: optional +Conflicts: libc-pic +Provides: libc-pic, glibc-pic +Depends: libc0.3 (= ${Source-Version}) +Description: GNU C Library: PIC archive library + Contains an archive library (ar file) composed of individual shared objects. + This is used for creating a library which is a smaller subset of the + standard libc shared library. The reduced library is used on the Debian + boot floppies. If you are not making your own set of Debian boot floppies + using the `boot-floppies' package, you probably don't need this package. + +Package: libc0.3-udeb +XC-Package-Type: udeb +Architecture: hurd-i386 +Section: debian-installer +Priority: extra +Provides: libc0.3, libc-udeb, ${locale:Depends} +Depends: libnss-dns-udeb, libnss-files-udeb +Description: GNU C Library: Shared libraries - udeb + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C library + and the standard math library, as well as many others. + . + This package contains a minimal set of libraries needed for the Debian + installer. Do not install it on a normal system. + --- glibc-2.3.6.orig/debian/control.in/libc1 +++ glibc-2.3.6/debian/control.in/libc1 @@ -0,0 +1,73 @@ +Package: libc1 +Architecture: freebsd-i386 +Section: libs +Priority: required +Provides: ${locale:Depends} +Description: GNU C Library: Shared libraries and Timezone data + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C library + and the standard math library, as well as many others. + Timezone data is also included. + +Package: libc1-dev +Architecture: freebsd-i386 +Section: libdevel +Priority: standard +Depends: libc1 (= ${Source-Version}) +Recommends: gcc | c-compiler +Description: GNU C Library: Development Libraries and Header Files + Contains the symlinks, headers, and object files needed to compile + and link programs which use the standard C library. + +Package: libc1-dbg +Architecture: freebsd-i386 +Section: libdevel +Priority: extra +Provides: libc-dbg +Depends: libc1 (= ${Source-Version}) +Description: GNU C Library: Libraries with debugging symbols + Contains unstripped shared libraries. + This package is provided primarily to provide a backtrace with + names in a debugger, this makes it somewhat easier to interpret core + dumps. The libraries are installed in /usr/lib/debug and can be + used by placing that directory in LD_LIBRARY_PATH. + Most people will not need this package. + +Package: libc1-prof +Architecture: freebsd-i386 +Section: libdevel +Priority: extra +Depends: libc1 (= ${Source-Version}) +Description: GNU C Library: Profiling Libraries + Static libraries compiled with profiling info (-pg) suitable for use + with gprof. + +Package: libc1-pic +Architecture: freebsd-i386 +Section: libdevel +Priority: optional +Conflicts: libc-pic +Provides: libc-pic, glibc-pic +Depends: libc1 (= ${Source-Version}) +Description: GNU C Library: PIC archive library + Contains an archive library (ar file) composed of individual shared objects. + This is used for creating a library which is a smaller subset of the + standard libc shared library. The reduced library is used on the Debian + boot floppies. If you are not making your own set of Debian boot floppies + using the `boot-floppies' package, you probably don't need this package. + +Package: libc1-udeb +XC-Package-Type: udeb +Architecture: freebsd-i386 +Section: debian-installer +Priority: extra +Provides: libc1, libc-udeb, ${locale:Depends} +Depends: libnss-dns-udeb, libnss-files-udeb +Description: GNU C Library: Shared libraries - udeb + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C library + and the standard math library, as well as many others. + . + This package contains a minimal set of libraries needed for the Debian + installer. Do not install it on a normal system. + --- glibc-2.3.6.orig/debian/control.in/ppc64 +++ glibc-2.3.6/debian/control.in/ppc64 @@ -0,0 +1,20 @@ +Package: libc6-ppc64 +Architecture: powerpc +Section: base +Priority: required +Depends: libc6 (= ${Source-Version}), lib64gcc1 +Description: GNU C Library: 64bit Shared libraries for PowerPC + This package includes shared versions of the standard C library and the + standard math library, as well as many others. This is the 64bit version + of the library, meant for PowerPC systems. + +Package: libc6-dev-ppc64 +Architecture: powerpc +Section: libdevel +Priority: standard +Depends: libc6-ppc64 (= ${Source-Version}), libc6-dev (= ${Source-Version}) +Description: GNU C Library: 64bit Development Libraries for PowerPC + Contains the symlinks and object files needed to compile and link programs + which use the standard C library. This is the 64bit version of the + library, meant for PowerPC systems. + --- glibc-2.3.6.orig/debian/control.in/zoneinfo-udeb +++ glibc-2.3.6/debian/control.in/zoneinfo-udeb @@ -0,0 +1,9 @@ +Package: zoneinfo-udeb +XC-Package-Type: udeb +Architecture: all +Section: debian-installer +Priority: extra +Description: GNU C Library: Time zone information tables - udeb + Contains time zone information tables for use in the installer. Do not + install this package on a normal system. + --- glibc-2.3.6.orig/debian/patches/locale-C.dpatch +++ glibc-2.3.6/debian/patches/locale-C.dpatch @@ -0,0 +1,42 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: #327025 C locale has bad default for _NL_TIME_FIRST_WEEKDAY +# DP: Also fixes the 3rd value of the week keyword. +# DP: Related bugs: #327025 BZ181 +# DP: Dpatch author: Denis Barbier +# DP: Patch author: Petter Reinholdtsen +# DP: Upstream status: BZ181 +# DP: Date: 2006-01-10 + +PATCHLEVEL=0 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +Index: locale/C-time.c +=================================================================== +--- locale/C-time.c.orig ++++ locale/C-time.c +@@ -135,10 +135,10 @@ + { .wstr = (const uint32_t *) L"" }, + { .string = "\7" }, + { .word = 19971130 }, +- { .string = "\4" }, + { .string = "\7" }, + { .string = "\1" }, + { .string = "\1" }, ++ { .string = "\1" }, + { .string = "" }, + { .string = "%a %b %e %H:%M:%S %Z %Y" }, + { .wstr = (const uint32_t *) L"%a %b %e %H:%M:%S %Z %Y" }, --- glibc-2.3.6.orig/debian/patches/00list +++ glibc-2.3.6/debian/patches/00list @@ -0,0 +1,64 @@ +#amd64-lib - DO NOT DELETE. This is applied selectively for amd64 +## Going to try to put some order to these patches. +## Trying this: +## {local|branch|cvs|submitted}-{ARCH|all}-{"Description}" +## Branch means commited in the upstream branch. +## CVS means committed in the upstream trunk. +## Submitted means we're hopeful that it will go in. +## Local means that it's not going upstream. +## The goal is to get all patches to "Branch". Patches should be split by +## arch so that it's easy to send just the relevant bits to various +## arch maintainers if needed. +## Branch: +## CVS: +cvs-all-tlscrash +cvs-all-strxfrm +cvs-sparc-datastart +cvs-mash-rlimit-rtprio +cvs-all-regcomp +## Submitted: +submitted-hppa-drop-utimes +submitted-hppa-configure +submitted-hppa-linuxthreads +submitted-hppa-sysdeps +submitted-hppa-iitlbp +submitted-hppa-fenv-align +submitted-hppa-fpu +submitted-nis-netgrp +## Local: +local-i386-i686biarch +local-sparc-v9biarch +local-all-makeconfig +local-all-ldconfig +local-all-ldd +local-all-linuxfhs +local-all-nssupgrade +#local-sparc-sparc64biarch +local-all-ttyname-devfs +local-powerpc-sysconf +local-all-asserth-decls +local-i386-cmov-hwcap +local-i386-libgcc-compat +local-sparc-libgcc-compat +local-ia64-libgcc-compat +local-all-ldconfig-tls +local-all-disable-hwcap +local-all-versioncheck +local-all-tcsetaddr-lsb +#local-all-localedef-fix-trampoline +local-i386-linuxthreads-sizefix +local-all-altlocaledir +local-all-multiarch +local-i386-x86_64biarch +local-all-stringh +local-all-linuxtypesh +local-mash-newbinutils +#local-all-belocs-locale-update +#local-all-belocs-test +local-all-dynamic-resolvconf +local-sparc-niagara +local-sparc-clone +local-sparc-atomics +eh-frame-terminator +local-all-getcwd +locale-C --- glibc-2.3.6.orig/debian/patches/cvs-all-regcomp.dpatch +++ glibc-2.3.6/debian/patches/cvs-all-regcomp.dpatch @@ -0,0 +1,62 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: re_compile_internal call __libc_lock_init after init_dfa +# DP: Related bugs: +# DP: Dpatch author: LaMont Jones +# DP: Patch author: Ulrich Drepper +# DP: Upstream status: In CVS +# DP: Status Details: +# DP: Date: 2006-04-06 + +PATCHLEVEL=0 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +CVSROOT: /cvs/glibc +Module name: libc +Changes by: drepper@sources.redhat.com 2005-07-10 22:01:15 + +Modified files: + posix : regcomp.c + +Log message: + (re_compile_internal): Call __libc_lock_init after init_dfa. + +=================================================================== +RCS file: /cvs/glibc/libc/posix/regcomp.c,v +retrieving revision 1.95 +retrieving revision 1.96 +diff -u -r1.95 -r1.96 +--- posix/regcomp.c 2005/05/06 23:33:52 1.95 ++++ posix/regcomp.c 2005/07/10 22:01:14 1.96 +@@ -774,8 +774,6 @@ + } + preg->used = sizeof (re_dfa_t); + +- __libc_lock_init (dfa->lock); +- + err = init_dfa (dfa, length); + if (BE (err != REG_NOERROR, 0)) + { +@@ -789,6 +787,8 @@ + strncpy (dfa->re_str, pattern, length + 1); + #endif + ++ __libc_lock_init (dfa->lock); ++ + err = re_string_construct (®exp, pattern, length, preg->translate, + syntax & RE_ICASE, dfa); + if (BE (err != REG_NOERROR, 0)) --- glibc-2.3.6.orig/debian/patches/submitted-nis-netgrp.dpatch +++ glibc-2.3.6/debian/patches/submitted-nis-netgrp.dpatch @@ -0,0 +1,45 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: This assertion breaks applications if they redefine malloc/free functions, +# DP: malloc_usable_size may then report wrong values. This is true for instance +# DP: with bash, whereas bash-static works fine because it does not use its own +# DP: wrapper functions. See #322011 and merged bugs. + +# DP: Dpatch author: Denis Barbier +# DP: Patch author: Denis Barbier +# DP: Upstream status: BZ692 +# DP: Date: 2006-01-12 + +PATCHLEVEL=1 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +Index: glibc-2.3.5/nis/nss_nis/nis-netgrp.c +=================================================================== +--- glibc-2.3.5.orig/nis/nss_nis/nis-netgrp.c ++++ glibc-2.3.5/nis/nss_nis/nis-netgrp.c +@@ -76,7 +76,10 @@ + and the last byte is filled with NUL. So we can simply + use that buffer. */ + assert (len > 0); +- assert (malloc_usable_size (netgrp->data) >= len + 1); ++ /* Call to malloc_usable_size disabled, this breaks if applications ++ redefine malloc/free with a different implementation. ++ This assert is always true, see yp_match. */ ++ /* assert (malloc_usable_size (netgrp->data) >= len + 1);*/ + assert (netgrp->data[len] == '\0'); + + netgrp->data_size = len; --- glibc-2.3.6.orig/debian/patches/local-all-getcwd.dpatch +++ glibc-2.3.6/debian/patches/local-all-getcwd.dpatch @@ -0,0 +1,47 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Fix getcwd to not blow up on ERANGE when it gets that +# DP: from the kernel (PAGE_SIZE >> PATH_MAX) +# DP: Fixes Debian Bug#355109 +# DP: Author: LaMont Jones +# DP: Upstream status: Not submitted +# DP: Status Details: Not submitted +# DP: Date: 2006-03-23 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +2005-01-02 GOTO Masanori + + * sysdeps/i386/dl-procinfo.h: Update to add CMOV for VIA C3 chip. + +--- sysdeps/unix/sysv/linux/getcwd.c.orig 2006-03-24 08:01:29.000000000 -0700 ++++ sysdeps/unix/sysv/linux/getcwd.c 2006-03-24 08:06:32.000000000 -0700 +@@ -124,10 +124,11 @@ + } + + # if __ASSUME_GETCWD_SYSCALL +- /* It should never happen that the `getcwd' syscall failed because +- the buffer is too small if we allocated the buffer ourselves +- large enough. */ +- assert (errno != ERANGE || buf != NULL || size != 0); ++ /* It is possible that the `getcwd' syscall failed because ++ the buffer is too small even though we allocaed MAX_PATH ++ bytes. if PAGE_SIZE != PATH_MAX, then we can get back ERANGE ++ instead of ENAMETOOLONG in this case. */ ++ /* assert (errno != ERANGE || buf != NULL || size != 0); */ + + # ifndef NO_ALLOCATION + if (buf == NULL) --- glibc-2.3.6.orig/debian/patches/local-sparc-atomics.dpatch +++ glibc-2.3.6/debian/patches/local-sparc-atomics.dpatch @@ -0,0 +1,82 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Fix missing memory clobber in Sparc atomics. +# DP: Author: David S. Miller +# DP: Upstream status: This patch will be pushed upstream. +# DP: Status Details: +# DP: Date: 2006-03-23 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- glibc-2.3.6/sysdeps/sparc/sparc32/bits/atomic.h.~1~ 2004-02-20 12:31:39.000000000 -0800 ++++ glibc-2.3.6/sysdeps/sparc/sparc32/bits/atomic.h 2006-03-23 17:45:06.000000000 -0800 +@@ -44,7 +44,7 @@ volatile unsigned char __sparc32_atomic_ + __asm ("ldstub %1, %0" \ + : "=r" (__old_lock), \ + "=m" (__sparc32_atomic_locks[__idx]) \ +- : "m" (__sparc32_atomic_locks[__idx])); \ ++ : "m" (__sparc32_atomic_locks[__idx]) : "memory"); \ + while (__old_lock); \ + } \ + while (0) +--- glibc-2.3.6/sysdeps/sparc/sparc32/sparcv9/bits/atomic.h.~1~ 2003-05-09 22:29:30.000000000 -0700 ++++ glibc-2.3.6/sysdeps/sparc/sparc32/sparcv9/bits/atomic.h 2006-03-23 17:45:46.000000000 -0800 +@@ -59,7 +59,7 @@ typedef uintmax_t uatomic_max_t; + __asm __volatile ("cas [%4], %2, %0" \ + : "=r" (__acev_tmp), "=m" (*__acev_mem) \ + : "r" (oldval), "m" (*__acev_mem), "r" (__acev_mem), \ +- "0" (newval)); \ ++ "0" (newval) : "memory"); \ + __acev_tmp; }) + + /* This can be implemented if needed. */ +@@ -74,7 +74,7 @@ typedef uintmax_t uatomic_max_t; + if (sizeof (*(mem)) == 4) \ + __asm ("swap %0, %1" \ + : "=m" (*__memp), "=r" (__oldval) \ +- : "m" (*__memp), "1" (__value)); \ ++ : "m" (*__memp), "1" (__value) : "memory"); \ + else \ + abort (); \ + __oldval; }) +--- glibc-2.3.6/sysdeps/sparc/sparc64/bits/atomic.h.~1~ 2003-05-09 22:29:30.000000000 -0700 ++++ glibc-2.3.6/sysdeps/sparc/sparc64/bits/atomic.h 2006-03-23 17:46:29.000000000 -0800 +@@ -59,7 +59,7 @@ typedef uintmax_t uatomic_max_t; + __asm __volatile ("cas [%4], %2, %0" \ + : "=r" (__acev_tmp), "=m" (*__acev_mem) \ + : "r" (oldval), "m" (*__acev_mem), "r" (__acev_mem), \ +- "0" (newval)); \ ++ "0" (newval) : "memory"); \ + __acev_tmp; }) + + #define __arch_compare_and_exchange_val_64_acq(mem, newval, oldval) \ +@@ -69,7 +69,7 @@ typedef uintmax_t uatomic_max_t; + __asm __volatile ("casx [%4], %2, %0" \ + : "=r" (__acev_tmp), "=m" (*__acev_mem) \ + : "r" ((long) (oldval)), "m" (*__acev_mem), \ +- "r" (__acev_mem), "0" ((long) (newval))); \ ++ "r" (__acev_mem), "0" ((long) (newval)) : "memory"); \ + __acev_tmp; }) + + #define atomic_exchange_acq(mem, newvalue) \ +@@ -80,7 +80,7 @@ typedef uintmax_t uatomic_max_t; + if (sizeof (*(mem)) == 4) \ + __asm ("swap %0, %1" \ + : "=m" (*__memp), "=r" (__oldval) \ +- : "m" (*__memp), "1" (__value)); \ ++ : "m" (*__memp), "1" (__value) : "memory"); \ + else \ + { \ + __val = *__memp; \ --- glibc-2.3.6.orig/debian/patches/eh-frame-terminator.dpatch +++ glibc-2.3.6/debian/patches/eh-frame-terminator.dpatch @@ -0,0 +1,382 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Add a missing terminator to libc.so's .eh_frame. +# DP: Related bugs: 334112 +# DP: Dpatch author: Daniel Jacobowitz +# DP: Patch author: Richard Sandiford +# DP: Upstream status: Pending +# DP: Status Details: Submitted to libc-alpha and pinged, will add to bugzilla later +# DP: Date: 2005-11-12 + +PATCHLEVEL=1 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +2004-11-23 Richard Sandiford + + * configure.in (libc_cv_gcc_dwarf2_unwind_info): Delete. + (HAVE_DWARF2_UNWIND_INFO{,_STATIC}): Remove AC_DEFINEs. + * configure: Regenerate. + * config.h.in (HAVE_DWARF2_UNWIND_INFO{,_STATIC}): Remove undefs. + * elf/soinit.c: Don't include gccframe.h. + (__EH_FRAME_BEGIN__): Define unconditionally. + (__register_frame_info, __deregister_frame_info) + (__register_frame_info_bases, __deregister_frame_info_bases) + (__register_frame, __deregister_frame): Remove declarations. + (__libc_global_ctors, __libc_fini): Don't call registry functions. + * elf/sofini.c (__EH_FRAME_END__): Define unconditionally. + +Index: libc/configure.in +=================================================================== +RCS file: /cvs/glibc/libc/configure.in,v +retrieving revision 1.430 +diff -c -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.430 configure.in +*** libc/configure.in 26 Oct 2004 01:35:54 -0000 1.430 +--- libc/configure.in 23 Nov 2004 18:14:58 -0000 +*************** if test "$libc_cv_c_asmcr0_bug" != 'no'; +*** 1722,1792 **** + fi + fi + +- AC_CACHE_CHECK(for DWARF2 unwind info support, libc_cv_gcc_dwarf2_unwind_info, +- [cat > conftest.c <&AS_MESSAGE_LOG_FD]) || +- AC_TRY_COMMAND([$libc_unwind_check -lgcc_eh -lgcc >&AS_MESSAGE_LOG_FD]) +- then +- if $libc_unwind_check -v 2>&1 >/dev/null \ +- | grep -- --eh-frame-hdr 2>&1 >/dev/null; then +- libc_cv_gcc_dwarf2_unwind_info=no_registry_needed +- else +- libc_cv_gcc_dwarf2_unwind_info=static +- fi +- else +- libc_cv_gcc_dwarf2_unwind_info=no +- fi +- if test $libc_cv_gcc_dwarf2_unwind_info = no; then +- if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -DCHECK__register_frame +- $LDFLAGS -nostdlib -nostartfiles +- -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then +- libc_cv_gcc_dwarf2_unwind_info=yes +- else +- libc_cv_gcc_dwarf2_unwind_info=no +- fi +- fi +- rm -f conftest*]) +- case $libc_cv_gcc_dwarf2_unwind_info in +- yes) +- AC_DEFINE(HAVE_DWARF2_UNWIND_INFO) +- ;; +- static) +- AC_DEFINE(HAVE_DWARF2_UNWIND_INFO) +- AC_DEFINE(HAVE_DWARF2_UNWIND_INFO_STATIC) +- ;; +- esac +- + dnl Check whether compiler understands __builtin_expect. + AC_CACHE_CHECK(for __builtin_expect, libc_cv_gcc_builtin_expect, + [cat > conftest.c <&5 +- echo $ECHO_N "checking for DWARF2 unwind info support... $ECHO_C" >&6 +- if test "${libc_cv_gcc_dwarf2_unwind_info+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +- else +- cat > conftest.c <&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } || +- { ac_try='$libc_unwind_check -lgcc_eh -lgcc >&5' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; } +- then +- if $libc_unwind_check -v 2>&1 >/dev/null \ +- | grep -- --eh-frame-hdr 2>&1 >/dev/null; then +- libc_cv_gcc_dwarf2_unwind_info=no_registry_needed +- else +- libc_cv_gcc_dwarf2_unwind_info=static +- fi +- else +- libc_cv_gcc_dwarf2_unwind_info=no +- fi +- if test $libc_cv_gcc_dwarf2_unwind_info = no; then +- if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -DCHECK__register_frame +- $LDFLAGS -nostdlib -nostartfiles +- -o conftest conftest.c -lgcc >&5' +- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 +- (eval $ac_try) 2>&5 +- ac_status=$? +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); }; }; then +- libc_cv_gcc_dwarf2_unwind_info=yes +- else +- libc_cv_gcc_dwarf2_unwind_info=no +- fi +- fi +- rm -f conftest* +- fi +- echo "$as_me:$LINENO: result: $libc_cv_gcc_dwarf2_unwind_info" >&5 +- echo "${ECHO_T}$libc_cv_gcc_dwarf2_unwind_info" >&6 +- case $libc_cv_gcc_dwarf2_unwind_info in +- yes) +- cat >>confdefs.h <<\_ACEOF +- #define HAVE_DWARF2_UNWIND_INFO 1 +- _ACEOF +- +- ;; +- static) +- cat >>confdefs.h <<\_ACEOF +- #define HAVE_DWARF2_UNWIND_INFO 1 +- _ACEOF +- +- cat >>confdefs.h <<\_ACEOF +- #define HAVE_DWARF2_UNWIND_INFO_STATIC 1 +- _ACEOF +- +- ;; +- esac +- + echo "$as_me:$LINENO: checking for __builtin_expect" >&5 + echo $ECHO_N "checking for __builtin_expect... $ECHO_C" >&6 + if test "${libc_cv_gcc_builtin_expect+set}" = set; then +--- 6300,6305 ---- +Index: libc/config.h.in +=================================================================== +RCS file: /cvs/glibc/libc/config.h.in,v +retrieving revision 1.70 +diff -c -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.70 config.h.in +*** libc/config.h.in 16 Sep 2004 23:55:55 -0000 1.70 +--- libc/config.h.in 23 Nov 2004 18:14:58 -0000 +*************** +*** 94,106 **** + /* Define if static NSS modules are wanted. */ + #undef DO_STATIC_NSS + +- /* Define if gcc uses DWARF2 unwind information for exception support. */ +- #undef HAVE_DWARF2_UNWIND_INFO +- +- /* Define if gcc uses DWARF2 unwind information for exception support +- with static variable. */ +- #undef HAVE_DWARF2_UNWIND_INFO_STATIC +- + /* Define if the compiler supports __builtin_expect. */ + #undef HAVE_BUILTIN_EXPECT + +--- 94,99 ---- +Index: libc/elf/soinit.c +=================================================================== +RCS file: /cvs/glibc/libc/elf/soinit.c,v +retrieving revision 1.11 +diff -c -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.11 soinit.c +*** libc/elf/soinit.c 26 Nov 2003 07:14:31 -0000 1.11 +--- libc/elf/soinit.c 23 Nov 2004 18:14:58 -0000 +*************** +*** 6,15 **** + #include + #include + +- #ifdef HAVE_DWARF2_UNWIND_INFO_STATIC +- # include +- #endif +- + static void (*const __CTOR_LIST__[1]) (void) + __attribute__ ((section (".ctors"))) + = { (void (*) (void)) -1 }; +--- 6,11 ---- +*************** run_hooks (void (*const list[]) (void)) +*** 24,44 **** + (**list) (); + } + +- #ifdef HAVE_DWARF2_UNWIND_INFO + static char __EH_FRAME_BEGIN__[] + __attribute__ ((section (".eh_frame"))) + = { }; +- # ifdef HAVE_DWARF2_UNWIND_INFO_STATIC +- extern void __register_frame_info (const void *, struct object *); +- extern void __register_frame_info_bases (const void *, struct object *, +- void *, void *); +- extern void __deregister_frame_info (const void *); +- extern void __deregister_frame_info_bases (const void *); +- # else +- extern void __register_frame (const void *); +- extern void __deregister_frame (const void *); +- # endif +- #endif + + /* This function will be called from _init in init-first.c. */ + void +--- 20,28 ---- +*************** __libc_global_ctors (void) +*** 46,78 **** + { + /* Call constructor functions. */ + run_hooks (__CTOR_LIST__); +- +- #ifdef HAVE_DWARF2_UNWIND_INFO +- # ifdef HAVE_DWARF2_UNWIND_INFO_STATIC +- { +- static struct object ob; +- # if defined CRT_GET_RFIB_TEXT || defined CRT_GET_RFIB_DATA +- void *tbase, *dbase; +- +- # ifdef CRT_GET_RFIB_TEXT +- CRT_GET_RFIB_TEXT (tbase); +- # else +- tbase = NULL; +- # endif +- # ifdef CRT_GET_RFIB_DATA +- CRT_GET_RFIB_DATA (dbase); +- # else +- dbase = NULL; +- # endif +- __register_frame_info_bases (__EH_FRAME_BEGIN__, &ob, tbase, dbase); +- # else +- __register_frame_info (__EH_FRAME_BEGIN__, &ob); +- # endif +- } +- # else +- __register_frame (__EH_FRAME_BEGIN__); +- # endif +- #endif + } + + +--- 30,35 ---- +*************** __libc_fini (void) +*** 89,105 **** + { + /* Call destructor functions. */ + run_hooks (__DTOR_LIST__); +- #ifdef HAVE_DWARF2_UNWIND_INFO +- # ifdef HAVE_DWARF2_UNWIND_INFO_STATIC +- # if defined CRT_GET_RFIB_TEXT || defined CRT_GET_RFIB_DATA +- __deregister_frame_info_bases (__EH_FRAME_BEGIN__); +- # else +- __deregister_frame_info (__EH_FRAME_BEGIN__); +- # endif +- # else +- __deregister_frame (__EH_FRAME_BEGIN__); +- # endif +- #endif + } + #ifdef HAVE_INITFINI_ARRAY + void (*_fini_ptr) (void) __attribute__ ((section (".fini_array"))) +--- 46,51 ---- +Index: libc/elf/sofini.c +=================================================================== +RCS file: /cvs/glibc/libc/elf/sofini.c,v +retrieving revision 1.4 +diff -c -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.4 sofini.c +*** libc/elf/sofini.c 22 Jul 2003 19:37:27 -0000 1.4 +--- libc/elf/sofini.c 23 Nov 2004 18:14:58 -0000 +*************** static void (*const __DTOR_END__[1]) (vo +*** 8,14 **** + __attribute__ ((used, section (".dtors"))) + = { 0 }; + +- #ifdef HAVE_DWARF2_UNWIND_INFO + /* Terminate the frame unwind info section with a 4byte 0 as a sentinel; + this would be the 'length' field in a real FDE. */ + +--- 8,13 ---- +*************** typedef unsigned int ui32 __attribute__ +*** 16,19 **** + static ui32 __FRAME_END__[1] + __attribute__ ((used, section (".eh_frame"))) + = { 0 }; +- #endif +--- 15,17 ---- + --- glibc-2.3.6.orig/debian/patches/local-sparc-clone.dpatch +++ glibc-2.3.6/debian/patches/local-sparc-clone.dpatch @@ -0,0 +1,121 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Fix bugs in Sparc clone implementation. +# DP: Author: David S. Miller +# DP: Upstream status: This patch was backported from upstream. +# DP: Status Details: +# DP: Date: 2006-03-21 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- glibc-2.3.6/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S.~1~ 2004-12-16 08:46:54.000000000 -0800 ++++ glibc-2.3.6/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S 2006-03-21 17:38:37.000000000 -0800 +@@ -40,11 +40,19 @@ __clone: + save %sp,-96,%sp + + /* sanity check arguments */ +- tst %i0 ++ orcc %i0,%g0,%g2 + be .Lerror + orcc %i1,%g0,%o1 + be .Lerror + mov %i2,%o0 ++ ++ /* The child_stack is the top of the stack, allocate one ++ whole stack frame from that as this is what the kernel ++ expects. */ ++ sub %o1, 96, %o1 ++ mov %i3, %g3 ++ mov %i2, %g4 ++ + /* ptid */ + mov %i4,%o2 + /* tls */ +@@ -59,7 +67,7 @@ __clone: + tst %o1 + bne __thread_start + nop +- ret ++ jmpl %i7 + 8, %g0 + restore %o0,%g0,%o0 + + .Lerror: +@@ -76,9 +84,9 @@ __clone: + __thread_start: + #ifdef RESET_PID + sethi %hi(CLONE_THREAD), %l0 +- andcc %i2, %l0, %g0 ++ andcc %g4, %l0, %g0 + bne 1f +- andcc %i2, CLONE_VM, %g0 ++ andcc %g4, CLONE_VM, %g0 + bne,a 2f + mov -1,%o0 + set __NR_getpid,%g1 +@@ -87,8 +95,9 @@ __thread_start: + st %o0,[%g7 + TID] + 1: + #endif +- call %i0 +- mov %i3,%o0 ++ mov %g0, %fp /* terminate backtrace */ ++ call %g2 ++ mov %g3,%o0 + call _exit,0 + nop + +--- glibc-2.3.6/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S.~1~ 2001-12-18 16:20:53.000000000 -0800 ++++ glibc-2.3.6/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S 2006-03-21 17:35:18.000000000 -0800 +@@ -25,6 +25,9 @@ + + /* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg); */ + ++ .register %g2,#scratch ++ .register %g3,#scratch ++ + .text + .align 4 + .globl __clone +@@ -35,12 +38,14 @@ __clone: + + /* sanity check arguments */ + brz,pn %i0, 99f +- mov %i0, %l0 /* save fn */ ++ mov %i0, %g2 /* save fn */ + brz,pn %i1, 99f +- mov %i3, %l3 /* save arg */ ++ mov %i3, %g3 /* save arg */ + +- /* Do the system call */ +- sub %i1, 0x7ff, %o1 ++ /* The child_stack is the top of the stack, allocate one ++ whole stack frame from that as this is what the kernel ++ expects. Also, subtract STACK_BIAS. */ ++ sub %i1, 192 + 0x7ff, %o1 + mov %i2, %o0 + set __NR_clone, %g1 + ta 0x6d +@@ -78,9 +83,8 @@ __clone: + .type __thread_start,@function + __thread_start: + mov %g0, %fp /* terminate backtrace */ +- sub %sp, 6*8, %sp /* provide arg storage */ +- call %l0 +- mov %l3,%o0 ++ call %g2 ++ mov %g3,%o0 + call _exit,0 + nop + .size __thread_start, .-__thread_start --- glibc-2.3.6.orig/debian/patches/local-sparc-niagara.dpatch +++ glibc-2.3.6/debian/patches/local-sparc-niagara.dpatch @@ -0,0 +1,1298 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: SUN4V Niagara optimized memcpy/memset +# DP: Author: David S. Miller +# DP: Upstream status: Will be submitted soon. +# DP: Status Details: +# DP: Date: 2006-02-24 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- glibc-2.3.6/scripts/config.sub.~1~ 2003-12-02 17:30:27.000000000 -0800 ++++ glibc-2.3.6/scripts/config.sub 2006-02-24 13:24:41.000000000 -0800 +@@ -262,7 +262,8 @@ case $basic_machine in + | pyramid \ + | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ +- | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \ ++ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \ ++ | sparclite | sparcv9 | sparcv9b | sparcv9v \ + | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ +@@ -335,8 +336,9 @@ case $basic_machine in + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ +- | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ +- | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ ++ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* \ ++ | sparc86x-* | sparclet-* | sparclite-* \ ++ | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ +@@ -1067,7 +1069,7 @@ case $basic_machine in + sh64) + basic_machine=sh64-unknown + ;; +- sparc | sparcv9 | sparcv9b) ++ sparc | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) +--- /dev/null 2006-02-24 13:27:32.000000000 -0800 ++++ glibc-2.3.6/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9v/Implies 2006-02-24 13:26:21.000000000 -0800 +@@ -0,0 +1 @@ ++unix/sysv/linux/sparc/sparc32/sparcv9 +--- /dev/null 2006-02-24 13:26:50.000000000 -0800 ++++ glibc-2.3.6/sysdeps/sparc/sparc32/sparcv9v/Implies 2006-02-24 13:25:31.000000000 -0800 +@@ -0,0 +1 @@ ++sparc/sparc32/sparcv9 +\ No newline at end of file +--- /dev/null 2006-02-24 13:26:57.000000000 -0800 ++++ glibc-2.3.6/sysdeps/sparc/sparc32/sparcv9v/memcpy.S 2006-02-24 13:25:31.000000000 -0800 +@@ -0,0 +1,2 @@ ++#define XCC icc ++#include +--- /dev/null 2006-02-24 13:27:00.000000000 -0800 ++++ glibc-2.3.6/sysdeps/sparc/sparc32/sparcv9v/memset.S 2006-02-24 13:25:31.000000000 -0800 +@@ -0,0 +1,2 @@ ++#define XCC icc ++#include +--- /dev/null 2006-02-24 13:25:50.000000000 -0800 ++++ glibc-2.3.6/sysdeps/sparc/sparc64/sparcv9v/memcpy.S 2006-02-24 13:47:57.000000000 -0800 +@@ -0,0 +1,594 @@ ++/* Copy SIZE bytes from SRC to DEST. ++ For SUN4V Niagara. ++ Copyright (C) 2006 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ Contributed by David S. Miller (davem@davemloft.net) ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include ++ ++#define ASI_BLK_INIT_QUAD_LDD_P 0xe2 ++#define ASI_P 0x80 ++#define ASI_PNF 0x82 ++ ++#define LOAD(type,addr,dest) type##a [addr] ASI_P, dest ++#define LOAD_TWIN(addr_reg,dest0,dest1) \ ++ ldda [addr_reg] ASI_BLK_INIT_QUAD_LDD_P, dest0 ++ ++#define STORE(type,src,addr) type src, [addr] ++#define STORE_INIT(src,addr) stxa src, [addr] %asi ++ ++#ifndef XCC ++#define USE_BPR ++#define XCC xcc ++#endif ++ ++ .register %g2,#scratch ++ .register %g3,#scratch ++ .register %g6,#scratch ++ ++ .text ++ .align 32 ++ ++ENTRY(bcopy) ++ sub %o1, %o0, %o4 ++ mov %o0, %g4 ++ cmp %o4, %o2 ++ mov %o1, %o0 ++ bgeu,pt %XCC, 100f ++ mov %g4, %o1 ++#ifndef USE_BPR ++ srl %o2, 0, %o2 ++#endif ++ brnz,pn %o2, 220f ++ add %o0, %o2, %o0 ++ retl ++ nop ++END(bcopy) ++ ++ .align 32 ++ENTRY(memcpy) ++100: /* %o0=dst, %o1=src, %o2=len */ ++ mov %o0, %g5 ++ cmp %o2, 0 ++ be,pn %XCC, 85f ++218: or %o0, %o1, %o3 ++ cmp %o2, 16 ++ blu,a,pn %XCC, 80f ++ or %o3, %o2, %o3 ++ ++ /* 2 blocks (128 bytes) is the minimum we can do the block ++ * copy with. We need to ensure that we'll iterate at least ++ * once in the block copy loop. At worst we'll need to align ++ * the destination to a 64-byte boundary which can chew up ++ * to (64 - 1) bytes from the length before we perform the ++ * block copy loop. ++ */ ++ cmp %o2, (2 * 64) ++ blu,pt %XCC, 70f ++ andcc %o3, 0x7, %g0 ++ ++ /* %o0: dst ++ * %o1: src ++ * %o2: len (known to be >= 128) ++ * ++ * The block copy loops will use %o4/%o5,%g2/%g3 as ++ * temporaries while copying the data. ++ */ ++ ++ LOAD(prefetch, %o1, #one_read) ++ wr %g0, ASI_BLK_INIT_QUAD_LDD_P, %asi ++ ++ /* Align destination on 64-byte boundary. */ ++ andcc %o0, (64 - 1), %o4 ++ be,pt %XCC, 2f ++ sub %o4, 64, %o4 ++ sub %g0, %o4, %o4 ! bytes to align dst ++ sub %o2, %o4, %o2 ++1: subcc %o4, 1, %o4 ++ LOAD(ldub, %o1, %g1) ++ STORE(stb, %g1, %o0) ++ add %o1, 1, %o1 ++ bne,pt %XCC, 1b ++ add %o0, 1, %o0 ++ ++ /* If the source is on a 16-byte boundary we can do ++ * the direct block copy loop. If it is 8-byte aligned ++ * we can do the 16-byte loads offset by -8 bytes and the ++ * init stores offset by one register. ++ * ++ * If the source is not even 8-byte aligned, we need to do ++ * shifting and masking (basically integer faligndata). ++ * ++ * The careful bit with init stores is that if we store ++ * to any part of the cache line we have to store the whole ++ * cacheline else we can end up with corrupt L2 cache line ++ * contents. Since the loop works on 64-bytes of 64-byte ++ * aligned store data at a time, this is easy to ensure. ++ */ ++2: ++ andcc %o1, (16 - 1), %o4 ++ andn %o2, (64 - 1), %g1 ! block copy loop iterator ++ sub %o2, %g1, %o2 ! final sub-block copy bytes ++ be,pt %XCC, 50f ++ cmp %o4, 8 ++ be,a,pt %XCC, 10f ++ sub %o1, 0x8, %o1 ++ ++ /* Neither 8-byte nor 16-byte aligned, shift and mask. */ ++ mov %g1, %o4 ++ and %o1, 0x7, %g1 ++ sll %g1, 3, %g1 ++ mov 64, %o3 ++ andn %o1, 0x7, %o1 ++ LOAD(ldx, %o1, %g2) ++ sub %o3, %g1, %o3 ++ sllx %g2, %g1, %g2 ++ ++#define SWIVEL_ONE_DWORD(SRC, TMP1, TMP2, PRE_VAL, PRE_SHIFT, POST_SHIFT, DST)\ ++ LOAD(ldx, SRC, TMP1); \ ++ srlx TMP1, PRE_SHIFT, TMP2; \ ++ or TMP2, PRE_VAL, TMP2; \ ++ STORE_INIT(TMP2, DST); \ ++ sllx TMP1, POST_SHIFT, PRE_VAL; ++ ++1: add %o1, 0x8, %o1 ++ SWIVEL_ONE_DWORD(%o1, %g3, %o5, %g2, %o3, %g1, %o0 + 0x00) ++ add %o1, 0x8, %o1 ++ SWIVEL_ONE_DWORD(%o1, %g3, %o5, %g2, %o3, %g1, %o0 + 0x08) ++ add %o1, 0x8, %o1 ++ SWIVEL_ONE_DWORD(%o1, %g3, %o5, %g2, %o3, %g1, %o0 + 0x10) ++ add %o1, 0x8, %o1 ++ SWIVEL_ONE_DWORD(%o1, %g3, %o5, %g2, %o3, %g1, %o0 + 0x18) ++ add %o1, 32, %o1 ++ LOAD(prefetch, %o1, #one_read) ++ sub %o1, 32 - 8, %o1 ++ SWIVEL_ONE_DWORD(%o1, %g3, %o5, %g2, %o3, %g1, %o0 + 0x20) ++ add %o1, 8, %o1 ++ SWIVEL_ONE_DWORD(%o1, %g3, %o5, %g2, %o3, %g1, %o0 + 0x28) ++ add %o1, 8, %o1 ++ SWIVEL_ONE_DWORD(%o1, %g3, %o5, %g2, %o3, %g1, %o0 + 0x30) ++ add %o1, 8, %o1 ++ SWIVEL_ONE_DWORD(%o1, %g3, %o5, %g2, %o3, %g1, %o0 + 0x38) ++ subcc %o4, 64, %o4 ++ bne,pt %XCC, 1b ++ add %o0, 64, %o0 ++ ++#undef SWIVEL_ONE_DWORD ++ ++ srl %g1, 3, %g1 ++ ba,pt %XCC, 60f ++ add %o1, %g1, %o1 ++ ++10: /* Destination is 64-byte aligned, source was only 8-byte ++ * aligned but it has been subtracted by 8 and we perform ++ * one twin load ahead, then add 8 back into source when ++ * we finish the loop. ++ */ ++ LOAD_TWIN(%o1, %o4, %o5) ++1: add %o1, 16, %o1 ++ LOAD_TWIN(%o1, %g2, %g3) ++ add %o1, 16 + 32, %o1 ++ LOAD(prefetch, %o1, #one_read) ++ sub %o1, 32, %o1 ++ STORE_INIT(%o5, %o0 + 0x00) ! initializes cache line ++ STORE_INIT(%g2, %o0 + 0x08) ++ LOAD_TWIN(%o1, %o4, %o5) ++ add %o1, 16, %o1 ++ STORE_INIT(%g3, %o0 + 0x10) ++ STORE_INIT(%o4, %o0 + 0x18) ++ LOAD_TWIN(%o1, %g2, %g3) ++ add %o1, 16, %o1 ++ STORE_INIT(%o5, %o0 + 0x20) ++ STORE_INIT(%g2, %o0 + 0x28) ++ LOAD_TWIN(%o1, %o4, %o5) ++ STORE_INIT(%g3, %o0 + 0x30) ++ STORE_INIT(%o4, %o0 + 0x38) ++ subcc %g1, 64, %g1 ++ bne,pt %XCC, 1b ++ add %o0, 64, %o0 ++ ++ ba,pt %XCC, 60f ++ add %o1, 0x8, %o1 ++ ++50: /* Destination is 64-byte aligned, and source is 16-byte ++ * aligned. ++ */ ++1: LOAD_TWIN(%o1, %o4, %o5) ++ add %o1, 16, %o1 ++ LOAD_TWIN(%o1, %g2, %g3) ++ add %o1, 16 + 32, %o1 ++ LOAD(prefetch, %o1, #one_read) ++ sub %o1, 32, %o1 ++ STORE_INIT(%o4, %o0 + 0x00) ! initializes cache line ++ STORE_INIT(%o5, %o0 + 0x08) ++ LOAD_TWIN(%o1, %o4, %o5) ++ add %o1, 16, %o1 ++ STORE_INIT(%g2, %o0 + 0x10) ++ STORE_INIT(%g3, %o0 + 0x18) ++ LOAD_TWIN(%o1, %g2, %g3) ++ add %o1, 16, %o1 ++ STORE_INIT(%o4, %o0 + 0x20) ++ STORE_INIT(%o5, %o0 + 0x28) ++ STORE_INIT(%g2, %o0 + 0x30) ++ STORE_INIT(%g3, %o0 + 0x38) ++ subcc %g1, 64, %g1 ++ bne,pt %XCC, 1b ++ add %o0, 64, %o0 ++ /* fall through */ ++ ++60: ++ /* %o2 contains any final bytes still needed to be copied ++ * over. If anything is left, we copy it one byte at a time. ++ */ ++ wr %g0, ASI_PNF, %asi ++ brz,pt %o2, 85f ++ sub %o0, %o1, %o3 ++ ba,a,pt %XCC, 90f ++ ++ .align 64 ++70: /* 16 < len <= 64 */ ++ bne,pn %XCC, 75f ++ sub %o0, %o1, %o3 ++ ++72: ++ andn %o2, 0xf, %o4 ++ and %o2, 0xf, %o2 ++1: subcc %o4, 0x10, %o4 ++ LOAD(ldx, %o1, %o5) ++ add %o1, 0x08, %o1 ++ LOAD(ldx, %o1, %g1) ++ sub %o1, 0x08, %o1 ++ STORE(stx, %o5, %o1 + %o3) ++ add %o1, 0x8, %o1 ++ STORE(stx, %g1, %o1 + %o3) ++ bgu,pt %XCC, 1b ++ add %o1, 0x8, %o1 ++73: andcc %o2, 0x8, %g0 ++ be,pt %XCC, 1f ++ nop ++ sub %o2, 0x8, %o2 ++ LOAD(ldx, %o1, %o5) ++ STORE(stx, %o5, %o1 + %o3) ++ add %o1, 0x8, %o1 ++1: andcc %o2, 0x4, %g0 ++ be,pt %XCC, 1f ++ nop ++ sub %o2, 0x4, %o2 ++ LOAD(lduw, %o1, %o5) ++ STORE(stw, %o5, %o1 + %o3) ++ add %o1, 0x4, %o1 ++1: cmp %o2, 0 ++ be,pt %XCC, 85f ++ nop ++ ba,pt %XCC, 90f ++ nop ++ ++75: ++ andcc %o0, 0x7, %g1 ++ sub %g1, 0x8, %g1 ++ be,pn %icc, 2f ++ sub %g0, %g1, %g1 ++ sub %o2, %g1, %o2 ++ ++1: subcc %g1, 1, %g1 ++ LOAD(ldub, %o1, %o5) ++ STORE(stb, %o5, %o1 + %o3) ++ bgu,pt %icc, 1b ++ add %o1, 1, %o1 ++ ++2: add %o1, %o3, %o0 ++ andcc %o1, 0x7, %g1 ++ bne,pt %icc, 8f ++ sll %g1, 3, %g1 ++ ++ cmp %o2, 16 ++ bgeu,pt %icc, 72b ++ nop ++ ba,a,pt %XCC, 73b ++ ++8: mov 64, %o3 ++ andn %o1, 0x7, %o1 ++ LOAD(ldx, %o1, %g2) ++ sub %o3, %g1, %o3 ++ andn %o2, 0x7, %o4 ++ sllx %g2, %g1, %g2 ++1: add %o1, 0x8, %o1 ++ LOAD(ldx, %o1, %g3) ++ subcc %o4, 0x8, %o4 ++ srlx %g3, %o3, %o5 ++ or %o5, %g2, %o5 ++ STORE(stx, %o5, %o0) ++ add %o0, 0x8, %o0 ++ bgu,pt %icc, 1b ++ sllx %g3, %g1, %g2 ++ ++ srl %g1, 3, %g1 ++ andcc %o2, 0x7, %o2 ++ be,pn %icc, 85f ++ add %o1, %g1, %o1 ++ ba,pt %XCC, 90f ++ sub %o0, %o1, %o3 ++ ++ .align 64 ++80: /* 0 < len <= 16 */ ++ andcc %o3, 0x3, %g0 ++ bne,pn %XCC, 90f ++ sub %o0, %o1, %o3 ++ ++1: ++ subcc %o2, 4, %o2 ++ LOAD(lduw, %o1, %g1) ++ STORE(stw, %g1, %o1 + %o3) ++ bgu,pt %XCC, 1b ++ add %o1, 4, %o1 ++ ++85: retl ++ mov %g5, %o0 ++ ++ .align 32 ++90: ++ subcc %o2, 1, %o2 ++ LOAD(ldub, %o1, %g1) ++ STORE(stb, %g1, %o1 + %o3) ++ bgu,pt %XCC, 90b ++ add %o1, 1, %o1 ++ retl ++ mov %g5, %o0 ++ ++END(memcpy) ++ ++#define RMOVE_BIGCHUNK(src, dst, offset, t0, t1, t2, t3) \ ++ ldx [%src - offset - 0x20], %t0; \ ++ ldx [%src - offset - 0x18], %t1; \ ++ ldx [%src - offset - 0x10], %t2; \ ++ ldx [%src - offset - 0x08], %t3; \ ++ stw %t0, [%dst - offset - 0x1c]; \ ++ srlx %t0, 32, %t0; \ ++ stw %t0, [%dst - offset - 0x20]; \ ++ stw %t1, [%dst - offset - 0x14]; \ ++ srlx %t1, 32, %t1; \ ++ stw %t1, [%dst - offset - 0x18]; \ ++ stw %t2, [%dst - offset - 0x0c]; \ ++ srlx %t2, 32, %t2; \ ++ stw %t2, [%dst - offset - 0x10]; \ ++ stw %t3, [%dst - offset - 0x04]; \ ++ srlx %t3, 32, %t3; \ ++ stw %t3, [%dst - offset - 0x08]; ++ ++#define RMOVE_BIGALIGNCHUNK(src, dst, offset, t0, t1, t2, t3) \ ++ ldx [%src - offset - 0x20], %t0; \ ++ ldx [%src - offset - 0x18], %t1; \ ++ ldx [%src - offset - 0x10], %t2; \ ++ ldx [%src - offset - 0x08], %t3; \ ++ stx %t0, [%dst - offset - 0x20]; \ ++ stx %t1, [%dst - offset - 0x18]; \ ++ stx %t2, [%dst - offset - 0x10]; \ ++ stx %t3, [%dst - offset - 0x08]; \ ++ ldx [%src - offset - 0x40], %t0; \ ++ ldx [%src - offset - 0x38], %t1; \ ++ ldx [%src - offset - 0x30], %t2; \ ++ ldx [%src - offset - 0x28], %t3; \ ++ stx %t0, [%dst - offset - 0x40]; \ ++ stx %t1, [%dst - offset - 0x38]; \ ++ stx %t2, [%dst - offset - 0x30]; \ ++ stx %t3, [%dst - offset - 0x28]; ++ ++#define RMOVE_LASTCHUNK(src, dst, offset, t0, t1, t2, t3) \ ++ ldx [%src + offset + 0x00], %t0; \ ++ ldx [%src + offset + 0x08], %t1; \ ++ stw %t0, [%dst + offset + 0x04]; \ ++ srlx %t0, 32, %t2; \ ++ stw %t2, [%dst + offset + 0x00]; \ ++ stw %t1, [%dst + offset + 0x0c]; \ ++ srlx %t1, 32, %t3; \ ++ stw %t3, [%dst + offset + 0x08]; ++ ++#define RMOVE_LASTALIGNCHUNK(src, dst, offset, t0, t1) \ ++ ldx [%src + offset + 0x00], %t0; \ ++ ldx [%src + offset + 0x08], %t1; \ ++ stx %t0, [%dst + offset + 0x00]; \ ++ stx %t1, [%dst + offset + 0x08]; ++ ++ .align 32 ++228: andcc %o2, 1, %g0 ++ be,pt %icc, 2f+4 ++1: ldub [%o1 - 1], %o5 ++ sub %o1, 1, %o1 ++ sub %o0, 1, %o0 ++ subcc %o2, 1, %o2 ++ be,pn %xcc, 229f ++ stb %o5, [%o0] ++2: ldub [%o1 - 1], %o5 ++ sub %o0, 2, %o0 ++ ldub [%o1 - 2], %g5 ++ sub %o1, 2, %o1 ++ subcc %o2, 2, %o2 ++ stb %o5, [%o0 + 1] ++ bne,pt %xcc, 2b ++ stb %g5, [%o0] ++229: retl ++ mov %g4, %o0 ++out: retl ++ mov %g5, %o0 ++ ++ .align 32 ++ENTRY(memmove) ++ mov %o0, %g5 ++#ifndef USE_BPR ++ srl %o2, 0, %o2 ++#endif ++ brz,pn %o2, out ++ sub %o0, %o1, %o4 ++ cmp %o4, %o2 ++ bgeu,pt %XCC, 218b ++ mov %o0, %g4 ++ add %o0, %o2, %o0 ++220: add %o1, %o2, %o1 ++ cmp %o2, 15 ++ bleu,pn %xcc, 228b ++ andcc %o0, 7, %g2 ++ sub %o0, %o1, %g5 ++ andcc %g5, 3, %o5 ++ bne,pn %xcc, 232f ++ andcc %o1, 3, %g0 ++ be,a,pt %xcc, 236f ++ andcc %o1, 4, %g0 ++ andcc %o1, 1, %g0 ++ be,pn %xcc, 4f ++ andcc %o1, 2, %g0 ++ ldub [%o1 - 1], %g2 ++ sub %o1, 1, %o1 ++ sub %o0, 1, %o0 ++ sub %o2, 1, %o2 ++ be,pn %xcc, 5f ++ stb %g2, [%o0] ++4: lduh [%o1 - 2], %g2 ++ sub %o1, 2, %o1 ++ sub %o0, 2, %o0 ++ sub %o2, 2, %o2 ++ sth %g2, [%o0] ++5: andcc %o1, 4, %g0 ++236: be,a,pn %xcc, 2f ++ andcc %o2, -128, %g6 ++ lduw [%o1 - 4], %g5 ++ sub %o1, 4, %o1 ++ sub %o0, 4, %o0 ++ sub %o2, 4, %o2 ++ stw %g5, [%o0] ++ andcc %o2, -128, %g6 ++2: be,pn %xcc, 235f ++ andcc %o0, 4, %g0 ++ be,pn %xcc, 282f + 4 ++5: RMOVE_BIGCHUNK(o1, o0, 0x00, g1, g3, g5, o5) ++ RMOVE_BIGCHUNK(o1, o0, 0x20, g1, g3, g5, o5) ++ RMOVE_BIGCHUNK(o1, o0, 0x40, g1, g3, g5, o5) ++ RMOVE_BIGCHUNK(o1, o0, 0x60, g1, g3, g5, o5) ++ subcc %g6, 128, %g6 ++ sub %o1, 128, %o1 ++ bne,pt %xcc, 5b ++ sub %o0, 128, %o0 ++235: andcc %o2, 0x70, %g6 ++41: be,pn %xcc, 280f ++ andcc %o2, 8, %g0 ++ ++279: rd %pc, %o5 ++ sll %g6, 1, %g5 ++ sub %o1, %g6, %o1 ++ sub %o5, %g5, %o5 ++ jmpl %o5 + %lo(280f - 279b), %g0 ++ sub %o0, %g6, %o0 ++ RMOVE_LASTCHUNK(o1, o0, 0x60, g2, g3, g5, o5) ++ RMOVE_LASTCHUNK(o1, o0, 0x50, g2, g3, g5, o5) ++ RMOVE_LASTCHUNK(o1, o0, 0x40, g2, g3, g5, o5) ++ RMOVE_LASTCHUNK(o1, o0, 0x30, g2, g3, g5, o5) ++ RMOVE_LASTCHUNK(o1, o0, 0x20, g2, g3, g5, o5) ++ RMOVE_LASTCHUNK(o1, o0, 0x10, g2, g3, g5, o5) ++ RMOVE_LASTCHUNK(o1, o0, 0x00, g2, g3, g5, o5) ++280: be,pt %xcc, 281f ++ andcc %o2, 4, %g0 ++ ldx [%o1 - 8], %g2 ++ sub %o0, 8, %o0 ++ stw %g2, [%o0 + 4] ++ sub %o1, 8, %o1 ++ srlx %g2, 32, %g2 ++ stw %g2, [%o0] ++281: be,pt %xcc, 1f ++ andcc %o2, 2, %g0 ++ lduw [%o1 - 4], %g2 ++ sub %o1, 4, %o1 ++ stw %g2, [%o0 - 4] ++ sub %o0, 4, %o0 ++1: be,pt %xcc, 1f ++ andcc %o2, 1, %g0 ++ lduh [%o1 - 2], %g2 ++ sub %o1, 2, %o1 ++ sth %g2, [%o0 - 2] ++ sub %o0, 2, %o0 ++1: be,pt %xcc, 211f ++ nop ++ ldub [%o1 - 1], %g2 ++ stb %g2, [%o0 - 1] ++211: retl ++ mov %g4, %o0 ++ ++282: RMOVE_BIGALIGNCHUNK(o1, o0, 0x00, g1, g3, g5, o5) ++ RMOVE_BIGALIGNCHUNK(o1, o0, 0x40, g1, g3, g5, o5) ++ subcc %g6, 128, %g6 ++ sub %o1, 128, %o1 ++ bne,pt %xcc, 282b ++ sub %o0, 128, %o0 ++ andcc %o2, 0x70, %g6 ++ be,pn %xcc, 284f ++ andcc %o2, 8, %g0 ++ ++283: rd %pc, %o5 ++ sub %o1, %g6, %o1 ++ sub %o5, %g6, %o5 ++ jmpl %o5 + %lo(284f - 283b), %g0 ++ sub %o0, %g6, %o0 ++ RMOVE_LASTALIGNCHUNK(o1, o0, 0x60, g2, g3) ++ RMOVE_LASTALIGNCHUNK(o1, o0, 0x50, g2, g3) ++ RMOVE_LASTALIGNCHUNK(o1, o0, 0x40, g2, g3) ++ RMOVE_LASTALIGNCHUNK(o1, o0, 0x30, g2, g3) ++ RMOVE_LASTALIGNCHUNK(o1, o0, 0x20, g2, g3) ++ RMOVE_LASTALIGNCHUNK(o1, o0, 0x10, g2, g3) ++ RMOVE_LASTALIGNCHUNK(o1, o0, 0x00, g2, g3) ++284: be,pt %xcc, 285f ++ andcc %o2, 4, %g0 ++ ldx [%o1 - 8], %g2 ++ sub %o0, 8, %o0 ++ sub %o1, 8, %o1 ++ stx %g2, [%o0] ++285: be,pt %xcc, 1f ++ andcc %o2, 2, %g0 ++ lduw [%o1 - 4], %g2 ++ sub %o0, 4, %o0 ++ sub %o1, 4, %o1 ++ stw %g2, [%o0] ++1: be,pt %xcc, 1f ++ andcc %o2, 1, %g0 ++ lduh [%o1 - 2], %g2 ++ sub %o0, 2, %o0 ++ sub %o1, 2, %o1 ++ sth %g2, [%o0] ++1: be,pt %xcc, 1f ++ nop ++ ldub [%o1 - 1], %g2 ++ stb %g2, [%o0 - 1] ++1: retl ++ mov %g4, %o0 ++ ++232: ldub [%o1 - 1], %g5 ++ sub %o1, 1, %o1 ++ sub %o0, 1, %o0 ++ subcc %o2, 1, %o2 ++ bne,pt %xcc, 232b ++ stb %g5, [%o0] ++234: retl ++ mov %g4, %o0 ++END(memmove) ++ ++#ifdef USE_BPR ++weak_alias (memcpy, __align_cpy_1) ++weak_alias (memcpy, __align_cpy_2) ++weak_alias (memcpy, __align_cpy_4) ++weak_alias (memcpy, __align_cpy_8) ++weak_alias (memcpy, __align_cpy_16) ++#endif ++libc_hidden_builtin_def (memcpy) ++libc_hidden_builtin_def (memmove) +--- /dev/null 2006-02-24 13:25:50.000000000 -0800 ++++ glibc-2.3.6/sysdeps/sparc/sparc64/sparcv9v/memset.S 2006-02-24 13:25:50.000000000 -0800 +@@ -0,0 +1,128 @@ ++/* Set a block of memory to some byte value. ++ For SUN4V Niagara. ++ Copyright (C) 2006 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ Contributed by David S. Miller (davem@davemloft.net) ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include ++ ++#define ASI_BLK_INIT_QUAD_LDD_P 0xe2 ++#define ASI_P 0x80 ++#define ASI_PNF 0x82 ++ ++#ifndef XCC ++#define USE_BPR ++#define XCC xcc ++#endif ++ ++ .register %g2,#scratch ++ ++ .text ++ .align 32 ++ ++ENTRY(memset) ++ /* %o0=buf, %o1=pat, %o2=len */ ++ and %o1, 0xff, %o3 ++ mov %o2, %o1 ++ sllx %o3, 8, %g1 ++ or %g1, %o3, %o2 ++ sllx %o2, 16, %g1 ++ or %g1, %o2, %o2 ++ sllx %o2, 32, %g1 ++ ba,pt %XCC, 1f ++ or %g1, %o2, %o2 ++ ++ENTRY(__bzero) ++ clr %o2 ++1: brz,pn %o1, 90f ++ mov %o0, %o3 ++ ++ wr %g0, ASI_P, %asi ++ ++ cmp %o1, 15 ++ bl,pn %icc, 70f ++ andcc %o0, 0x7, %g1 ++ be,pt %XCC, 2f ++ mov 8, %g2 ++ sub %g2, %g1, %g1 ++ sub %o1, %g1, %o1 ++1: stba %o2, [%o0 + 0x00] %asi ++ subcc %g1, 1, %g1 ++ bne,pt %XCC, 1b ++ add %o0, 1, %o0 ++2: cmp %o1, 128 ++ bl,pn %icc, 60f ++ andcc %o0, (64 - 1), %g1 ++ be,pt %XCC, 40f ++ mov 64, %g2 ++ sub %g2, %g1, %g1 ++ sub %o1, %g1, %o1 ++1: stxa %o2, [%o0 + 0x00] %asi ++ subcc %g1, 8, %g1 ++ bne,pt %XCC, 1b ++ add %o0, 8, %o0 ++ ++40: ++ wr %g0, ASI_BLK_INIT_QUAD_LDD_P, %asi ++ andn %o1, (64 - 1), %g1 ++ sub %o1, %g1, %o1 ++50: ++ stxa %o2, [%o0 + 0x00] %asi ++ stxa %o2, [%o0 + 0x08] %asi ++ stxa %o2, [%o0 + 0x10] %asi ++ stxa %o2, [%o0 + 0x18] %asi ++ stxa %o2, [%o0 + 0x20] %asi ++ stxa %o2, [%o0 + 0x28] %asi ++ stxa %o2, [%o0 + 0x30] %asi ++ stxa %o2, [%o0 + 0x38] %asi ++ subcc %g1, 64, %g1 ++ bne,pt %XCC, 50b ++ add %o0, 64, %o0 ++ ++ wr %g0, ASI_P, %asi ++ brz,pn %o1, 80f ++60: ++ andncc %o1, 0x7, %g1 ++ be,pn %XCC, 2f ++ sub %o1, %g1, %o1 ++1: stxa %o2, [%o0 + 0x00] %asi ++ subcc %g1, 8, %g1 ++ bne,pt %XCC, 1b ++ add %o0, 8, %o0 ++2: brz,pt %o1, 80f ++ nop ++ ++70: ++1: stba %o2, [%o0 + 0x00] %asi ++ subcc %o1, 1, %o1 ++ bne,pt %icc, 1b ++ add %o0, 1, %o0 ++ ++ /* fallthrough */ ++ ++80: ++ wr %g0, ASI_PNF, %asi ++ ++90: ++ retl ++ mov %o3, %o0 ++END(__bzero) ++END(memset) ++ ++libc_hidden_builtin_def (memset) ++weak_alias (__bzero, bzero) +--- glibc-2.3.6/configure.~1~ 2005-11-03 16:37:15.000000000 -0800 ++++ glibc-2.3.6/configure 2006-02-24 13:31:16.000000000 -0800 +@@ -1007,7 +1007,7 @@ esac + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi +- cd $ac_popdir ++ cd "$ac_popdir" + done + fi + +@@ -1976,10 +1976,14 @@ sparcv8plus | sparcv8plusa | sparcv9) + base_machine=sparc machine=sparc/sparc32/sparcv9 ;; + sparcv8plusb | sparcv9b) + base_machine=sparc machine=sparc/sparc32/sparcv9b ;; ++sparcv9v) ++ base_machine=sparc machine=sparc/sparc32/sparcv9v ;; + sparc64 | ultrasparc) + base_machine=sparc machine=sparc/sparc64 ;; + sparc64b | ultrasparc3) + base_machine=sparc machine=sparc/sparc64/sparcv9b ;; ++sparc64v) ++ base_machine=sparc machine=sparc/sparc64/sparcv9v ;; + thumb*) base_machine=thumb machine=arm/thumb/$machine ;; + *) base_machine=$machine ;; + esac +@@ -2730,8 +2734,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +@@ -2789,8 +2792,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +@@ -2906,8 +2908,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +@@ -2961,8 +2962,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +@@ -3007,8 +3007,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +@@ -3052,8 +3051,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +@@ -3515,8 +3513,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && +- { ac_try='test -z "$ac_cxx_werror_flag" +- || test ! -s conftest.err' ++ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +@@ -3574,8 +3571,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && +- { ac_try='test -z "$ac_cxx_werror_flag" +- || test ! -s conftest.err' ++ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +@@ -3646,8 +3642,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && +- { ac_try='test -z "$ac_cxx_werror_flag" +- || test ! -s conftest.err' ++ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +@@ -3691,8 +3686,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && +- { ac_try='test -z "$ac_cxx_werror_flag" +- || test ! -s conftest.err' ++ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +@@ -4848,8 +4842,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +@@ -5808,8 +5801,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +@@ -5907,8 +5899,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +@@ -6229,8 +6220,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +@@ -6596,8 +6586,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +@@ -6671,8 +6660,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +@@ -6735,8 +6723,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +@@ -6815,8 +6802,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_l + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +@@ -6907,8 +6893,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +@@ -7078,8 +7063,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +@@ -7144,8 +7128,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +@@ -7207,8 +7190,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +@@ -7248,8 +7230,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +@@ -7305,8 +7286,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +@@ -7346,8 +7326,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +@@ -7411,8 +7390,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && +- { ac_try='test -z "$ac_c_werror_flag" +- || test ! -s conftest.err' ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? +@@ -7443,10 +7421,8 @@ See \`config.log' for more details." >&2 + esac + else + if test "$cross_compiling" = yes; then +- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling +-See \`config.log' for more details." >&5 +-echo "$as_me: error: cannot run test program while cross compiling +-See \`config.log' for more details." >&2;} ++ { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5 ++echo "$as_me: error: internal error: not reached in cross-compile" >&2;} + { (exit 1); exit 1; }; } + else + cat >conftest.$ac_ext <<_ACEOF +@@ -8675,11 +8651,6 @@ esac + *) ac_INSTALL=$ac_top_builddir$INSTALL ;; + esac + +- if test x"$ac_file" != x-; then +- { echo "$as_me:$LINENO: creating $ac_file" >&5 +-echo "$as_me: creating $ac_file" >&6;} +- rm -f "$ac_file" +- fi + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ +@@ -8718,6 +8689,12 @@ echo "$as_me: error: cannot find input f + fi;; + esac + done` || { (exit 1); exit 1; } ++ ++ if test x"$ac_file" != x-; then ++ { echo "$as_me:$LINENO: creating $ac_file" >&5 ++echo "$as_me: creating $ac_file" >&6;} ++ rm -f "$ac_file" ++ fi + _ACEOF + cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +@@ -9295,7 +9272,7 @@ echo "$as_me: error: $ac_sub_configure f + { (exit 1); exit 1; }; } + fi + +- cd $ac_popdir ++ cd "$ac_popdir" + done + fi + +--- glibc-2.3.6/configure.in.~1~ 2005-07-17 18:38:55.000000000 -0700 ++++ glibc-2.3.6/configure.in 2006-02-24 13:28:51.000000000 -0800 +@@ -475,10 +475,14 @@ sparcv8plus | sparcv8plusa | sparcv9) + base_machine=sparc machine=sparc/sparc32/sparcv9 ;; + sparcv8plusb | sparcv9b) + base_machine=sparc machine=sparc/sparc32/sparcv9b ;; ++sparcv9v) ++ base_machine=sparc machine=sparc/sparc32/sparcv9v ;; + sparc64 | ultrasparc) + base_machine=sparc machine=sparc/sparc64 ;; + sparc64b | ultrasparc3) + base_machine=sparc machine=sparc/sparc64/sparcv9b ;; ++sparc64v) ++ base_machine=sparc machine=sparc/sparc64/sparcv9v ;; + thumb*) base_machine=thumb machine=arm/thumb/$machine ;; + *) base_machine=$machine ;; + esac +--- glibc-2.3.6/sysdeps/unix/sysv/linux/configure.in.~1~ 2004-07-05 21:11:40.000000000 -0700 ++++ glibc-2.3.6/sysdeps/unix/sysv/linux/configure.in 2006-02-24 22:14:43.000000000 -0800 +@@ -161,7 +161,7 @@ case "$prefix" in + /usr | /usr/) + # 64-bit libraries on bi-arch platforms go in /lib64 instead of /lib + case $machine in +- sparc/sparc64 | x86_64 | powerpc/powerpc64 | s390/s390-64 | \ ++ sparc/sparc64 | sparc/sparc64b | sparc/sparc64v | x86_64 | powerpc/powerpc64 | s390/s390-64 | \ + mips/mips64/n64/* ) + libc_cv_slibdir="/lib64" + if test "$libdir" = '${exec_prefix}/lib'; then +--- glibc-2.3.6/sysdeps/unix/sysv/linux/configure.~1~ 2005-11-03 16:37:15.000000000 -0800 ++++ glibc-2.3.6/sysdeps/unix/sysv/linux/configure 2006-02-24 22:15:04.000000000 -0800 +@@ -226,7 +226,7 @@ case "$prefix" in + /usr | /usr/) + # 64-bit libraries on bi-arch platforms go in /lib64 instead of /lib + case $machine in +- sparc/sparc64 | x86_64 | powerpc/powerpc64 | s390/s390-64 | \ ++ sparc/sparc64 | sparc/sparc64b | sparc/sparc64v | x86_64 | powerpc/powerpc64 | s390/s390-64 | \ + mips/mips64/n64/* ) + libc_cv_slibdir="/lib64" + if test "$libdir" = '${exec_prefix}/lib'; then +--- glibc-2.3.6/shlib-versions.~1~ 2002-09-05 02:32:03.000000000 -0700 ++++ glibc-2.3.6/shlib-versions 2006-02-24 22:13:56.000000000 -0800 +@@ -31,7 +31,7 @@ powerpc64-.*-linux.* DEFAULT GLIBC_2.3 + # ------------- --------------- ------------------------------ + + # The interface to -lm depends mostly only on cpu, not on operating system. +-sparc64-.*-linux.* libm=6 GLIBC_2.2 ++sparc64.*-.*-linux.* libm=6 GLIBC_2.2 + alpha.*-.*-linux.* libm=6.1 + mips.*-.*-linux.* libm=6 GLIBC_2.0 GLIBC_2.2 + ia64-.*-linux.* libm=6.1 GLIBC_2.2 +@@ -46,7 +46,7 @@ alpha.*-.*-linux.* libc=6.1 + mips.*-.*-linux.* libc=6 GLIBC_2.0 GLIBC_2.2 + ia64-.*-linux.* libc=6.1 GLIBC_2.2 + sh.*-.*-linux.* libc=6 GLIBC_2.2 +-sparc64-.*-linux.* libc=6 GLIBC_2.2 ++sparc64.*-.*-linux.* libc=6 GLIBC_2.2 + hppa.*-.*-.* libc=6 GLIBC_2.2 + .*-.*-linux.* libc=6 + +@@ -61,7 +61,7 @@ hppa.*-.*-.* libc=6 GLIBC_2.2 + + # The dynamic loader also requires different names. + i.86-.*-linux.* ld=ld-linux.so.2 +-sparc64-.*-linux.* ld=ld-linux.so.2 GLIBC_2.2 ++sparc64.*-.*-linux.* ld=ld-linux.so.2 GLIBC_2.2 + sparc.*-.*-linux.* ld=ld-linux.so.2 + alpha.*-.*-linux.* ld=ld-linux.so.2 + arm.*-.*-linux.* ld=ld-linux.so.2 +@@ -123,7 +123,7 @@ alpha.*-.*-linux.* libcrypt=1.1 + alpha.*-.*-linux.* libBrokenLocale=1.1 + ia64-.*-.* libBrokenLocale=1 GLIBC_2.2 + sh.*-.*-.* libBrokenLocale=1 GLIBC_2.2 +-sparc64-.*-.* libBrokenLocale=1 GLIBC_2.2 ++sparc64.*-.*-.* libBrokenLocale=1 GLIBC_2.2 + hppa-.*-.* libBrokenLocale=1 GLIBC_2.2 + .*-.*-.* libBrokenLocale=1 + +--- glibc-2.3.6/elf/elf.h.~1~ 2006-02-25 11:54:38.000000000 -0800 ++++ glibc-2.3.6/elf/elf.h 2006-02-25 11:54:41.000000000 -0800 +@@ -1256,6 +1256,7 @@ typedef struct + #define HWCAP_SPARC_MULDIV 8 + #define HWCAP_SPARC_V9 16 /* The cpu is v9, so v8plus is ok. */ + #define HWCAP_SPARC_ULTRA3 32 ++#define HWCAP_SPARC_BLKINIT 64 /* Sun4v with block-init/load-twin. */ + + /* MIPS R3000 specific definitions. */ + +--- glibc-2.3.6/sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.c.~1~ 2006-02-25 11:54:38.000000000 -0800 ++++ glibc-2.3.6/sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.c 2006-02-25 11:54:41.000000000 -0800 +@@ -47,11 +47,11 @@ + #if !defined PROCINFO_DECL && defined SHARED + ._dl_sparc32_cap_flags + #else +-PROCINFO_CLASS const char _dl_sparc32_cap_flags[6][7] ++PROCINFO_CLASS const char _dl_sparc32_cap_flags[7][7] + #endif + #ifndef PROCINFO_DECL + = { +- "flush", "stbar", "swap", "muldiv", "v9", "ultra3" ++ "flush", "stbar", "swap", "muldiv", "v9", "ultra3", "v9v" + } + #endif + #if !defined SHARED || defined PROCINFO_DECL +--- glibc-2.3.6/sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h.~1~ 2006-02-25 11:54:38.000000000 -0800 ++++ glibc-2.3.6/sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h 2006-02-25 11:54:41.000000000 -0800 +@@ -62,7 +62,7 @@ _dl_string_hwcap (const char *str) + return -1; + }; + +-#define HWCAP_IMPORTANT (HWCAP_SPARC_V9|HWCAP_SPARC_ULTRA3) ++#define HWCAP_IMPORTANT (HWCAP_SPARC_V9|HWCAP_SPARC_ULTRA3|HWCAP_SPARC_BLKINIT) + + /* There are no different platforms defined. */ + #define _dl_platform_string(idx) "" +--- glibc-2.3.6/sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.c.~1~ 2006-02-25 11:54:38.000000000 -0800 ++++ glibc-2.3.6/sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.c 2006-02-25 11:54:41.000000000 -0800 +@@ -47,11 +47,11 @@ + #if !defined PROCINFO_DECL && defined SHARED + ._dl_sparc64_cap_flags + #else +-PROCINFO_CLASS const char _dl_sparc64_cap_flags[6][7] ++PROCINFO_CLASS const char _dl_sparc64_cap_flags[7][7] + #endif + #ifndef PROCINFO_DECL + = { +- "flush", "stbar", "swap", "muldiv", "v9", "ultra3" ++ "flush", "stbar", "swap", "muldiv", "v9", "ultra3", "v9v" + } + #endif + #if !defined SHARED || defined PROCINFO_DECL +--- glibc-2.3.6/sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h.~1~ 2006-02-25 11:54:38.000000000 -0800 ++++ glibc-2.3.6/sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h 2006-02-25 11:54:41.000000000 -0800 +@@ -63,7 +63,7 @@ _dl_string_hwcap (const char *str) + return -1; + }; + +-#define HWCAP_IMPORTANT (HWCAP_SPARC_ULTRA3) ++#define HWCAP_IMPORTANT (HWCAP_SPARC_ULTRA3|HWCAP_SPARC_BLKINIT) + + /* There are no different platforms defined. */ + #define _dl_platform_string(idx) "" +--- glibx-2.3.6/sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h.~2~ 2006-02-25 11:54:41.000000000 -0800 ++++ glibx-2.3.6/sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h 2006-02-26 21:08:13.000000000 -0800 +@@ -23,7 +23,7 @@ + + #include + +-#define _DL_HWCAP_COUNT 6 ++#define _DL_HWCAP_COUNT 7 + + static inline int + __attribute__ ((unused)) +--- glibx-2.3.6/sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h.~2~ 2006-02-25 11:54:41.000000000 -0800 ++++ glibx-2.3.6/sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h 2006-02-26 21:08:21.000000000 -0800 +@@ -23,7 +23,7 @@ + + #include + +-#define _DL_HWCAP_COUNT 6 ++#define _DL_HWCAP_COUNT 7 + + static inline int + __attribute__ ((unused)) --- glibc-2.3.6.orig/debian/patches/cvs-all-strxfrm.dpatch +++ glibc-2.3.6/debian/patches/cvs-all-strxfrm.dpatch @@ -0,0 +1,58 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Integer overflow in strxfrm +# DP: Related bugs: Malone#28640 +# DP: Dpatch author: Jeff Bailey +# DP: Patch author: Ulrich Drepper +# DP: Upstream status: In CVS +# DP: Status Details: +# DP: Date: 2006-01-30 + +PATCHLEVEL=0 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. + +--- string/strxfrm_l.c 2004-03-14 15:52:47.000000000 -0500 ++++ string/strxfrm_l.c 2005-10-15 16:49:18.000000000 -0400 +@@ -1,4 +1,4 @@ +-/* Copyright (C) 1995,96,97,2002, 2004 Free Software Foundation, Inc. ++/* Copyright (C) 1995,96,97,2002, 2004, 2005 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Written by Ulrich Drepper , 1995. + +@@ -210,8 +210,9 @@ + /* Handle the pushed elements now. */ + size_t backw; + +- for (backw = idxcnt - 1; backw >= backw_stop; --backw) ++ for (backw = idxcnt; backw > backw_stop; ) + { ++ --backw; + len = weights[idxarr[backw]++]; + + if (needed + len < n) +@@ -293,8 +294,9 @@ + /* Handle the pushed elements now. */ + size_t backw; + +- for (backw = idxcnt - 1; backw >= backw_stop; --backw) ++ for (backw = idxcnt; backw > backw_stop; ) + { ++ --backw; + len = weights[idxarr[backw]++]; + if (len != 0) + { --- glibc-2.3.6.orig/debian/patches/cvs-mash-rlimit-rtprio.dpatch +++ glibc-2.3.6/debian/patches/cvs-mash-rlimit-rtprio.dpatch @@ -0,0 +1,305 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Add RLIMIT_RTPRIO and RLIMIT_NLIMITS to glibc. +# DP: Related bugs: +# DP: Dpatch author: +# DP: Patch author: Jakub and Ulrich +# DP: Upstream status: In CVS +# DP: Status Details: +# DP: Date: 2006-03-01 + +PATCHLEVEL=1 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +2005-06-21 Ulrich Drepper + + * resource/Makefile (tests): Add tst-getrlimit. + * resource/tst-getrlimit.c: New file. + + * sysdeps/unix/sysv/linux/bits/resource.h (RLIMIT_RTPRIO): Fix typo. + * sysdeps/unix/sysv/linux/alpha/bits/resource.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/resource.h: Likewise. + + +2005-06-20 Jakub Jelinek + + * sysdeps/unix/sysv/linux/bits/resource.h (RLIMIT_NICE, + RLIMIT_RTPRIO): Add. + (RLIMIT_NLIMITS): Adjust. + * sysdeps/unix/sysv/linux/alpha/bits/resource.h (RLIMIT_NICE, + RLIMIT_RTPRIO): Add. + (RLIMIT_NLIMITS): Adjust. + * sysdeps/unix/sysv/linux/mips/bits/resource.h (RLIMIT_NICE, + RLIMIT_RTPRIO): Add. + (RLIMIT_NLIMITS): Adjust. + * sysdeps/unix/sysv/linux/sparc/bits/resource.h (RLIMIT_NICE, + RLIMIT_RTPRIO): Add. + (RLIMIT_NLIMITS): Adjust. + + +# append the patch here and adjust the -p? flag in the patch calls. +diff -urN glibc-2.3.6.old/resource/Makefile glibc-2.3.6/resource/Makefile +--- glibc-2.3.6.old/resource/Makefile 2001-07-06 00:55:39.000000000 -0400 ++++ glibc-2.3.6/resource/Makefile 2006-03-01 19:50:40.000000000 -0500 +@@ -1,4 +1,4 @@ +-# Copyright (C) 1991, 1992, 1994, 1995, 1997 Free Software Foundation, Inc. ++# Copyright (C) 1991,1992,1994,1995,1997,2005 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 +@@ -24,4 +24,6 @@ + routines := getrlimit setrlimit getrlimit64 setrlimit64 getrusage ulimit \ + vlimit vtimes getpriority setpriority nice + ++tests = tst-getrlimit ++ + include ../Rules +diff -urN glibc-2.3.6.old/resource/tst-getrlimit.c glibc-2.3.6/resource/tst-getrlimit.c +--- glibc-2.3.6.old/resource/tst-getrlimit.c 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.6/resource/tst-getrlimit.c 2006-03-01 19:49:15.000000000 -0500 +@@ -0,0 +1,112 @@ ++#include ++#include ++#include ++#include ++ ++ ++static struct ++{ ++ const char *name; ++ int resource; ++ bool required; ++} tests[] = ++ { ++ /* The following 7 limits are part of POSIX and must exist. */ ++ { "RLIMIT_CORE", RLIMIT_CORE, true }, ++ { "RLIMIT_CPU", RLIMIT_CPU, true }, ++ { "RLIMIT_DATA", RLIMIT_DATA, true }, ++ { "RLIMIT_FSIZE", RLIMIT_FSIZE, true }, ++ { "RLIMIT_NOFILE", RLIMIT_NOFILE, true }, ++ { "RLIMIT_STACK", RLIMIT_STACK, true }, ++ { "RLIMIT_AS", RLIMIT_AS, true }, ++ /* The following are traditional Unix limits which are also ++ expected (by us). */ ++ { "RLIMIT_RSS", RLIMIT_RSS, true }, ++ { "RLIMIT_NPROC", RLIMIT_NPROC, true }, ++ /* The following are extensions. */ ++#ifdef RLIMIT_MEMLOCK ++ { "RLIMIT_MEMLOCK", RLIMIT_MEMLOCK, false }, ++#endif ++#ifdef RLIMIT_LOCKS ++ { "RLIMIT_LOCKS", RLIMIT_LOCKS, false }, ++#endif ++#ifdef RLIMIT_SIGPENDING ++ { "RLIMIT_SIGPENDING", RLIMIT_SIGPENDING, false }, ++#endif ++#ifdef RLIMIT_MSGQUEUE ++ { "RLIMIT_MSGQUEUE", RLIMIT_MSGQUEUE, false }, ++#endif ++#ifdef RLIMIT_NICE ++ { "RLIMIT_NICE", RLIMIT_NICE, false }, ++#endif ++#ifdef RLIMIT_RTPRIO ++ { "RLIMIT_RTPRIO", RLIMIT_RTPRIO, false }, ++#endif ++ }; ++#define ntests (sizeof (tests) / sizeof (tests[0])) ++ ++ ++static int ++do_test (void) ++{ ++ int status = 0; ++ ++ for (int i = 0; i < ntests; ++i) ++ { ++ bool this_ok = true; ++ ++ struct rlimit r; ++ int res = getrlimit (tests[i].resource, &r); ++ if (res == -1) ++ { ++ if (errno == EINVAL) ++ { ++ if (tests[i].required) ++ { ++ printf ("limit %s expectedly not available for getrlimit\n", ++ tests[i].name); ++ status = 1; ++ this_ok = false; ++ } ++ } ++ else ++ { ++ printf ("getrlimit for %s returned unexpected error: %m\n", ++ tests[i].name); ++ status = 1; ++ this_ok = false; ++ } ++ } ++ ++ struct rlimit64 r64; ++ res = getrlimit64 (tests[i].resource, &r64); ++ if (res == -1) ++ { ++ if (errno == EINVAL) ++ { ++ if (tests[i].required) ++ { ++ printf ("limit %s expectedly not available for getrlimit64" ++ "\n", tests[i].name); ++ status = 1; ++ this_ok = false; ++ } ++ } ++ else ++ { ++ printf ("getrlimit64 for %s returned unexpected error: %m\n", ++ tests[i].name); ++ status = 1; ++ this_ok = false; ++ } ++ } ++ ++ if (this_ok) ++ printf ("limit %s OK\n", tests[i].name); ++ } ++ ++ return status; ++} ++ ++#define TEST_FUNCTION do_test () ++#include "../test-skeleton.c" +diff -urN glibc-2.3.6.old/sysdeps/unix/sysv/linux/alpha/bits/resource.h glibc-2.3.6/sysdeps/unix/sysv/linux/alpha/bits/resource.h +--- glibc-2.3.6.old/sysdeps/unix/sysv/linux/alpha/bits/resource.h 2004-08-16 04:51:46.000000000 -0400 ++++ glibc-2.3.6/sysdeps/unix/sysv/linux/alpha/bits/resource.h 2006-03-01 19:52:11.000000000 -0500 +@@ -1,5 +1,5 @@ + /* Bit values & structures for resource limits. Alpha/Linux version. +- Copyright (C) 1994, 1996, 1997, 1998, 1999, 2000, 2004 ++ Copyright (C) 1994, 1996, 1997, 1998, 1999, 2000, 2004, 2005 + Free Software Foundation, Inc. + This file is part of the GNU C Library. + +@@ -89,7 +89,18 @@ + __RLIMIT_MSGQUEUE = 12, + #define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE + +- __RLIMIT_NLIMITS = 13, ++ /* Maximum nice priority allowed to raise to. ++ Nice levels 19 .. -20 correspond to 0 .. 39 ++ values of this resource limit. */ ++ __RLIMIT_NICE = 13, ++#define RLIMIT_NICE __RLIMIT_NICE ++ ++ /* Maximum realtime priority allowed for non-priviledged ++ processes. */ ++ __RLIMIT_RTPRIO = 14, ++#define RLIMIT_RTPRIO __RLIMIT_RTPRIO ++ ++ __RLIMIT_NLIMITS = 15, + __RLIM_NLIMITS = __RLIMIT_NLIMITS + #define RLIMIT_NLIMITS __RLIMIT_NLIMITS + #define RLIM_NLIMITS __RLIM_NLIMITS +diff -urN glibc-2.3.6.old/sysdeps/unix/sysv/linux/bits/resource.h glibc-2.3.6/sysdeps/unix/sysv/linux/bits/resource.h +--- glibc-2.3.6.old/sysdeps/unix/sysv/linux/bits/resource.h 2004-08-16 04:51:45.000000000 -0400 ++++ glibc-2.3.6/sysdeps/unix/sysv/linux/bits/resource.h 2006-03-01 19:51:52.000000000 -0500 +@@ -1,5 +1,5 @@ + /* Bit values & structures for resource limits. Linux version. +- Copyright (C) 1994, 1996, 1997, 1998, 1999, 2000, 2004 ++ Copyright (C) 1994, 1996, 1997, 1998, 1999, 2000, 2004, 2005 + Free Software Foundation, Inc. + This file is part of the GNU C Library. + +@@ -89,7 +89,18 @@ + __RLIMIT_MSGQUEUE = 12, + #define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE + +- __RLIMIT_NLIMITS = 13, ++ /* Maximum nice priority allowed to raise to. ++ Nice levels 19 .. -20 correspond to 0 .. 39 ++ values of this resource limit. */ ++ __RLIMIT_NICE = 13, ++#define RLIMIT_NICE __RLIMIT_NICE ++ ++ /* Maximum realtime priority allowed for non-priviledged ++ processes. */ ++ __RLIMIT_RTPRIO = 14, ++#define RLIMIT_RTPRIO __RLIMIT_RTPRIO ++ ++ __RLIMIT_NLIMITS = 15, + __RLIM_NLIMITS = __RLIMIT_NLIMITS + #define RLIMIT_NLIMITS __RLIMIT_NLIMITS + #define RLIM_NLIMITS __RLIM_NLIMITS +diff -urN glibc-2.3.6.old/sysdeps/unix/sysv/linux/mips/bits/resource.h glibc-2.3.6/sysdeps/unix/sysv/linux/mips/resource.h +--- glibc-2.3.6.old/sysdeps/unix/sysv/linux/mips/bits/resource.h 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.6/sysdeps/unix/sysv/linux/mips/bits/resource.h 2006-03-01 19:52:35.000000000 -0500 +@@ -1,5 +1,5 @@ + /* Bit values & structures for resource limits. Linux/MIPS version. +- Copyright (C) 1994, 1996, 1997, 1998, 1999, 2000, 2004 ++ Copyright (C) 1994, 1996, 1997, 1998, 1999, 2000, 2004, 2005 + Free Software Foundation, Inc. + This file is part of the GNU C Library. + +@@ -89,7 +89,18 @@ + __RLIMIT_MSGQUEUE = 12, + #define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE + +- __RLIMIT_NLIMITS = 13, ++ /* Maximum nice priority allowed to raise to. ++ Nice levels 19 .. -20 correspond to 0 .. 39 ++ values of this resource limit. */ ++ __RLIMIT_NICE = 13, ++#define RLIMIT_NICE __RLIMIT_NICE ++ ++ /* Maximum realtime priority allowed for non-priviledged ++ processes. */ ++ __RLIMIT_RTPRIO = 14, ++#define RLIMIT_RTPRIO _RLIMIT_RTPRIO ++ ++ __RLIMIT_NLIMITS = 15, + __RLIM_NLIMITS = __RLIMIT_NLIMITS + #define RLIMIT_NLIMITS __RLIMIT_NLIMITS + #define RLIM_NLIMITS __RLIM_NLIMITS +diff -urN glibc-2.3.6.old/sysdeps/unix/sysv/linux/sparc/bits/resource.h glibc-2.3.6/sysdeps/unix/sysv/linux/sparc/resource.h +--- glibc-2.3.6.old/sysdeps/unix/sysv/linux/sparc/bits/resource.h 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.6/sysdeps/unix/sysv/linux/sparc/bits/resource.h 2006-03-01 19:53:39.000000000 -0500 +@@ -1,5 +1,5 @@ + /* Bit values & structures for resource limits. Linux/SPARC version. +- Copyright (C) 1994, 1996, 1997, 1998, 1999, 2000, 2004 ++ Copyright (C) 1994, 1996, 1997, 1998, 1999, 2000, 2004, 2005 + Free Software Foundation, Inc. + This file is part of the GNU C Library. + +@@ -89,7 +89,18 @@ + __RLIMIT_MSGQUEUE = 12, + #define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE + +- __RLIMIT_NLIMITS = 13, ++ /* Maximum nice priority allowed to raise to. ++ Nice levels 19 .. -20 correspond to 0 .. 39 ++ values of this resource limit. */ ++ __RLIMIT_NICE = 13, ++#define RLIMIT_NICE __RLIMIT_NICE ++ ++ /* Maximum realtime priority allowed for non-priviledged ++ processes. */ ++ __RLIMIT_RTPRIO = 14, ++#define RLIMIT_RTPRIO __RLIMIT_RTPRIO ++ ++ __RLIMIT_NLIMITS = 15, + __RLIM_NLIMITS = __RLIMIT_NLIMITS + #define RLIMIT_NLIMITS __RLIMIT_NLIMITS + #define RLIM_NLIMITS __RLIM_NLIMITS --- glibc-2.3.6.orig/debian/patches/submitted-hppa-fpu.dpatch +++ glibc-2.3.6/debian/patches/submitted-hppa-fpu.dpatch @@ -0,0 +1,94 @@ +#! /bin/sh -e + +# DP: Description: hppa floating point exception handling fix +# DP: Related bugs: Debian #342545 +# DP: Dpatch author: Randolph Chung +# DP: Patch author: Randolph Chung +# DP: Upstream status: Pending +# DP: Status Details: to be merged by Carlos +# DP: Date: Sun, 15 Jan 2006 + +PATCHLEVEL=1 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +diff -uNr glibc-2.3.5/sysdeps/hppa/fpu.orig/fegetenv.c glibc-2.3.5/sysdeps/hppa/fpu/fegetenv.c +--- glibc-2.3.5/sysdeps/hppa/fpu.orig/fegetenv.c 2006-01-14 10:17:19.000000000 -0800 ++++ glibc-2.3.5/sysdeps/hppa/fpu/fegetenv.c 2006-01-14 10:19:08.000000000 -0800 +@@ -27,10 +27,7 @@ + unsigned long long buf[4], *bufptr = buf; + + __asm__ ( +- "fstd,ma %%fr0,8(%1)\n" +- "fstd,ma %%fr1,8(%1)\n" +- "fstd,ma %%fr2,8(%1)\n" +- "fstd %%fr3,0(%1)\n" ++ "fstd %%fr0,0(%1)\n" + : "=m" (buf), "+r" (bufptr)); + memcpy (envp, buf, sizeof (*envp)); + return 0; +diff -uNr glibc-2.3.5/sysdeps/hppa/fpu.orig/feholdexcpt.c glibc-2.3.5/sysdeps/hppa/fpu/feholdexcpt.c +--- glibc-2.3.5/sysdeps/hppa/fpu.orig/feholdexcpt.c 2006-01-14 10:17:19.000000000 -0800 ++++ glibc-2.3.5/sysdeps/hppa/fpu/feholdexcpt.c 2006-01-14 10:20:21.000000000 -0800 +@@ -30,10 +30,7 @@ + /* Store the environment. */ + bufptr = clear.buf; + __asm__ ( +- "fstd,ma %%fr0,8(%1)\n" +- "fstd,ma %%fr1,8(%1)\n" +- "fstd,ma %%fr2,8(%1)\n" +- "fstd %%fr3,0(%1)\n" ++ "fstd %%fr0,0(%1)\n" + : "=m" (clear), "+r" (bufptr)); + memcpy (envp, &clear.env, sizeof (fenv_t)); + +@@ -47,10 +44,7 @@ + /* Load the new environment. */ + bufptr = clear.buf; + __asm__ ( +- "fldd,ma 8(%0),%%fr0\n" +- "fldd,ma 8(%0),%%fr1\n" +- "fldd,ma 8(%0),%%fr2\n" +- "fldd 0(%0),%%fr3\n" ++ "fldd 0(%0),%%fr0\n" + : : "r" (bufptr), "m" (clear)); + + return 0; +diff -uNr glibc-2.3.5/sysdeps/hppa/fpu.orig/fesetenv.c glibc-2.3.5/sysdeps/hppa/fpu/fesetenv.c +--- glibc-2.3.5/sysdeps/hppa/fpu.orig/fesetenv.c 2006-01-14 10:17:19.000000000 -0800 ++++ glibc-2.3.5/sysdeps/hppa/fpu/fesetenv.c 2006-01-14 10:20:44.000000000 -0800 +@@ -34,10 +34,7 @@ + we want to use from the environment specified by the parameter. */ + bufptr = temp.buf; + __asm__ ( +- "fstd,ma %%fr0,8(%1)\n" +- "fstd,ma %%fr1,8(%1)\n" +- "fstd,ma %%fr2,8(%1)\n" +- "fstd %%fr3,0(%1)\n" ++ "fstd %%fr0,0(%1)\n" + : "=m" (temp), "+r" (bufptr)); + + temp.env.__status_word &= ~(FE_ALL_EXCEPT +@@ -56,9 +53,6 @@ + /* Load the new environment. */ + bufptr = temp.buf; + __asm__ ( +- "fldd,ma -8(%1),%%fr3\n" +- "fldd,ma -8(%1),%%fr2\n" +- "fldd,ma -8(%1),%%fr1\n" + "fldd 0(%1),%%fr0\n" + : "=m" (temp), "+r" (bufptr)); + + --- glibc-2.3.6.orig/debian/patches/amd64-lib.dpatch +++ glibc-2.3.6/debian/patches/amd64-lib.dpatch @@ -0,0 +1,64 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Use /lib instead of /lib64 for the native amd64 port +# DP: Dpatch author: Andreas Jochens +# DP: Patch author: +# DP: Upstream status: Debian-Specific +# DP: Status Details: +# DP: Date: 2004-06-07 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +--- glibc-2.3.2/sysdeps/unix/sysv/linux/configure~ 2004-06-05 14:03:22.118247000 +0200 ++++ glibc-2.3.2/sysdeps/unix/sysv/linux/configure 2004-06-05 11:43:35.667961319 +0200 +@@ -226,7 +226,7 @@ + /usr | /usr/) + # 64-bit libraries on bi-arch platforms go in /lib64 instead of /lib + case $machine in +- sparc/sparc64 | sparc/sparc64b | sparc/sparc64v | x86_64 | powerpc/powerpc64 | s390/s390-64 | \ ++ sparc/sparc64 | sparc/sparc64b | sparc/sparc64v | powerpc/powerpc64 | s390/s390-64 | \ + mips/mips64/n64/* ) + libc_cv_slibdir="/lib64" + if test "$libdir" = '${exec_prefix}/lib'; then +@@ -235,7 +235,7 @@ + libc_cv_localedir='${exec_prefix}/lib/locale' + fi + ;; +- mips/mips64/n32/* ) ++ mips/mips64/n32/* | i[3456]86* ) + libc_cv_slibdir="/lib32" + if test "$libdir" = '${exec_prefix}/lib'; then + libdir='${exec_prefix}/lib32'; +--- glibc-2.3.2/sysdeps/unix/sysv/linux/configure.in~ 2004-07-05 09:52:28.000000000 +0200 ++++ glibc-2.3.2/sysdeps/unix/sysv/linux/configure.in 2004-07-05 12:18:07.995664571 +0200 +@@ -161,7 +161,7 @@ + /usr | /usr/) + # 64-bit libraries on bi-arch platforms go in /lib64 instead of /lib + case $machine in +- sparc/sparc64 | sparc/sparc64b | sparc/sparc64v | x86_64 | powerpc/powerpc64 | s390/s390-64 | \ ++ sparc/sparc64 | sparc/sparc64b | sparc/sparc64v | powerpc/powerpc64 | s390/s390-64 | \ + mips/mips64/n64/* ) + libc_cv_slibdir="/lib64" + if test "$libdir" = '${exec_prefix}/lib'; then +@@ -170,7 +170,7 @@ + libc_cv_localedir='${exec_prefix}/lib/locale' + fi + ;; +- mips/mips64/n32/* ) ++ mips/mips64/n32/* | i[3456]86* ) + libc_cv_slibdir="/lib32" + if test "$libdir" = '${exec_prefix}/lib'; then + libdir='${exec_prefix}/lib32'; --- glibc-2.3.6.orig/debian/patches/local-all-dynamic-resolvconf.dpatch +++ glibc-2.3.6/debian/patches/local-all-dynamic-resolvconf.dpatch @@ -0,0 +1,57 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: allow dynamic long-running processes to +# DP: re-read a dynamically updated resolv.conf on the fly +# DP: Dpatch author: Adam Conrad +# DP: Patch author: Thorsten Kukuk +# DP: Upstream status: Ubuntu-Specific +# DP: Date: 2006-01-13 08:14:21 UTC + +PATCHLEVEL=1 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +--- glibc-2.3.6/resolv/res_libc.c 2004-08-13 15:44:46.000000000 +1000 ++++ glibc-2.3.6/resolv/res_libc.c 2006-01-13 19:10:28.000000000 +1100 +@@ -22,7 +22,7 @@ + #include + #include + #include +- ++#include + + /* The following bit is copied from res_data.c (where it is #ifdef'ed + out) since res_init() should go into libc.so but the rest of that +@@ -100,8 +100,17 @@ + int + __res_maybe_init (res_state resp, int preinit) + { +- if (resp->options & RES_INIT) { +- if (__res_initstamp != resp->_u._ext.initstamp) { ++ static time_t last_mtime; ++ struct stat statbuf; ++ int ret; ++ ++ ++ if (resp->options & RES_INIT) { ++ ret = stat (_PATH_RESCONF, &statbuf); ++ if (__res_initstamp != resp->_u._ext.initstamp ++ || (ret == 0) && (last_mtime != statbuf.st_mtime)) ++ { ++ last_mtime = statbuf.st_mtime; + if (resp->nscount > 0) { + __res_nclose (resp); + for (int ns = 0; ns < MAXNS; ns++) { --- glibc-2.3.6.orig/debian/patches/local-all-belocs-locale-update.dpatch +++ glibc-2.3.6/debian/patches/local-all-belocs-locale-update.dpatch @@ -0,0 +1,1706 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Update locale and localedef binaries from Belocs +# DP: Related bugs: +# DP: Dpatch author: Jeff Bailey +# DP: Patch author: Denis Barbier +# DP: Upstream status: Not submitted +# DP: Status Details: +# DP: Date: 2005-11-30 + +PATCHLEVEL=1 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +--- glibc-2.3.5/locale/programs/charmap-dir.c 2003-01-13 03:58:54.000000000 -0500 ++++ glibc-2.3.5/locale/programs/charmap-dir.c 2005-11-30 11:09:02.000000000 -0500 +@@ -16,6 +16,10 @@ + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + ++#ifdef HAVE_CONFIG_H ++# include ++#endif ++ + #include + #include + #include +--- glibc-2.3.5/locale/programs/ld-address.c 2002-06-30 17:41:11.000000000 -0400 ++++ glibc-2.3.5/locale/programs/ld-address.c 2005-11-30 11:09:02.000000000 -0500 +@@ -1,4 +1,4 @@ +-/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. ++/* Copyright (C) 1998-2002, 2005 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 1998. + +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + + #include + +@@ -34,12 +35,13 @@ + #include "locfile.h" + + +-static struct ++struct iso3166_t + { +- const char ab2[3]; +- const char ab3[4]; ++ char ab2[3]; ++ char ab3[4]; + uint32_t num; +-} iso3166[] = ++}; ++static struct iso3166_t dft_iso3166[] = + { + #define DEFINE_COUNTRY_CODE(Name, Ab2, Ab3, Num) \ + { #Ab2, #Ab3, Num }, +@@ -47,12 +49,13 @@ + }; + + +-static struct ++struct iso639_t + { +- const char ab[3]; +- const char term[4]; +- const char lib[4]; +-} iso639[] = ++ char ab[3]; ++ char term[4]; ++ char lib[4]; ++}; ++static struct iso639_t dft_iso639[] = + { + #define DEFINE_LANGUAGE_CODE(Name, Ab, Term, Lib) \ + { #Ab, #Term, #Lib }, +@@ -96,6 +99,163 @@ + } + } + ++static void ++get_iso639_def(struct iso639_t **iso639, size_t *nr_iso639) ++{ ++ FILE *fp; ++ char *line = NULL; ++ size_t linelength = 0, nelem = 0; ++ int n, cnt, in_string; ++ char *cp; ++ struct iso639_t *tab; ++ ++ *iso639 = dft_iso639; ++ *nr_iso639 = sizeof (dft_iso639) / sizeof (dft_iso639[0]); ++ fp = fopen (LOCSRCDIR "/iso-639.def", "rm"); ++ if (fp == NULL) ++ return; ++ /* First get the number of elements. */ ++ while (1) ++ { ++ n = getline(&line, &linelength, fp); ++ if (n < 0) ++ break; ++ if (strncmp(line, "DEFINE_LANGUAGE_CODE", 20) == 0) ++ nelem++; ++ } ++ tab = (struct iso639_t *) xmalloc(nelem * sizeof (struct iso639_t)); ++ nelem = 0; ++ rewind (fp); ++ while (1) ++ { ++ n = getline(&line, &linelength, fp); ++ if (n < 0) ++ break; ++ if (strncmp(line, "DEFINE_LANGUAGE_CODE", 20) == 0) ++ { ++ in_string = 0; ++ cnt = 0; ++ if (line[20] == '3') ++ cnt++; ++ tab[nelem].ab[0] = tab[nelem].term[0] = tab[nelem].lib[0] = '\0'; ++ for (cp = line+20; *cp != '\0'; cp++) ++ { ++ if (*cp == '"') ++ in_string = !in_string; ++ else if (*cp == ',' && !in_string) ++ { ++ cnt++; ++ cp++; ++ while (*cp == ' ' || *cp == '\t') ++ cp++; ++ if (cnt == 1) ++ { ++ tab[nelem].ab[0] = *cp; ++ tab[nelem].ab[1] = *(cp+1); ++ tab[nelem].ab[2] = '\0'; ++ } ++ else if (cnt == 2) ++ { ++ tab[nelem].term[0] = *cp; ++ tab[nelem].term[1] = *(cp+1); ++ tab[nelem].term[2] = *(cp+2); ++ tab[nelem].term[3] = '\0'; ++ } ++ else if (cnt == 3) ++ { ++ tab[nelem].lib[0] = *cp; ++ tab[nelem].lib[1] = *(cp+1); ++ tab[nelem].lib[2] = *(cp+2); ++ tab[nelem].lib[3] = '\0'; ++ } ++ } ++ } ++ nelem++; ++ } ++ } ++ fclose (fp); ++ free(line); ++ *nr_iso639 = nelem; ++ *iso639 = tab; ++} ++ ++ ++static void ++get_iso3166_def(struct iso3166_t **iso3166, size_t *nr_iso3166) ++{ ++ FILE *fp; ++ char *line = NULL; ++ size_t linelength = 0, nelem = 0; ++ int n, cnt, in_string; ++ char *cp; ++ struct iso3166_t *tab; ++ ++ *iso3166 = dft_iso3166; ++ *nr_iso3166 = sizeof (dft_iso3166) / sizeof (dft_iso3166[0]); ++ fp = fopen (LOCSRCDIR "/iso-3166.def", "rm"); ++ if (fp == NULL) ++ return; ++ /* First get the number of elements. */ ++ while (!feof(fp)) ++ { ++ n = getline(&line, &linelength, fp); ++ if (n < 0) ++ break; ++ if (strncmp(line, "DEFINE_COUNTRY_CODE", 19) == 0) ++ nelem++; ++ } ++ tab = (struct iso3166_t *) xmalloc(nelem * sizeof (struct iso3166_t)); ++ nelem = 0; ++ rewind (fp); ++ while (1) ++ { ++ n = getline(&line, &linelength, fp); ++ if (n < 0) ++ break; ++ if (strncmp(line, "DEFINE_COUNTRY_CODE", 19) == 0) ++ { ++ in_string = 0; ++ cnt = 0; ++ tab[nelem].ab2[0] = tab[nelem].ab3[0] = '\0'; ++ tab[nelem].num = 0; ++ for (cp = line+19; *cp != '\0'; cp++) ++ { ++ if (*cp == '"') ++ in_string = !in_string; ++ else if (*cp == ',' && !in_string) ++ { ++ cnt++; ++ cp++; ++ while (*cp == ' ' || *cp == '\t') ++ cp++; ++ if (cnt == 1) ++ { ++ tab[nelem].ab2[0] = *cp; ++ tab[nelem].ab2[1] = *(cp+1); ++ tab[nelem].ab2[2] = '\0'; ++ } ++ else if (cnt == 2) ++ { ++ tab[nelem].ab3[0] = *cp; ++ tab[nelem].ab3[1] = *(cp+1); ++ tab[nelem].ab3[2] = *(cp+2); ++ tab[nelem].ab3[3] = '\0'; ++ } ++ else if (cnt == 3) ++ { ++ tab[nelem].num = (uint32_t) strtol(cp, NULL, 10); ++ } ++ } ++ } ++ nelem++; ++ } ++ } ++ fclose (fp); ++ free(line); ++ *nr_iso3166 = nelem; ++ *iso3166 = tab; ++} ++ + + void + address_finish (struct localedef_t *locale, const struct charmap_t *charmap) +@@ -104,6 +264,11 @@ + size_t cnt; + int helper; + int nothing = 0; ++ struct iso3166_t *iso3166; ++ struct iso639_t *iso639; ++ size_t nr_iso3166, nr_iso639; ++ get_iso3166_def(&iso3166, &nr_iso3166); ++ get_iso639_def(&iso639, &nr_iso639); + + /* Now resolve copying and also handle completely missing definitions. */ + if (address == NULL) +@@ -201,22 +366,22 @@ + WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' not defined"), + "LC_ADDRESS", "lang_term")); + address->lang_term = ""; +- cnt = sizeof (iso639) / sizeof (iso639[0]); ++ cnt = nr_iso639; + } + else if (address->lang_term[0] == '\0') + { + if (verbose) + WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' must not be empty"), + "LC_ADDRESS", "lang_term")); +- cnt = sizeof (iso639) / sizeof (iso639[0]); ++ cnt = nr_iso639; + } + else + { + /* Look for this language in the table. */ +- for (cnt = 0; cnt < sizeof (iso639) / sizeof (iso639[0]); ++cnt) ++ for (cnt = 0; cnt < nr_iso639; ++cnt) + if (strcmp (address->lang_term, iso639[cnt].term) == 0) + break; +- if (cnt == sizeof (iso639) / sizeof (iso639[0])) ++ if (cnt == nr_iso639) + WITH_CUR_LOCALE (error (0, 0, _("\ + %s: terminology language code `%s' not defined"), + "LC_ADDRESS", address->lang_term)); +@@ -224,26 +389,33 @@ + + if (address->lang_ab == NULL) + { +- if (verbose && ! nothing) ++ if (iso639[cnt].ab[0] != '\0' && verbose && ! nothing) + WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' not defined"), + "LC_ADDRESS", "lang_ab")); + address->lang_ab = ""; + } + else if (address->lang_ab[0] == '\0') + { +- if (verbose) ++ if (iso639[cnt].ab[0] != '\0' && verbose) + WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' must not be empty"), + "LC_ADDRESS", "lang_ab")); + } ++ else if (iso639[cnt].ab[0] == '\0') ++ { ++ WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' must not be defined"), ++ "LC_ADDRESS", "lang_ab")); ++ ++ address->lang_ab = ""; ++ } + else + { +- if (cnt == sizeof (iso639) / sizeof (iso639[0])) ++ if (cnt == nr_iso639) + { + helper = 2; +- for (cnt = 0; cnt < sizeof (iso639) / sizeof (iso639[0]); ++cnt) ++ for (cnt = 0; cnt < nr_iso639; ++cnt) + if (strcmp (address->lang_ab, iso639[cnt].ab) == 0) + break; +- if (cnt == sizeof (iso639) / sizeof (iso639[0])) ++ if (cnt == nr_iso639) + WITH_CUR_LOCALE (error (0, 0, _("\ + %s: language abbreviation `%s' not defined"), + "LC_ADDRESS", address->lang_ab)); +@@ -267,12 +439,12 @@ + } + else + { +- if (cnt == sizeof (iso639) / sizeof (iso639[0])) ++ if (cnt == nr_iso639) + { +- for (cnt = 0; cnt < sizeof (iso639) / sizeof (iso639[0]); ++cnt) ++ for (cnt = 0; cnt < nr_iso639; ++cnt) + if (strcmp (address->lang_lib, iso639[cnt].lib) == 0) + break; +- if (cnt == sizeof (iso639) / sizeof (iso639[0])) ++ if (cnt == nr_iso639) + WITH_CUR_LOCALE (error (0, 0, _("\ + %s: language abbreviation `%s' not defined"), + "LC_ADDRESS", address->lang_lib)); +@@ -289,15 +461,26 @@ + if (verbose && ! nothing) + WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' not defined"), + "LC_ADDRESS", "country_num")); +- cnt = sizeof (iso3166) / sizeof (iso3166[0]); ++ cnt = nr_iso3166; + } + else + { +- for (cnt = 0; cnt < sizeof (iso3166) / sizeof (iso3166[0]); ++cnt) ++ for (cnt = 0; cnt < nr_iso3166; ++cnt) + if (address->country_num == iso3166[cnt].num) +- break; ++ { ++ /* Countries are sometimes renamed without code change, ++ see YU -> CS for instance. We may want to keep both ++ entries to help transitioning. */ ++ if (address->country_ab2 != NULL && ++ strcmp (address->country_ab2, iso3166[cnt].ab2) != 0) ++ continue; ++ if (address->country_ab3 != NULL && ++ strcmp (address->country_ab3, iso3166[cnt].ab3) != 0) ++ continue; ++ break; ++ } + +- if (cnt == sizeof (iso3166) / sizeof (iso3166[0])) ++ if (cnt == nr_iso3166) + WITH_CUR_LOCALE (error (0, 0, _("\ + %s: numeric country code `%d' not valid"), + "LC_ADDRESS", address->country_num)); +@@ -310,7 +493,7 @@ + "LC_ADDRESS", "country_ab2")); + address->country_ab2 = " "; + } +- else if (cnt != sizeof (iso3166) / sizeof (iso3166[0]) ++ else if (cnt != nr_iso3166 + && strcmp (address->country_ab2, iso3166[cnt].ab2) != 0) + WITH_CUR_LOCALE (error (0, 0, + _("%s: `%s' value does not match `%s' value"), +@@ -323,7 +506,7 @@ + "LC_ADDRESS", "country_ab3")); + address->country_ab3 = " "; + } +- else if (cnt != sizeof (iso3166) / sizeof (iso3166[0]) ++ else if (cnt != nr_iso3166 + && strcmp (address->country_ab3, iso3166[cnt].ab3) != 0) + WITH_CUR_LOCALE (error (0, 0, _("\ + %s: `%s' value does not match `%s' value"), +--- glibc-2.3.5/locale/programs/ld-collate.c 2003-06-13 16:50:24.000000000 -0400 ++++ glibc-2.3.5/locale/programs/ld-collate.c 2005-11-30 11:09:02.000000000 -0500 +@@ -1,4 +1,4 @@ +-/* Copyright (C) 1995-2002, 2003 Free Software Foundation, Inc. ++/* Copyright (C) 1995-2002, 2003, 2005 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 1995. + +@@ -161,6 +161,24 @@ + size_t line; + }; + ++/* Data type for toggles. */ ++struct toggle_list_t; ++ ++struct toggle_list_t ++{ ++ const char *name; ++ ++ /* Predecessor in the list. */ ++ struct toggle_list_t *last; ++ ++ /* This flag is set when a keyword is undefined. */ ++ int is_undefined; ++ ++ /* Where does the branch come from. */ ++ const char *file; ++ size_t line; ++}; ++ + /* Sparse table of struct element_t *. */ + #define TABLE wchead_table + #define ELEMENT struct element_t * +@@ -214,6 +232,12 @@ + /* This value is used when handling ellipsis. */ + struct element_t ellipsis_weight; + ++ /* Known keywords. */ ++ struct toggle_list_t *defined_keywords; ++ ++ /* This is a stack of . */ ++ struct toggle_list_t *flow_control; ++ + /* Known collating elements. */ + hash_table elem_table; + +@@ -1456,6 +1480,56 @@ + } + + ++static struct token * ++flow_skip (struct linereader *ldfile, const struct charmap_t *charmap, ++ struct locale_collate_t *collate) ++{ ++ int level = 0; ++ struct token *now; ++ enum token_t nowtok; ++ while (1) ++ { ++ lr_ignore_rest (ldfile, 0); ++ now = lr_token (ldfile, charmap, NULL, NULL, 0); ++ nowtok = now->tok; ++ if (nowtok == tok_eof) ++ break; ++ else if (nowtok == tok_ifdef || nowtok == tok_ifndef) ++ ++level ; ++ else if (nowtok == tok_else) ++ { ++ if (strcmp (collate->flow_control->name, "else") == 0) ++ lr_error (ldfile, ++ _("%s: `else' statement at `%s:%Zu' cannot be followed by another `else' statement"), ++ "LC_COLLATE", collate->flow_control->name, collate->flow_control->line); ++ if (level == 0) ++ { ++ collate->flow_control->name = "else"; ++ collate->flow_control->file = ldfile->fname; ++ collate->flow_control->line = ldfile->lineno; ++ break; ++ } ++ } ++ else if (nowtok == tok_endif) ++ { ++ if (level == 0) ++ { ++ collate->flow_control = collate->flow_control->last; ++ break; ++ } ++ --level ; ++ } ++ } ++ if (nowtok == tok_eof) ++ WITH_CUR_LOCALE (error (0, 0, _("\ ++%s: unterminated `%s' flow control beginning at %s:%Zu"), ++ "LC_COLLATE", collate->flow_control->name, ++ collate->flow_control->file, ++ collate->flow_control->line)); ++ return now; ++} ++ ++ + static void + collate_startup (struct linereader *ldfile, struct localedef_t *locale, + struct localedef_t *copy_locale, int ignore_content) +@@ -1524,6 +1598,7 @@ + int i; + int need_undefined = 0; + struct section_list *sect; ++ enum coll_sort_rule *orules; + int ruleidx; + int nr_wide_elems = 0; + +@@ -1535,17 +1610,28 @@ + "LC_COLLATE")); + return; + } ++ if (nrules == 0) ++ { ++ /* An error message has already been printed: ++ empty category description not allowed. */ ++ return; ++ } ++ + + /* If this assertion is hit change the type in `element_t'. */ + assert (nrules <= sizeof (runp->used_in_level) * 8); + + /* Make sure that the `position' rule is used either in all sections + or in none. */ ++ sect = collate->sections; ++ while (sect != NULL && sect->rules == NULL) ++ sect = sect->next; ++ orules = sect->rules; + for (i = 0; i < nrules; ++i) + for (sect = collate->sections; sect != NULL; sect = sect->next) + if (sect->rules != NULL + && ((sect->rules[i] & sort_position) +- != (collate->sections->rules[i] & sort_position))) ++ != (orules[i] & sort_position))) + { + WITH_CUR_LOCALE (error (0, 0, _("\ + %s: `position' must be used for a specific level in all sections or none"), +@@ -1840,7 +1926,7 @@ + + while (osect != sect) + if (osect->rules != NULL +- && memcmp (osect->rules, sect->rules, nrules) == 0) ++ && memcmp (osect->rules, sect->rules, nrules * sizeof (*osect->rules)) == 0) + break; + else + osect = osect->next; +@@ -2469,14 +2555,15 @@ + runp = collate->start; + while (runp != NULL) + { +- if (runp->mbs != NULL && runp->weights != NULL) ++ if (runp->mbs != NULL && runp->weights != NULL && !runp->is_character) + /* Yep, the element really counts. */ + ++elem_size; + + runp = runp->next; + } ++rehash: + /* Add 40% and find the next prime number. */ +- elem_size = MIN (next_prime (elem_size * 1.4), 257); ++ elem_size = next_prime (elem_size * 1.4); + + /* Allocate the table. Each entry consists of two words: the hash + value and an index in a secondary table which provides the index +@@ -2496,18 +2583,29 @@ + uint32_t namelen = strlen (runp->name); + uint32_t hash = elem_hash (runp->name, namelen); + size_t idx = hash % elem_size; ++ size_t start_idx = idx; + + if (elem_table[idx * 2] != 0) + { +- /* The spot is already take. Try iterating using the value ++ /* The spot is already taken. Try iterating using the value + from the secondary hashing function. */ +- size_t iter = hash % (elem_size - 2); ++ size_t iter = hash % (elem_size - 2) + 1; ++ if ((LIMAGIC (0)) < 0x20051014) ++ { ++ iter--; ++ if (iter == 0) ++ { ++ obstack_free (&extrapool, elem_table); ++ goto rehash; ++ } ++ } + + do + { + idx += iter; + if (idx >= elem_size) + idx -= elem_size; ++ assert (idx != start_idx); + } + while (elem_table[idx * 2] != 0); + } +@@ -2631,9 +2729,11 @@ + } + while (nowtok == tok_eol); + ++/* Copying locales do not work well with cached md5sums, and is ++ quite inefficient with large archive files anyway. */ ++#if 0 + if (nowtok == tok_copy) + { +- state = 2; + now = lr_token (ldfile, charmap, result, NULL, verbose); + if (now->tok != tok_string) + { +@@ -2678,6 +2778,7 @@ + now = lr_token (ldfile, charmap, result, NULL, verbose); + nowtok = now->tok; + } ++#endif + + /* Prepare the data structures. */ + collate_startup (ldfile, result, copy_locale, ignore_content); +@@ -2704,14 +2805,23 @@ + switch (nowtok) + { + case tok_copy: +- /* Allow copying other locales. */ ++ /* Ignore the rest of the line if we don't need the input of ++ this line. */ ++ if (ignore_content) ++ { ++ lr_ignore_rest (ldfile, 0); ++ break; ++ } ++ + now = lr_token (ldfile, charmap, result, NULL, verbose); + if (now->tok != tok_string) + goto err_label; + +- if (! ignore_content) +- load_locale (LC_COLLATE, now->val.str.startmb, repertoire_name, +- charmap, result); ++ if (state == 1 || state == 3 || state == 5) ++ goto err_label; ++ ++ load_locale (LC_COLLATE, now->val.str.startmb, repertoire_name, ++ charmap, result); + + lr_ignore_rest (ldfile, 1); + break; +@@ -2725,9 +2835,6 @@ + break; + } + +- if (state != 0) +- goto err_label; +- + arg = lr_token (ldfile, charmap, result, NULL, verbose); + if (arg->tok != tok_number) + goto err_label; +@@ -2748,7 +2855,7 @@ + break; + } + +- if (state != 0) ++ if (state == 1 || state == 3 || state == 5) + goto err_label; + + arg = lr_token (ldfile, charmap, result, repertoire, verbose); +@@ -2795,7 +2902,7 @@ + break; + } + +- if (state != 0 && state != 2) ++ if (state == 1 || state == 3 || state == 5) + goto err_label; + + arg = lr_token (ldfile, charmap, result, repertoire, verbose); +@@ -2864,7 +2971,7 @@ + break; + } + +- if (state != 0 && state != 2) ++ if (state == 1 || state == 3 || state == 5) + goto err_label; + + arg = lr_token (ldfile, charmap, result, repertoire, verbose); +@@ -3012,7 +3119,7 @@ + break; + } + +- if (state != 0) ++ if (state == 1 || state == 3 || state == 5) + goto err_label; + + arg = lr_token (ldfile, charmap, result, repertoire, verbose); +@@ -3128,7 +3235,7 @@ + break; + } + +- if (state != 0 && state != 1) ++ if (state == 3 || state == 5) + goto err_label; + state = 1; + +@@ -3184,12 +3291,15 @@ + { + /* Insert sp in the collate->sections list, + right after collate->current_section. */ +- if (collate->current_section == NULL) ++ if (collate->sections == NULL) ++ collate->sections = collate->current_section = sp; ++ else if (collate->current_section == NULL) + collate->current_section = sp; + else + { + sp->next = collate->current_section->next; + collate->current_section->next = sp; ++ collate->current_section = sp; + } + } + +@@ -3296,8 +3406,12 @@ + was_ellipsis = tok_none; + } + } +- else if (state != 2 && state != 3) +- goto err_label; ++ else if (state == 5) ++ { ++ WITH_CUR_LOCALE (error (0, 0, _("\ ++%s: missing `reorder-sections-end' keyword"), "LC_COLLATE")); ++ state = 6; ++ } + state = 3; + + arg = lr_token (ldfile, charmap, result, repertoire, verbose); +@@ -3380,6 +3494,9 @@ + no_error = 0; + } + } ++ /* Update current section. */ ++ if (collate->cursor != NULL) ++ collate->current_section = collate->cursor->section; + + lr_ignore_rest (ldfile, no_error); + } +@@ -3429,8 +3546,6 @@ + %s: missing `reorder-end' keyword"), "LC_COLLATE")); + state = 4; + } +- else if (state != 2 && state != 4) +- goto err_label; + state = 5; + + /* Get the name of the sections we are adding after. */ +@@ -3519,8 +3634,17 @@ + } + else if (arg != NULL) + { ++ void *ptr = NULL; + symstr = arg->val.str.startmb; + symlen = arg->val.str.lenmb; ++ if (state != 5 ++ && find_entry (&collate->elem_table, symstr, symlen, &ptr) != 0 ++ && find_entry (&collate->sym_table, symstr, symlen, &ptr) != 0) ++ { ++ lr_error (ldfile, _("%s: symbol `%.*s' not known"), ++ "LC_COLLATE", (int) symlen, symstr); ++ lr_ignore_rest (ldfile, 0); ++ } + } + else + { +@@ -3763,11 +3887,210 @@ + repertoire, result, nowtok); + break; + ++ case tok_define: ++ /* Ignore the rest of the line if we don't need the input of ++ this line. */ ++ if (ignore_content) ++ { ++ lr_ignore_rest (ldfile, 0); ++ break; ++ } ++ ++ arg = lr_token (ldfile, charmap, result, NULL, verbose); ++ if (arg->tok != tok_ident) ++ goto err_label; ++ else ++ { ++ struct toggle_list_t *runp = collate->defined_keywords; ++ char *name; ++ ++ while (runp != NULL) ++ if (strncmp (runp->name, arg->val.str.startmb, ++ arg->val.str.lenmb) == 0 ++ && runp->name[arg->val.str.lenmb] == '\0') ++ break; ++ else ++ runp = runp->last; ++ ++ if (runp != NULL && runp->is_undefined == 0) ++ { ++ lr_ignore_rest (ldfile, 0); ++ break; ++ } ++ ++ if (runp == NULL) ++ { ++ runp = (struct toggle_list_t *) xcalloc (1, sizeof (*runp)); ++ runp->last = collate->defined_keywords; ++ collate->defined_keywords = runp; ++ } ++ else ++ { ++ free ((char *) runp->name); ++ runp->is_undefined = 0; ++ } ++ ++ name = (char *) xmalloc (arg->val.str.lenmb + 1); ++ memcpy (name, arg->val.str.startmb, arg->val.str.lenmb); ++ name[arg->val.str.lenmb] = '\0'; ++ runp->name = name; ++ } ++ lr_ignore_rest (ldfile, 1); ++ break; ++ ++ case tok_undef: ++ /* Ignore the rest of the line if we don't need the input of ++ this line. */ ++ if (ignore_content) ++ { ++ lr_ignore_rest (ldfile, 0); ++ break; ++ } ++ ++ arg = lr_token (ldfile, charmap, result, NULL, verbose); ++ if (arg->tok != tok_ident) ++ goto err_label; ++ else ++ { ++ struct toggle_list_t *runp = collate->defined_keywords; ++ while (runp != NULL) ++ if (strncmp (runp->name, arg->val.str.startmb, ++ arg->val.str.lenmb) == 0 ++ && runp->name[arg->val.str.lenmb] == '\0') ++ { ++ runp->is_undefined = 1; ++ break; ++ } ++ else ++ runp = runp->last; ++ } ++ lr_ignore_rest (ldfile, 1); ++ break; ++ ++ case tok_ifdef: ++ /* Ignore the rest of the line if we don't need the input of ++ this line. */ ++ if (ignore_content) ++ { ++ lr_ignore_rest (ldfile, 0); ++ break; ++ } ++ ++ arg = lr_token (ldfile, charmap, result, NULL, verbose); ++ if (arg->tok != tok_ident) ++ goto err_label; ++ else ++ { ++ struct toggle_list_t *runp = collate->defined_keywords; ++ struct toggle_list_t *flow = (struct toggle_list_t *) xcalloc (1, sizeof (*runp)); ++ flow->name = "ifdef"; ++ flow->file = ldfile->fname; ++ flow->line = ldfile->lineno; ++ flow->last = collate->flow_control; ++ collate->flow_control = flow; ++ ++ while (runp != NULL) ++ if (strncmp (runp->name, arg->val.str.startmb, ++ arg->val.str.lenmb) == 0 ++ && runp->name[arg->val.str.lenmb] == '\0') ++ break; ++ else ++ runp = runp->last; ++ ++ if (runp == NULL) ++ { ++ now = flow_skip(ldfile, charmap, collate); ++ if (now->tok == tok_eof) ++ WITH_CUR_LOCALE (error (0, 0, _("\ ++%s: unterminated `%s' flow control"), "LC_COLLATE", collate->flow_control->name)); ++ } ++ } ++ lr_ignore_rest (ldfile, 1); ++ break; ++ ++ case tok_ifndef: ++ /* Ignore the rest of the line if we don't need the input of ++ this line. */ ++ if (ignore_content) ++ { ++ lr_ignore_rest (ldfile, 0); ++ break; ++ } ++ ++ arg = lr_token (ldfile, charmap, result, NULL, verbose); ++ if (arg->tok != tok_ident) ++ goto err_label; ++ else ++ { ++ struct toggle_list_t *runp = collate->defined_keywords; ++ struct toggle_list_t *flow = (struct toggle_list_t *) xcalloc (1, sizeof (*runp)); ++ flow->name = "ifndef"; ++ flow->file = ldfile->fname; ++ flow->line = ldfile->lineno; ++ flow->last = collate->flow_control; ++ collate->flow_control = flow; ++ ++ while (runp != NULL) ++ if (strncmp (runp->name, arg->val.str.startmb, ++ arg->val.str.lenmb) == 0 ++ && runp->name[arg->val.str.lenmb] == '\0') ++ break; ++ else ++ runp = runp->last; ++ ++ if (runp != NULL) ++ { ++ now = flow_skip(ldfile, charmap, collate); ++ if (now->tok == tok_eof) ++ WITH_CUR_LOCALE (error (0, 0, _("\ ++%s: unterminated `%s' flow control"), "LC_COLLATE", collate->flow_control->name)); ++ } ++ } ++ lr_ignore_rest (ldfile, 1); ++ break; ++ ++ case tok_else: ++ /* Ignore the rest of the line if we don't need the input of ++ this line. */ ++ if (ignore_content) ++ { ++ lr_ignore_rest (ldfile, 0); ++ break; ++ } ++ ++ if (strcmp (collate->flow_control->name, "else") == 0) ++ lr_error (ldfile, ++ _("%s: `else' statement at `%s:%Zu' cannot be followed by another `else' statement"), ++ "LC_COLLATE", collate->flow_control->name, collate->flow_control->line); ++ collate->flow_control->name = "else"; ++ collate->flow_control->file = ldfile->fname; ++ collate->flow_control->line = ldfile->lineno; ++ now = flow_skip(ldfile, charmap, collate); ++ if (now->tok == tok_eof) ++ WITH_CUR_LOCALE (error (0, 0, _("\ ++%s: unterminated `%s' flow control"), "LC_COLLATE", collate->flow_control->name)); ++ break; ++ ++ case tok_endif: ++ /* Ignore the rest of the line if we don't need the input of ++ this line. */ ++ if (ignore_content) ++ { ++ lr_ignore_rest (ldfile, 0); ++ break; ++ } ++ ++ if (collate->flow_control == NULL) ++ goto err_label; ++ else ++ collate->flow_control = collate->flow_control->last; ++ break; ++ + case tok_end: + /* Next we assume `LC_COLLATE'. */ + if (!ignore_content) + { +- if (state == 0) ++ if (state == 0 && nrules == 0) + /* We must either see a copy statement or have + ordering values. */ + lr_error (ldfile, +@@ -3792,6 +4115,13 @@ + else if (state == 5) + WITH_CUR_LOCALE (error (0, 0, _("\ + %s: missing `reorder-sections-end' keyword"), "LC_COLLATE")); ++ if (collate->flow_control != NULL ++ && strcmp(collate->flow_control->file, ldfile->fname) == 0) ++ WITH_CUR_LOCALE (error (0, 0, _("\ ++%s: unterminated `%s' flow control beginning at %s:%Zu"), ++ "LC_COLLATE", collate->flow_control->name, ++ collate->flow_control->file, ++ collate->flow_control->line)); + } + arg = lr_token (ldfile, charmap, result, NULL, verbose); + if (arg->tok == tok_eof) +--- glibc-2.3.5/locale/programs/ld-ctype.c 2004-03-24 22:51:53.000000000 -0500 ++++ glibc-2.3.5/locale/programs/ld-ctype.c 2005-11-30 11:09:02.000000000 -0500 +@@ -879,10 +879,30 @@ + } + + ++static void ++ctype_output_20000828 (struct localedef_t *locale, const struct charmap_t *charmap, const char *output_path); ++ ++static void ++ctype_output_20031115 (struct localedef_t *locale, const struct charmap_t *charmap, const char *output_path); ++ ++ + void + ctype_output (struct localedef_t *locale, const struct charmap_t *charmap, + const char *output_path) + { ++ if (LIMAGIC (0) == 0x20000828) ++ return ctype_output_20000828 (locale, charmap, output_path); ++ else if (LIMAGIC (0) != 0x20031115) ++ WITH_CUR_LOCALE (error (1, 0, _("\ ++%s: unknown magic number: `%x'"), ++ "LC_CTYPE", LIMAGIC (0))); ++ return ctype_output_20031115 (locale, charmap, output_path); ++} ++ ++static void ++ctype_output_20031115 (struct localedef_t *locale, const struct charmap_t *charmap, ++ const char *output_path) ++{ + static const char nulbytes[4] = { 0, 0, 0, 0 }; + struct locale_ctype_t *ctype = locale->categories[LC_CTYPE].ctype; + const size_t nelems = (_NL_ITEM_INDEX (_NL_CTYPE_EXTRA_MAP_1) +@@ -1229,6 +1249,356 @@ + } + + ++void ++ctype_output_20000828 (struct localedef_t *locale, const struct charmap_t *charmap, ++ const char *output_path) ++{ ++ static const char nulbytes[4] = { 0, 0, 0, 0 }; ++ struct locale_ctype_t *ctype = locale->categories[LC_CTYPE].ctype; ++ const size_t nelems = (_NL_ITEM_INDEX (_NL_CTYPE_EXTRA_MAP_1) - 1 ++ + ctype->nr_charclass + ctype->map_collection_nr); ++ struct iovec *iov = alloca (sizeof *iov ++ * (2 + nelems + 2 * ctype->nr_charclass ++ + ctype->map_collection_nr + 4)); ++ struct locale_file data; ++ uint32_t *idx = alloca (sizeof *idx * (nelems + 1)); ++ uint32_t default_missing_len; ++ size_t elem, cnt, offset, total; ++ char *cp; ++ ++ /* Now prepare the output: Find the sizes of the table we can use. */ ++ allocate_arrays (ctype, charmap, ctype->repertoire); ++ ++ data.magic = LIMAGIC (LC_CTYPE); ++ data.n = nelems; ++ iov[0].iov_base = (void *) &data; ++ iov[0].iov_len = sizeof (data); ++ ++ iov[1].iov_base = (void *) idx; ++ iov[1].iov_len = nelems * sizeof (uint32_t); ++ ++ idx[0] = iov[0].iov_len + iov[1].iov_len; ++ offset = 0; ++ ++ for (elem = 0; elem < nelems + 1; ++elem) ++ { ++ if (elem < _NL_ITEM_INDEX (_NL_CTYPE_EXTRA_MAP_1)) ++ switch (elem) ++ { ++#undef CTYPE_EMPTY ++#define CTYPE_EMPTY(name) \ ++ case name: \ ++ iov[2 + elem + offset].iov_base = NULL; \ ++ iov[2 + elem + offset].iov_len = 0; \ ++ idx[elem + 1] = idx[elem]; \ ++ break ++ ++ CTYPE_EMPTY(_NL_CTYPE_GAP1); ++ CTYPE_EMPTY(_NL_CTYPE_GAP2); ++ CTYPE_EMPTY(_NL_CTYPE_GAP3); ++ CTYPE_EMPTY(_NL_CTYPE_GAP4); ++ CTYPE_EMPTY(_NL_CTYPE_GAP5); ++ CTYPE_EMPTY(_NL_CTYPE_GAP6); ++ ++#undef CTYPE_DATA ++#define CTYPE_DATA(name, base, len) \ ++ case _NL_ITEM_INDEX (name): \ ++ iov[2 + elem + offset].iov_base = (base); \ ++ iov[2 + elem + offset].iov_len = (len); \ ++ idx[elem + 1] = idx[elem] + iov[2 + elem + offset].iov_len; \ ++ break ++ ++ CTYPE_DATA (_NL_CTYPE_CLASS, ++ ctype->ctype_b, ++ (256 + 128) * sizeof (char_class_t)); ++ ++ CTYPE_DATA (_NL_CTYPE_TOUPPER, ++ ctype->map_b[0], ++ (256 + 128) * sizeof (uint32_t)); ++ CTYPE_DATA (_NL_CTYPE_TOLOWER, ++ ctype->map_b[1], ++ (256 + 128) * sizeof (uint32_t)); ++ ++ CTYPE_DATA (_NL_CTYPE_TOUPPER32, ++ ctype->map32_b[0], ++ 256 * sizeof (uint32_t)); ++ CTYPE_DATA (_NL_CTYPE_TOLOWER32, ++ ctype->map32_b[1], ++ 256 * sizeof (uint32_t)); ++ ++ CTYPE_DATA (_NL_CTYPE_CLASS32, ++ ctype->ctype32_b, ++ 256 * sizeof (char_class32_t)); ++ ++ CTYPE_DATA (_NL_CTYPE_CLASS_OFFSET, ++ &ctype->class_offset, sizeof (uint32_t)); ++ ++ CTYPE_DATA (_NL_CTYPE_MAP_OFFSET, ++ &ctype->map_offset, sizeof (uint32_t)); ++ ++ CTYPE_DATA (_NL_CTYPE_TRANSLIT_TAB_SIZE, ++ &ctype->translit_idx_size, sizeof (uint32_t)); ++ ++ CTYPE_DATA (_NL_CTYPE_TRANSLIT_FROM_IDX, ++ ctype->translit_from_idx, ++ ctype->translit_idx_size * sizeof (uint32_t)); ++ ++ CTYPE_DATA (_NL_CTYPE_TRANSLIT_FROM_TBL, ++ ctype->translit_from_tbl, ++ ctype->translit_from_tbl_size); ++ ++ CTYPE_DATA (_NL_CTYPE_TRANSLIT_TO_IDX, ++ ctype->translit_to_idx, ++ ctype->translit_idx_size * sizeof (uint32_t)); ++ ++ CTYPE_DATA (_NL_CTYPE_TRANSLIT_TO_TBL, ++ ctype->translit_to_tbl, ctype->translit_to_tbl_size); ++ ++ case _NL_ITEM_INDEX (_NL_CTYPE_CLASS_NAMES): ++ /* The class name array. */ ++ total = 0; ++ for (cnt = 0; cnt < ctype->nr_charclass; ++cnt, ++offset) ++ { ++ iov[2 + elem + offset].iov_base ++ = (void *) ctype->classnames[cnt]; ++ iov[2 + elem + offset].iov_len ++ = strlen (ctype->classnames[cnt]) + 1; ++ total += iov[2 + elem + offset].iov_len; ++ } ++ iov[2 + elem + offset].iov_base = (void *) nulbytes; ++ iov[2 + elem + offset].iov_len = 1 + (4 - ((total + 1) % 4)); ++ total += 1 + (4 - ((total + 1) % 4)); ++ ++ idx[elem + 1] = idx[elem] + total; ++ break; ++ ++ case _NL_ITEM_INDEX (_NL_CTYPE_MAP_NAMES): ++ /* The class name array. */ ++ total = 0; ++ for (cnt = 0; cnt < ctype->map_collection_nr; ++cnt, ++offset) ++ { ++ iov[2 + elem + offset].iov_base ++ = (void *) ctype->mapnames[cnt]; ++ iov[2 + elem + offset].iov_len ++ = strlen (ctype->mapnames[cnt]) + 1; ++ total += iov[2 + elem + offset].iov_len; ++ } ++ iov[2 + elem + offset].iov_base = (void *) nulbytes; ++ iov[2 + elem + offset].iov_len = 1 + (4 - ((total + 1) % 4)); ++ total += 1 + (4 - ((total + 1) % 4)); ++ ++ idx[elem + 1] = idx[elem] + total; ++ break; ++ ++ CTYPE_DATA (_NL_CTYPE_WIDTH, ++ ctype->width.iov_base, ++ ctype->width.iov_len); ++ ++ CTYPE_DATA (_NL_CTYPE_MB_CUR_MAX, ++ &ctype->mb_cur_max, sizeof (uint32_t)); ++ ++ case _NL_ITEM_INDEX (_NL_CTYPE_CODESET_NAME): ++ total = strlen (ctype->codeset_name) + 1; ++ if (total % 4 == 0) ++ iov[2 + elem + offset].iov_base = (char *) ctype->codeset_name; ++ else ++ { ++ iov[2 + elem + offset].iov_base = alloca ((total + 3) & ~3); ++ memset (mempcpy (iov[2 + elem + offset].iov_base, ++ ctype->codeset_name, total), ++ '\0', 4 - (total & 3)); ++ total = (total + 3) & ~3; ++ } ++ iov[2 + elem + offset].iov_len = total; ++ idx[elem + 1] = idx[elem] + iov[2 + elem + offset].iov_len; ++ break; ++ ++ ++ case _NL_ITEM_INDEX (_NL_CTYPE_MAP_TO_NONASCII): ++ --offset; ++ break; ++ ++ case _NL_ITEM_INDEX (_NL_CTYPE_INDIGITS_MB_LEN): ++ iov[2 + elem + offset].iov_base = alloca (sizeof (uint32_t)); ++ iov[2 + elem + offset].iov_len = sizeof (uint32_t); ++ *(uint32_t *) iov[2 + elem + offset].iov_base = ++ ctype->mbdigits_act / 10; ++ idx[elem + 1] = idx[elem] + sizeof (uint32_t); ++ break; ++ ++ case _NL_ITEM_INDEX (_NL_CTYPE_INDIGITS_WC_LEN): ++ /* Align entries. */ ++ iov[2 + elem + offset].iov_base = (void *) nulbytes; ++ iov[2 + elem + offset].iov_len = (4 - idx[elem] % 4) % 4; ++ idx[elem] += iov[2 + elem + offset].iov_len; ++ ++offset; ++ ++ iov[2 + elem + offset].iov_base = alloca (sizeof (uint32_t)); ++ iov[2 + elem + offset].iov_len = sizeof (uint32_t); ++ *(uint32_t *) iov[2 + elem + offset].iov_base = ++ ctype->wcdigits_act / 10; ++ idx[elem + 1] = idx[elem] + sizeof (uint32_t); ++ break; ++ ++ case _NL_ITEM_INDEX (_NL_CTYPE_INDIGITS0_MB) ... _NL_ITEM_INDEX (_NL_CTYPE_INDIGITS9_MB): ++ /* Compute the length of all possible characters. For INDIGITS ++ there might be more than one. We simply concatenate all of ++ them with a NUL byte following. The NUL byte wouldn't be ++ necessary but it makes it easier for the user. */ ++ total = 0; ++ ++ for (cnt = elem - _NL_ITEM_INDEX (_NL_CTYPE_INDIGITS0_MB); ++ cnt < ctype->mbdigits_act; cnt += 10) ++ total += ctype->mbdigits[cnt]->nbytes + 1; ++ iov[2 + elem + offset].iov_base = (char *) alloca (total); ++ iov[2 + elem + offset].iov_len = total; ++ ++ cp = iov[2 + elem + offset].iov_base; ++ for (cnt = elem - _NL_ITEM_INDEX (_NL_CTYPE_INDIGITS0_MB); ++ cnt < ctype->mbdigits_act; cnt += 10) ++ { ++ cp = mempcpy (cp, ctype->mbdigits[cnt]->bytes, ++ ctype->mbdigits[cnt]->nbytes); ++ *cp++ = '\0'; ++ } ++ idx[elem + 1] = idx[elem] + iov[2 + elem + offset].iov_len; ++ break; ++ ++ case _NL_ITEM_INDEX (_NL_CTYPE_OUTDIGIT0_MB) ... _NL_ITEM_INDEX (_NL_CTYPE_OUTDIGIT9_MB): ++ /* Compute the length of all possible characters. For INDIGITS ++ there might be more than one. We simply concatenate all of ++ them with a NUL byte following. The NUL byte wouldn't be ++ necessary but it makes it easier for the user. */ ++ cnt = elem - _NL_ITEM_INDEX (_NL_CTYPE_OUTDIGIT0_MB); ++ total = ctype->mboutdigits[cnt]->nbytes + 1; ++ iov[2 + elem + offset].iov_base = (char *) alloca (total); ++ iov[2 + elem + offset].iov_len = total; ++ ++ *(char *) mempcpy (iov[2 + elem + offset].iov_base, ++ ctype->mboutdigits[cnt]->bytes, ++ ctype->mboutdigits[cnt]->nbytes) = '\0'; ++ idx[elem + 1] = idx[elem] + iov[2 + elem + offset].iov_len; ++ break; ++ ++ case _NL_ITEM_INDEX (_NL_CTYPE_INDIGITS0_WC) ... _NL_ITEM_INDEX (_NL_CTYPE_INDIGITS9_WC): ++ total = ctype->wcdigits_act / 10; ++ ++ iov[2 + elem + offset].iov_base = ++ (uint32_t *) alloca (total * sizeof (uint32_t)); ++ iov[2 + elem + offset].iov_len = total * sizeof (uint32_t); ++ ++ for (cnt = elem - _NL_ITEM_INDEX (_NL_CTYPE_INDIGITS0_WC); ++ cnt < ctype->wcdigits_act; cnt += 10) ++ ((uint32_t *) iov[2 + elem + offset].iov_base)[cnt / 10] ++ = ctype->wcdigits[cnt]; ++ idx[elem + 1] = idx[elem] + iov[2 + elem + offset].iov_len; ++ break; ++ ++ case _NL_ITEM_INDEX (_NL_CTYPE_OUTDIGIT0_WC): ++ /* Align entries. */ ++ iov[2 + elem + offset].iov_base = (void *) nulbytes; ++ iov[2 + elem + offset].iov_len = (4 - idx[elem] % 4) % 4; ++ idx[elem] += iov[2 + elem + offset].iov_len; ++ ++offset; ++ /* FALLTRHOUGH */ ++ ++ case _NL_ITEM_INDEX (_NL_CTYPE_OUTDIGIT1_WC) ... _NL_ITEM_INDEX (_NL_CTYPE_OUTDIGIT9_WC): ++ cnt = elem - _NL_ITEM_INDEX (_NL_CTYPE_OUTDIGIT0_WC); ++ iov[2 + elem + offset].iov_base = &ctype->wcoutdigits[cnt]; ++ iov[2 + elem + offset].iov_len = sizeof (uint32_t); ++ idx[elem + 1] = idx[elem] + iov[2 + elem + offset].iov_len; ++ break; ++ ++ case _NL_ITEM_INDEX(_NL_CTYPE_TRANSLIT_DEFAULT_MISSING_LEN): ++ /* Align entries. */ ++ iov[2 + elem + offset].iov_base = (void *) nulbytes; ++ iov[2 + elem + offset].iov_len = (4 - idx[elem] % 4) % 4; ++ idx[elem] += iov[2 + elem + offset].iov_len; ++ ++offset; ++ ++ default_missing_len = (ctype->default_missing ++ ? wcslen ((wchar_t *)ctype->default_missing) ++ : 0); ++ iov[2 + elem + offset].iov_base = &default_missing_len; ++ iov[2 + elem + offset].iov_len = sizeof (uint32_t); ++ idx[elem + 1] = idx[elem] + iov[2 + elem + offset].iov_len; ++ break; ++ ++ case _NL_ITEM_INDEX(_NL_CTYPE_TRANSLIT_DEFAULT_MISSING): ++ iov[2 + elem + offset].iov_base = ++ ctype->default_missing ?: (uint32_t *) L""; ++ iov[2 + elem + offset].iov_len = ++ wcslen (iov[2 + elem + offset].iov_base); ++ idx[elem + 1] = idx[elem] + iov[2 + elem + offset].iov_len; ++ break; ++ ++ case _NL_ITEM_INDEX(_NL_CTYPE_TRANSLIT_IGNORE_LEN): ++ /* Align entries. */ ++ iov[2 + elem + offset].iov_base = (void *) nulbytes; ++ iov[2 + elem + offset].iov_len = (4 - idx[elem] % 4) % 4; ++ idx[elem] += iov[2 + elem + offset].iov_len; ++ ++offset; ++ ++ iov[2 + elem + offset].iov_base = &ctype->ntranslit_ignore; ++ iov[2 + elem + offset].iov_len = sizeof (uint32_t); ++ idx[elem + 1] = idx[elem] + iov[2 + elem + offset].iov_len; ++ break; ++ ++ case _NL_ITEM_INDEX(_NL_CTYPE_TRANSLIT_IGNORE): ++ { ++ uint32_t *ranges = (uint32_t *) alloca (ctype->ntranslit_ignore ++ * 3 * sizeof (uint32_t)); ++ struct translit_ignore_t *runp; ++ ++ iov[2 + elem + offset].iov_base = ranges; ++ iov[2 + elem + offset].iov_len = (ctype->ntranslit_ignore ++ * 3 * sizeof (uint32_t)); ++ ++ for (runp = ctype->translit_ignore; runp != NULL; ++ runp = runp->next) ++ { ++ *ranges++ = runp->from; ++ *ranges++ = runp->to; ++ *ranges++ = runp->step; ++ } ++ } ++ idx[elem + 1] = idx[elem] + iov[2 + elem + offset].iov_len; ++ break; ++ ++ default: ++ assert (! "unknown CTYPE element"); ++ } ++ else ++ { ++ /* Handle extra maps. */ ++ size_t nr = elem - _NL_ITEM_INDEX (_NL_CTYPE_EXTRA_MAP_1); ++ if (nr < ctype->nr_charclass) ++ { ++ iov[2 + elem + offset].iov_base = ctype->class_b[nr]; ++ iov[2 + elem + offset].iov_len = 256 / 32 * sizeof (uint32_t); ++ idx[elem - 1] += iov[2 + elem + offset].iov_len; ++ ++offset; ++ ++ iov[2 + elem + offset] = ctype->class_3level[nr]; ++ } ++ else ++ { ++ nr -= ctype->nr_charclass; ++ assert (nr < ctype->map_collection_nr); ++ iov[2 + elem + offset] = ctype->map_3level[nr]; ++ } ++ idx[elem] = idx[elem - 1] + iov[2 + elem + offset].iov_len; ++ } ++ } ++ ++ assert (2 + elem + offset == (nelems + 2 * ctype->nr_charclass ++ + ctype->map_collection_nr + 4 + 2)); ++ ++ write_locale_data (output_path, LC_CTYPE, "LC_CTYPE", 2 + elem + offset, ++ iov); ++} ++ ++ + /* Local functions. */ + static void + ctype_class_new (struct linereader *lr, struct locale_ctype_t *ctype, +@@ -3951,6 +4321,8 @@ + * sizeof (uint32_t)); + + ctype->class_offset = _NL_ITEM_INDEX (_NL_CTYPE_EXTRA_MAP_1); ++ if (LIMAGIC (0) == 0x20000828) ++ --(ctype->class_offset); + ctype->map_offset = ctype->class_offset + ctype->nr_charclass; + + /* Array for width information. Because the expected widths are very +--- glibc-2.3.5/locale/programs/ld-identification.c 2002-04-18 03:53:59.000000000 -0400 ++++ glibc-2.3.5/locale/programs/ld-identification.c 2005-11-30 11:09:02.000000000 -0500 +@@ -148,6 +148,9 @@ + "LC_IDENTIFICATION", #cat)); \ + identification->cat = ""; \ + } ++#define TEST_ELEM_OPT(cat) \ ++ if (identification->cat == NULL) \ ++ identification->cat = ""; \ + + TEST_ELEM (title); + TEST_ELEM (source); +@@ -158,9 +161,9 @@ + TEST_ELEM (fax); + TEST_ELEM (language); + TEST_ELEM (territory); +- TEST_ELEM (audience); +- TEST_ELEM (application); +- TEST_ELEM (abbreviation); ++ TEST_ELEM_OPT (audience); ++ TEST_ELEM_OPT (application); ++ TEST_ELEM_OPT (abbreviation); + TEST_ELEM (revision); + TEST_ELEM (date); + +--- glibc-2.3.5/locale/programs/ld-monetary.c 2003-11-26 02:22:27.000000000 -0500 ++++ glibc-2.3.5/locale/programs/ld-monetary.c 2005-11-30 11:09:02.000000000 -0500 +@@ -88,10 +88,16 @@ + }; + + ++struct iso4217_t ++{ ++ char name[4]; ++}; ++ ++ + /* The content iof the field int_curr_symbol has to be taken from + ISO-4217. We test for correct values. */ +-#define DEFINE_INT_CURR(str) str, +-static const char *const valid_int_curr[] = ++#define DEFINE_INT_CURR(str) { str }, ++static struct iso4217_t dft_iso4217[] = + { + # include "../iso-4217.def" + }; +@@ -101,8 +107,8 @@ + + + /* Prototypes for local functions. */ +-static int curr_strcmp (const char *s1, const char **s2); +- ++static int curr_strcmp (const char *s1, const struct iso4217_t *s2); ++static void get_iso4217_def(struct iso4217_t **iso4217, size_t *nr_iso4217); + + static void + monetary_startup (struct linereader *lr, struct localedef_t *locale, +@@ -158,12 +164,69 @@ + } + + ++static void ++get_iso4217_def(struct iso4217_t **iso4217, size_t *nr_iso4217) ++{ ++ FILE *fp; ++ char *line = NULL; ++ size_t linelength = 0, nelem = 0; ++ int n, in_string; ++ char *cp; ++ struct iso4217_t *tab; ++ ++ *iso4217 = dft_iso4217; ++ *nr_iso4217 = sizeof (dft_iso4217) / sizeof (dft_iso4217[0]); ++ fp = fopen (LOCSRCDIR "/iso-4217.def", "rm"); ++ if (fp == NULL) ++ return; ++ /* First get the number of elements. */ ++ while (1) ++ { ++ n = getline(&line, &linelength, fp); ++ if (n < 0) ++ break; ++ if (strncmp(line, "DEFINE_INT_CURR", 15) == 0) ++ nelem++; ++ } ++ tab = (struct iso4217_t *) xmalloc(nelem * sizeof (struct iso4217_t)); ++ nelem = 0; ++ rewind (fp); ++ while (1) ++ { ++ n = getline(&line, &linelength, fp); ++ if (n < 0) ++ break; ++ if (strncmp(line, "DEFINE_INT_CURR", 15) == 0) ++ { ++ in_string = 0; ++ tab[nelem].name[0] = '\0'; ++ cp = strchr(line+15, '"'); ++ if (cp != NULL) ++ { ++ tab[nelem].name[0] = *(cp+1); ++ tab[nelem].name[1] = *(cp+2); ++ tab[nelem].name[2] = *(cp+3); ++ tab[nelem].name[3] = '\0'; ++ nelem++; ++ } ++ } ++ } ++ fclose (fp); ++ free(line); ++ *nr_iso4217 = nelem; ++ *iso4217 = tab; ++} ++ ++ + void + monetary_finish (struct localedef_t *locale, const struct charmap_t *charmap) + { + struct locale_monetary_t *monetary + = locale->categories[LC_MONETARY].monetary; + int nothing = 0; ++ struct iso4217_t *iso4217; ++ size_t nr_iso4217; ++ get_iso4217_def(&iso4217, &nr_iso4217); + + /* Now resolve copying and also handle completely missing definitions. */ + if (monetary == NULL) +@@ -230,8 +293,8 @@ + char symbol[4]; + strncpy (symbol, monetary->int_curr_symbol, 3); + symbol[3] = '\0'; +- if (bsearch (symbol, valid_int_curr, NR_VALID_INT_CURR, +- sizeof (const char *), ++ if (bsearch (symbol, iso4217, nr_iso4217, ++ sizeof (struct iso4217_t), + (comparison_fn_t) curr_strcmp) == NULL + && !be_quiet) + WITH_CUR_LOCALE (error (0, 0, _("\ +@@ -624,9 +687,9 @@ + + + static int +-curr_strcmp (const char *s1, const char **s2) ++curr_strcmp (const char *s1, const struct iso4217_t *s2) + { +- return strcmp (s1, *s2); ++ return strcmp (s1, s2->name); + } + + +--- glibc-2.3.5/locale/programs/linereader.c 2004-08-04 17:45:00.000000000 -0400 ++++ glibc-2.3.5/locale/programs/linereader.c 2005-11-30 11:09:02.000000000 -0500 +@@ -531,8 +531,8 @@ + { + lr->token.tok = tok_bsymbol; + +- buf[bufact] = '\0'; + buf = xrealloc (buf, bufact + 1); ++ buf[bufact] = '\0'; + + lr->token.val.str.startmb = buf; + lr->token.val.str.lenmb = bufact - 1; +@@ -584,8 +584,8 @@ + { + lr->token.tok = tok_ident; + +- buf[bufact] = '\0'; + buf = xrealloc (buf, bufact + 1); ++ buf[bufact] = '\0'; + + lr->token.val.str.startmb = buf; + lr->token.val.str.lenmb = bufact; +--- glibc-2.3.5/locale/programs/locale.c 2005-02-16 05:29:33.000000000 -0500 ++++ glibc-2.3.5/locale/programs/locale.c 2005-11-30 11:09:02.000000000 -0500 +@@ -196,7 +200,7 @@ + error (0, errno, gettext ("Cannot set LC_MESSAGES to default locale")); + + /* Initialize the message catalog. */ +- textdomain (PACKAGE); ++ textdomain (_libc_intl_domainname); + + /* Parse and process arguments. */ + argp_parse (&argp, argc, argv, 0, &remaining, NULL); +@@ -272,7 +276,7 @@ + static void + print_version (FILE *stream, struct argp_state *state) + { +- fprintf (stream, "locale (GNU %s) %s\n", PACKAGE, VERSION); ++ fprintf (stream, "locale (%s) %s\n", PACKAGE, VERSION); + fprintf (stream, gettext ("\ + Copyright (C) %s Free Software Foundation, Inc.\n\ + This is free software; see the source for copying conditions. There is NO\n\ +@@ -753,6 +757,7 @@ + { + size_t cat_no; + const char *lcall = getenv ("LC_ALL"); ++ const char *language = getenv ("LANGUAGE"); + const char *lang = getenv ("LANG") ? : ""; + + auto void get_source (const char *name); +@@ -771,6 +776,9 @@ + /* LANG has to be the first value. */ + printf ("LANG=%s\n", lang); + ++ if (language != NULL) ++ printf ("LANGUAGE=%s\n", language); ++ + /* Now all categories in an unspecified order. */ + for (cat_no = 0; cat_no < NCATEGORIES; ++cat_no) + if (cat_no != LC_ALL) +--- glibc-2.3.5/locale/programs/localedef.c 2005-02-16 05:29:33.000000000 -0500 ++++ glibc-2.3.5/locale/programs/localedef.c 2005-11-30 11:09:02.000000000 -0500 +@@ -67,6 +67,9 @@ + /* Prefix for output files. */ + const char *output_prefix; + ++/* Magic number currently used by GNU libc. */ ++static int locale_magic = 0x20031115; ++ + /* Name of the character map file. */ + static const char *charmap_file; + +@@ -114,6 +117,7 @@ + #define OPT_REPLACE 307 + #define OPT_DELETE_FROM_ARCHIVE 308 + #define OPT_LIST_ARCHIVE 309 ++#define OPT_MAGIC 310 + + /* Definitions of arguments for argp functions. */ + static const struct argp_option options[] = +@@ -128,6 +132,7 @@ + { NULL, 0, NULL, 0, N_("Output control:") }, + { "force", 'c', NULL, 0, + N_("Create output even if warning messages were issued") }, ++ { "magic", OPT_MAGIC, "NUMBER", 0, N_("Set GNU libc magic NUMBER") }, + { "old-style", OPT_OLDSTYLE, NULL, 0, N_("Create old-style tables") }, + { "prefix", OPT_PREFIX, "PATH", 0, N_("Optional output file prefix") }, + { "posix", OPT_POSIX, NULL, 0, N_("Be strictly POSIX conform") }, +@@ -205,6 +210,22 @@ + argp_err_exit_status = 4; + argp_parse (&argp, argc, argv, 0, &remaining, NULL); + ++ switch (locale_magic) ++ { ++ case 0x20000828: ++ case 0x20031115: ++ case 0x20051014: ++ break; ++ default: ++ fprintf (stderr, _("\ ++magic number %x is requested, but this version only handles:\n"), locale_magic); ++ fprintf (stderr, " %x\n", 0x20000828); ++ fprintf (stderr, " %x\n", 0x20031115); ++ fprintf (stderr, " %x\n", 0x20051014); ++ error (10, 0, _("\ ++You must either change the desired magic number or update this program.")); ++ } ++ + /* Handle a few special cases. */ + if (list_archive) + show_archive_content (verbose); +@@ -315,6 +336,9 @@ + case OPT_PREFIX: + output_prefix = arg; + break; ++ case OPT_MAGIC: ++ locale_magic = strtol(arg, NULL, 16); ++ break; + case OPT_NO_ARCHIVE: + no_archive = true; + break; +@@ -384,7 +408,7 @@ + static void + print_version (FILE *stream, struct argp_state *state) + { +- fprintf (stream, "localedef (GNU %s) %s\n", PACKAGE, VERSION); ++ fprintf (stream, "localedef (%s) %s\n", PACKAGE, VERSION); + fprintf (stream, gettext ("\ + Copyright (C) %s Free Software Foundation, Inc.\n\ + This is free software; see the source for copying conditions. There is NO\n\ +@@ -623,6 +647,17 @@ + return result; + } + ++unsigned int ++get_magic(int category) ++{ ++ if (locale_magic < 0x20051014) ++ return (locale_magic ^ category); ++ if (category == LC_COLLATE) ++ return (0x20051014 ^ category); ++ else ++ return (0x20031115 ^ category); ++} ++ + static void + turn_on_mcheck (void) + { +--- glibc-2.3.5/locale/programs/localedef.h 2002-08-10 02:21:39.000000000 -0400 ++++ glibc-2.3.5/locale/programs/localedef.h 2005-11-30 11:09:02.000000000 -0500 +@@ -178,4 +183,7 @@ + /* List content of locale archive. */ + extern void show_archive_content (int verbose); + ++/* Returns the desired magic number. */ ++extern unsigned int get_magic(int category); ++ + #endif /* localedef.h */ --- glibc-2.3.6.orig/debian/patches/local-i386-i686biarch.dpatch +++ glibc-2.3.6/debian/patches/local-i386-i686biarch.dpatch @@ -0,0 +1,167 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: i386 ld.so gets sigsegv when i686 optimized library is used, +# because the structure size of rtld_global and rtld_global_ro +# are different due to HP_TIMING_AVAIL availability. +# This patch aligns those sizes for using i686 optimized library. +# DP: Author: Daniel Jacobowitz +# DP: Upstream status: Pending +# DP: Status Details: +# DP: Date: 2003-10-03 (Updated 2003-10-12), (Updated 2005-01-02, 2005-03-03 gotom) + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +2005-03-03 GOTO Masanori + + * sysdeps/generic/ldsodefs.h (struct rtld_global, rtld_global_ro): + Include timing members if HP_TIMING_PAD is defined. + +2005-01-02 GOTO Masanori + + * elf/Makefile: Regenerate. + +2003-10-12 Daniel Jacobowitz + + * sysdeps/generic/ldsodefs.h (struct rtld_global): Include timing + members if HP_TIMING_PAD is defined. + * sysdeps/i386/hp-timing.h: New file. + * elf/Makefile: Add dl-altinit to routines, shared-only-routines. + * elf/dl-altinit.c: New file. + +--- glibc-2.3.4/sysdeps/generic/ldsodefs.h.gotom 2005-03-03 11:23:08.000000000 +0900 ++++ glibc-2.3.4/sysdeps/generic/ldsodefs.h 2005-03-03 11:24:05.000000000 +0900 +@@ -258,7 +258,7 @@ + /* The object to be initialized first. */ + EXTERN struct link_map *_dl_initfirst; + +-#if HP_TIMING_AVAIL || HP_SMALL_TIMING_AVAIL ++#if HP_TIMING_AVAIL || HP_SMALL_TIMING_AVAIL || HP_TIMING_PAD + /* Start time on CPU clock. */ + EXTERN hp_timing_t _dl_cpuclock_offset; + #endif +@@ -462,7 +462,7 @@ + /* All search directories defined at startup. */ + EXTERN struct r_search_path_elem *_dl_init_all_dirs; + +-#if HP_TIMING_AVAIL || HP_SMALL_TIMING_AVAIL ++#if HP_TIMING_AVAIL || HP_SMALL_TIMING_AVAIL || HP_TIMING_PAD + /* Overhead of a high-precision timing measurement. */ + EXTERN hp_timing_t _dl_hp_timing_overhead; + #endif +--- /dev/null 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/sysdeps/i386/hp-timing.h 2003-10-03 11:50:30.000000000 -0400 +@@ -0,0 +1,34 @@ ++/* High precision, low overhead timing functions. i386 version. ++ Copyright (C) 2003 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 ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#ifndef _i386_HP_TIMING_H ++#define _i386_HP_TIMING_H 1 ++ ++#define hp_timing_t hp_timing_t__ ++#include ++#undef hp_timing_t ++ ++/* We don't use high-precision timers, but we might load an i686 libpthread ++ which does. */ ++#define HP_TIMING_PAD 1 ++ ++/* i686 uses 64bit values for the times. */ ++typedef unsigned long long int hp_timing_t; ++ ++#endif /* hp-timing.h */ +--- /dev/null 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/elf/dl-altinit.c 2003-10-12 13:23:15.000000000 -0400 +@@ -0,0 +1,43 @@ ++/* Extra initializers for shared libc. ++ Copyright (C) 2003 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 ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include ++#include ++ ++/* This file is used from the shared libc, to initialize anything which ++ ld.so should have initialized but didn't - for instance, if ld.so ++ is built for a machine without HP_TIMING but libc.so is built for ++ a machine with HP_TIMING, clock_gettime will expect dl_cpuclock_offset ++ to be initialized. */ ++ ++static void ++dlinit_hptiming (void) ++{ ++#if HP_TIMING_AVAIL || HP_SMALL_TIMING_AVAIL ++ if (GL(dl_cpuclock_offset) == 0) ++ HP_TIMING_NOW (GL(dl_cpuclock_offset)); ++#endif ++} ++ ++static void dlinit_alt (void) __attribute__((constructor)); ++static void ++dlinit_alt (void) ++{ ++ dlinit_hptiming (); ++} +--- glibc-2.3.4/elf/Makefile 27 Oct 2004 20:26:47 -0000 1.287 ++++ glibc-2.3.4/elf/Makefile 2 Jan 2005 08:29:55 -0000 +@@ -23,7 +23,7 @@ + headers = elf.h bits/elfclass.h link.h + routines = $(dl-routines) dl-open dl-close dl-support dl-iteratephdr \ + dl-addr enbl-secure dl-profstub \ +- dl-origin dl-libc dl-sym dl-tsd ++ dl-origin dl-libc dl-sym dl-tsd dl-altinit + + # The core dynamic linking functions are in libc for the static and + # profiled libraries. +@@ -41,6 +41,10 @@ + rtld-routines := rtld $(dl-routines) dl-sysdep dl-environ dl-minimal + all-rtld-routines = $(rtld-routines) $(sysdep-rtld-routines) + ++# We only need to re-run initializers if ld.so and libc.so might be built ++# for different machines, so only shared libraries need dl-altinit. ++shared-only-routines = dl-altinit ++ + distribute := rtld-Rules \ + $(rtld-routines:=.c) dynamic-link.h do-rel.h dl-machine.h \ + dl-cache.h dl-hash.h soinit.c sofini.c ldd.bash.in \ --- glibc-2.3.6.orig/debian/patches/ku_TR.dpatch +++ glibc-2.3.6/debian/patches/ku_TR.dpatch @@ -0,0 +1,249 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Kurdish locale +# DP: Related bugs: +# DP: Dpatch author: Jeff Bailey +# DP: Patch author: Erdal Ronahi +# DP: Upstream status: Not submitted +# DP: Status Details: +# DP: Date: 2005-10-04 + +PATCHLEVEL=0 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +--- /dev/null 2037-04-26 14:51:15.146999000 -0400 ++++ localedata/locales/ku_TR 2005-10-05 08:06:43.000000000 -0400 +@@ -0,0 +1,209 @@ ++escape_char / ++comment_char % ++ ++% Kurdish (latin) language locale for Turkey ++% Source: Kader DILSIZ ++% Contact: Kader DILSIZ, Pablo Saratxaga ++% Email: kader@ikader.com, pablo@mandrakesoft.com ++% Tel: ++% Fax: ++% Language: ku ++% Territory: TR ++% Revision: 0.1 ++% Date: 2003-07-27 ++% Users: general ++% Charset: UTF-8 ++% Distribution and use is free, also ++% for commercial purposes. ++% History: ++% 0.2 2005-04-24 Erdal Ronah ++% Fix LC_CTYPE and LC_NAME sections. Remove dotless i from LC_COLLATE ++ ++LC_IDENTIFICATION ++title "Kurdish (latin) locale for Turkey" ++source "Kader DILSIZ" ++address "" ++contact "Kader DILSIZ, Pablo Saratxaga" ++email "belocs-locales-data@lists.alioth.debian.org" ++tel "" ++fax "" ++language "Kurdish" ++territory "Turkey" ++revision "0.2" ++date "2005-04-24" ++% ++category "ku_TR:2000";LC_IDENTIFICATION ++category "ku_TR:2000";LC_CTYPE ++category "ku_TR:2000";LC_COLLATE ++category "ku_TR:2000";LC_TIME ++category "ku_TR:2000";LC_NUMERIC ++category "ku_TR:2000";LC_MONETARY ++category "ku_TR:2000";LC_MESSAGES ++category "ku_TR:2000";LC_PAPER ++category "ku_TR:2000";LC_NAME ++category "ku_TR:2000";LC_ADDRESS ++category "ku_TR:2000";LC_TELEPHONE ++category "ku_TR:2000";LC_MEASUREMENT ++ ++END LC_IDENTIFICATION ++ ++LC_CTYPE ++copy "i18n" ++END LC_CTYPE ++ ++LC_COLLATE ++copy "iso14651_t1" ++ ++%% a b c c, d e e> f g h i i> j k l m n o p q r s s, t u u> v w x y z ++ ++collating-symbol ++collating-symbol > ++collating-symbol > ++collating-symbol ++collating-symbol > ++ ++reorder-after ++ ++reorder-after ++> ++reorder-after ++> ++reorder-after ++ ++reorder-after ++> ++ ++reorder-after ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ++reorder-after ++ >;;;IGNORE ++reorder-after ++ >;;;IGNORE ++ ++reorder-after ++ >;;;IGNORE ++reorder-after ++ >;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ++reorder-after ++ >;;;IGNORE ++reorder-after ++ >;;;IGNORE ++ ++reorder-end ++ ++END LC_COLLATE ++ ++LC_MONETARY ++copy "tr_TR" ++END LC_MONETARY ++ ++LC_NUMERIC ++copy "tr_TR" ++END LC_NUMERIC ++ ++LC_TIME ++abday "";"";/ ++ "";"";/ ++ "";"";/ ++ "" ++day "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "" ++abmon "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"" ++mon "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "" ++% format: %A %d %B %Y %T %Z ++d_t_fmt "" ++% format: %d/%m/%Y ++d_fmt "" ++t_fmt "" ++am_pm "";"" ++t_fmt_ampm "" ++% format: %A %d %B %Y ++date_fmt "" ++END LC_TIME ++ ++LC_MESSAGES ++yesstr "" ++nostr "" ++% eEdDyY ++yesexpr "" ++% nN ++noexpr "" ++END LC_MESSAGES ++ ++LC_PAPER ++copy "tr_TR" ++END LC_PAPER ++ ++LC_TELEPHONE ++copy "tr_TR" ++END LC_TELEPHONE ++ ++LC_MEASUREMENT ++copy "tr_TR" ++END LC_MEASUREMENT ++ ++LC_NAME ++% format: %d%t%g%t%m%t%f ++name_fmt "/ ++" ++% TODO ++% Birz ++name_gen "" ++% "M." ++name_mr "" ++% "Birz" ++name_mrs "" ++name_ms "" ++% "Birz" ++name_miss "" ++END LC_NAME ++ ++LC_ADDRESS ++postal_fmt "/ ++/ ++/ ++/ ++" ++country_name "" ++country_post "" ++country_ab2 "" ++country_ab3 "" ++country_num 792 ++country_isbn 975 ++country_car "" ++% "kurd" ++lang_name "" ++lang_ab "" ++lang_term "" ++lang_lib "" ++END LC_ADDRESS +--- localedata/SUPPORTED.bak 2005-10-06 08:14:55.000000000 -0400 ++++ localedata/SUPPORTED 2005-10-06 08:15:20.000000000 -0400 +@@ -217,6 +217,7 @@ + kn_IN/UTF-8 \ + ko_KR.EUC-KR/EUC-KR \ + ko_KR.UTF-8/UTF-8 \ ++ku_TR.UTF-8/UTF-8 \ + kw_GB.UTF-8/UTF-8 \ + kw_GB/ISO-8859-1 \ + lg_UG/ISO-8859-10 \ --- glibc-2.3.6.orig/debian/patches/ast_ES.dpatch +++ glibc-2.3.6/debian/patches/ast_ES.dpatch @@ -0,0 +1,163 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Asturian locale from Spain +# DP: Related bugs: +# DP: Dpatch author: Jeff Bailey +# DP: Patch author: Jordi Mallach +# DP: Upstream status: In Beloch locales +# DP: Status Details: +# DP: Date: 2005-09-01 + +PATCHLEVEL=1 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +--- glibc-2.3.5/localedata/locales/ast_ES 2005-08-27 10:29:26.224999000 -0400 ++++ glibc-2.3.5/localedata/locales/ast_ES 2005-09-01 20:40:21.000000000 -0400 +@@ -0,0 +1,133 @@ ++comment_char % ++escape_char / ++% ++% Asturian Language Locale for Spain ++% Source: ++% Address: ++% Contact: Jordi Mallach ++% Email: jordi@gnu.org ++% Language: ast ++% Territory: ES ++% Revision: 1.0 ++% Date: 2005-08-26 ++% Application: general ++% Users: general ++% Charset: ISO-8859-15 ++% ++% This file is under the ++% GNU General Public License. ++% Based in the an_ES Locale ++ ++LC_IDENTIFICATION ++title "Asturian locale for Spain" ++source "" ++address "" ++contact "Jordi Mallach" ++email "jordi@gnu.org" ++tel "" ++fax "" ++language "Asturian" ++territory "Spain" ++revision "1.0" ++date "2005-08-26" ++% ++category "ast_ES:2000";LC_IDENTIFICATION ++category "ast_ES:2000";LC_CTYPE ++category "ast_ES:2000";LC_COLLATE ++category "ast_ES:2000";LC_TIME ++category "ast_ES:2000";LC_NUMERIC ++category "ast_ES:2000";LC_MONETARY ++category "ast_ES:2000";LC_MESSAGES ++category "ast_ES:2000";LC_PAPER ++category "ast_ES:2000";LC_NAME ++category "ast_ES:2000";LC_ADDRESS ++category "ast_ES:2000";LC_TELEPHONE ++END LC_IDENTIFICATION ++ ++LC_COLLATE ++copy "es_ES" ++END LC_COLLATE ++ ++LC_CTYPE ++copy "es_ES" ++END LC_CTYPE ++ ++LC_MESSAGES ++yesexpr "" ++noexpr "" ++END LC_MESSAGES ++ ++LC_MONETARY ++copy "es_ES" ++END LC_MONETARY ++ ++LC_NUMERIC ++copy "es_ES" ++END LC_NUMERIC ++ ++LC_TIME ++% Days of week in Asturian ++% llunes, martes, miércoles, xueves, vienres, sábadu, domingu ++% llu, mar, mié, xue, vie, sáb, dom ++abday "";"";/ ++ "";"";/ ++ "";"";/ ++ "" ++day "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "" ++% Month names in Asturian ++% xineru, febreru, marzu, abril, mayu, xunu, xunetu, agostu, setiembre, ++% ochobre, payares, avientu ++% Abbreviated form of xunetu is "xnt" ++abmon "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"" ++mon "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "" ++d_t_fmt "" ++d_fmt "" ++t_fmt "" ++am_pm "";"" ++t_fmt_ampm "" ++date_fmt "/ ++/ ++" ++END LC_TIME ++ ++LC_PAPER ++copy "es_ES" ++END LC_PAPER ++ ++LC_TELEPHONE ++copy "es_ES" ++END LC_TELEPHONE ++ ++LC_MEASUREMENT ++copy "es_ES" ++END LC_MEASUREMENT ++ ++LC_NAME ++copy "es_ES" ++END LC_NAME ++ ++LC_ADDRESS ++copy "es_ES" ++END LC_ADDRESS --- glibc-2.3.6.orig/debian/patches/fr_FR.dpatch +++ glibc-2.3.6/debian/patches/fr_FR.dpatch @@ -0,0 +1,38 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Set first_weekday to Monday for fr_FR +# DP: Related bugs: +# DP: Dpatch author: Jeff Bailey +# DP: Patch author: Jeff Bailey +# DP: Upstream status: Not submitted +# DP: Status Details: Locales not being submitted upstream until we +# switch to belochs +# DP: Date: 2005-09-01 + +PATCHLEVEL=1 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +--- glibc-2.3.5/localedata/locales/fr_FR 2005-09-01 21:31:57.000000000 -0400 ++++ glibc-2.3.5/localedata/locales/fr_FR 2005-09-01 21:34:24.000000000 -0400 +@@ -92,6 +92,7 @@ + END LC_NUMERIC + + LC_TIME ++first_weekday 2 + abday "";"";/ + "";"";/ + "";"";/ --- glibc-2.3.6.orig/debian/patches/submitted-hppa-iitlbp.dpatch +++ glibc-2.3.6/debian/patches/submitted-hppa-iitlbp.dpatch @@ -0,0 +1,86 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Update iitlbp instructions to satisfy stricter binutils. +# DP: Dpatch author: Daniel Jacobowitz +# DP: Patch author: Daniel Jacobowitz +# DP: Upstream status: Not submitted +# DP: Date: 2005-10-14 + +PATCHLEVEL=1 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +Index: libc/sysdeps/hppa/abort-instr.h +=================================================================== +RCS file: /big/fsf/rsync/glibc-cvs/libc/sysdeps/hppa/abort-instr.h,v +retrieving revision 1.1 +diff -u -p -r1.1 abort-instr.h +--- libc/sysdeps/hppa/abort-instr.h 23 Sep 2002 03:30:34 -0000 1.1 ++++ libc/sysdeps/hppa/abort-instr.h 14 Oct 2005 14:25:52 -0000 +@@ -3,4 +3,4 @@ + We go with iitlbp because it has a history of being used to crash + programs. */ + +-#define ABORT_INSTRUCTION asm ("iitlbp %r0,(%r0)") ++#define ABORT_INSTRUCTION asm ("iitlbp %r0,(%sr0,%r0)") +Index: libc/sysdeps/hppa/dl-machine.h +=================================================================== +RCS file: /big/fsf/rsync/glibc-cvs/libc/sysdeps/hppa/dl-machine.h,v +retrieving revision 1.21 +diff -u -p -r1.21 dl-machine.h +--- libc/sysdeps/hppa/dl-machine.h 19 Nov 2004 00:01:25 -0000 1.21 ++++ libc/sysdeps/hppa/dl-machine.h 14 Oct 2005 14:57:02 -0000 +@@ -367,7 +367,7 @@ asm ( \ + " ldw,ma 8(%r26),%r19\n" \ + \ + /* Uh oh! We didn't find one. Abort. */ \ +-" iitlbp %r0,(%r0)\n" \ ++" iitlbp %r0,(%sr0,%r0)\n" \ + \ + "2: ldw -4(%r26),%r19\n" /* Found it, load value. */ \ + " add %r19,%r20,%r19\n" /* And add the load offset. */ \ +Index: libc/sysdeps/hppa/elf/start.S +=================================================================== +RCS file: /big/fsf/rsync/glibc-cvs/libc/sysdeps/hppa/elf/start.S,v +retrieving revision 1.5 +diff -u -p -r1.5 start.S +--- libc/sysdeps/hppa/elf/start.S 16 Aug 2004 04:51:00 -0000 1.5 ++++ libc/sysdeps/hppa/elf/start.S 14 Oct 2005 14:26:33 -0000 +@@ -83,7 +83,7 @@ _start: + bl __libc_start_main,%r2 + nop + /* die horribly if it returned (it shouldn't) */ +- iitlbp %r0,(%r0) ++ iitlbp %r0,(%sr0,%r0) + nop + + .procend +Index: libc/sysdeps/unix/sysv/linux/hppa/clone.S +=================================================================== +RCS file: /big/fsf/rsync/glibc-cvs/libc/sysdeps/unix/sysv/linux/hppa/clone.S,v +retrieving revision 1.4 +diff -u -p -r1.4 clone.S +--- libc/sysdeps/unix/sysv/linux/hppa/clone.S 18 Dec 2003 06:05:03 -0000 1.4 ++++ libc/sysdeps/unix/sysv/linux/hppa/clone.S 14 Oct 2005 14:40:59 -0000 +@@ -92,7 +92,7 @@ thread_start: + copy %ret0,%arg0 + + /* Die horribly. */ +- iitlbp %r0,(%r0) ++ iitlbp %r0,(%sr0,%r0) + + PSEUDO_END(__clone) + --- glibc-2.3.6.orig/debian/patches/local-all-stringh.dpatch +++ glibc-2.3.6/debian/patches/local-all-stringh.dpatch @@ -0,0 +1,38 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Surround expression in () to keep expansion happy +# DP: Related bugs: Ubuntu 12864 +# DP: Dpatch author: Jeff Bailey +# DP: Patch author: Matthias Klose +# DP: Upstream status: Not submitted +# DP: Status Details: +# DP: Date: 2005-09-01 + +PATCHLEVEL=0 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +--- string/bits/string2.h 2005-09-01 20:55:50.000000000 -0400 ++++ string/bits/string2.h 2005-09-01 20:56:09.000000000 -0400 +@@ -107,7 +107,7 @@ __STRING2_COPY_TYPE (8); + : memset (s, c, n)))) + + # define __memset_1(s, c) ({ void *__s = (s); \ +- *((__uint8_t *) __s) = (__uint8_t) c; __s; }) ++ *((__uint8_t *) __s) = (__uint8_t) (c); __s; }) + + # define __memset_gc(s, c, n) \ + ({ void *__s = (s); \ --- glibc-2.3.6.orig/debian/patches/glibc-235-ia64-binutils.dpatch +++ glibc-2.3.6/debian/patches/glibc-235-ia64-binutils.dpatch @@ -0,0 +1,59 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Allow glibc to build with binutils 2.16 on ia64 +# DP: Related bugs: +# DP: Dpatch author: Jeff Bailey +# DP: Patch author: HJ Lu +# DP: Upstream status: In CVS +# DP: Status Details: CVS HEAD +# DP: Date: 2005-05-22 + +PATCHLEVEL=1 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +Index: initfini.c +=================================================================== +RCS file: /cvs/glibc/libc/sysdeps/ia64/elf/initfini.c,v +retrieving revision 1.7 +retrieving revision 1.8 +diff -u -p -r1.7 -r1.8 +--- libc/sysdeps/ia64/elf/initfini.c 16 Aug 2004 04:51:00 -0000 1.7 ++++ libc/sysdeps/ia64/elf/initfini.c 20 Mar 2005 04:21:08 -0000 1.8 +@@ -116,13 +116,14 @@ __asm__ (".section .init\n" + "/*@_init_PROLOG_ENDS*/\n" + "\n" + "/*@_init_EPILOG_BEGINS*/\n" ++" .section .init\n" + " .proc _init#\n" ++"_init:\n" + " .prologue\n" + " .save ar.pfs, r34\n" + " .vframe r32\n" + " .save rp, r33\n" + " .body\n" +-" .section .init\n" + " .regstk 0,2,0,0\n" + " mov r12 = r32\n" + " mov ar.pfs = r34\n" +@@ -155,6 +156,7 @@ __asm__ (".section .init\n" + "/*@_fini_EPILOG_BEGINS*/\n" + " .section .fini\n" + " .proc _fini#\n" ++"_fini:\n" + " .prologue\n" + " .save ar.pfs, r34\n" + " .vframe r32\n" --- glibc-2.3.6.orig/debian/patches/cvs-all-tlscrash.dpatch +++ glibc-2.3.6/debian/patches/cvs-all-tlscrash.dpatch @@ -0,0 +1,80 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: TLS fixes for xmms/nvidia crash +# DP: Related bugs: #219352 +# DP: Dpatch author: Jeff Bailey +# DP: Patch author: +# DP: Upstream status: In CVS +# DP: Status Details: +# DP: Date: 2005-03-22, 2005-04-16 updated by gotom + +PATCHLEVEL=1 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +2005-03-15 Jakub Jelinek + + [BZ#786] + * sysdeps/generic/dl-tls.c (_dl_next_tls_modid): Handle + GL(dl_tls_static_nelem) == GL(dl_tls_max_dtv_idx). + +--- libc/sysdeps/generic/dl-tls.c.jj 2005-02-25 14:45:06.000000000 +0100 ++++ libc/sysdeps/generic/dl-tls.c 2005-03-15 15:36:55.593127093 +0100 +@@ -71,26 +71,24 @@ _dl_next_tls_modid (void) + NB: the offset +1 is due to the fact that DTV[0] is used + for something else. */ + result = GL(dl_tls_static_nelem) + 1; +- /* If the following would not be true we mustn't have assumed +- there is a gap. */ +- assert (result <= GL(dl_tls_max_dtv_idx)); +- do +- { +- while (result - disp < runp->len) +- { +- if (runp->slotinfo[result - disp].map == NULL) +- break; +- +- ++result; +- assert (result <= GL(dl_tls_max_dtv_idx) + 1); +- } +- +- if (result - disp < runp->len) +- break; +- +- disp += runp->len; +- } +- while ((runp = runp->next) != NULL); ++ if (result <= GL(dl_tls_max_dtv_idx)) ++ do ++ { ++ while (result - disp < runp->len) ++ { ++ if (runp->slotinfo[result - disp].map == NULL) ++ break; ++ ++ ++result; ++ assert (result <= GL(dl_tls_max_dtv_idx) + 1); ++ } ++ ++ if (result - disp < runp->len) ++ break; ++ ++ disp += runp->len; ++ } ++ while ((runp = runp->next) != NULL); + + if (result > GL(dl_tls_max_dtv_idx)) + { --- glibc-2.3.6.orig/debian/patches/ubuntu-10245.dpatch +++ glibc-2.3.6/debian/patches/ubuntu-10245.dpatch @@ -0,0 +1,88 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Check state on initstate_r +# DP: Related bugs: Ubuntu# 10245 +# DP: Dpatch author: Jeff Bailey +# DP: Patch author: Ulrich Drepper +# DP: Upstream status: In CVS +# DP: Status Details: +# DP: Date: 2005-09-01 + +PATCHLEVEL=0 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. + +2005-04-12 Ulrich Drepper + + [BZ #1090] + * stdlib/random_r.c (__initstate_r): Don't use non-existing state. + * string/tst-strfry.c: New file. + * string/Makefile (tests): Add tst-strfry. + +--- stdlib/random_r.c 2005-02-16 06:23:58.000000000 -0500 ++++ stdlib/random_r.c 2005-09-01 21:08:02.000000000 -0400 +@@ -236,23 +236,20 @@ __initstate_r (seed, arg_state, n, buf) + size_t n; + struct random_data *buf; + { +- int type; +- int degree; +- int separation; +- int32_t *state; +- int old_type; +- int32_t *old_state; +- + if (buf == NULL) + goto fail; + +- old_type = buf->rand_type; +- old_state = buf->state; +- if (old_type == TYPE_0) +- old_state[-1] = TYPE_0; +- else +- old_state[-1] = (MAX_TYPES * (buf->rptr - old_state)) + old_type; ++ int32_t *old_state = buf->state; ++ if (old_state != NULL) ++ { ++ int old_type = buf->rand_type; ++ if (old_type == TYPE_0) ++ old_state[-1] = TYPE_0; ++ else ++ old_state[-1] = (MAX_TYPES * (buf->rptr - old_state)) + old_type; ++ } + ++ int type; + if (n >= BREAK_3) + type = n < BREAK_4 ? TYPE_3 : TYPE_4; + else if (n < BREAK_1) +@@ -267,13 +264,13 @@ __initstate_r (seed, arg_state, n, buf) + else + type = n < BREAK_2 ? TYPE_1 : TYPE_2; + +- degree = random_poly_info.degrees[type]; +- separation = random_poly_info.seps[type]; ++ int degree = random_poly_info.degrees[type]; ++ int separation = random_poly_info.seps[type]; + + buf->rand_type = type; + buf->rand_sep = separation; + buf->rand_deg = degree; +- state = &((int32_t *) arg_state)[1]; /* First location. */ ++ int32_t *state = &((int32_t *) arg_state)[1]; /* First location. */ + /* Must set END_PTR before srandom. */ + buf->end_ptr = &state[degree]; + --- glibc-2.3.6.orig/debian/patches/local-all-linuxtypesh.dpatch +++ glibc-2.3.6/debian/patches/local-all-linuxtypesh.dpatch @@ -0,0 +1,45 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Fix _LINUX_TYPES_H protection in sys/kd.h. +# DP: Related bugs: Ubuntu#18157 +# DP: Dpatch author: Daniel Stone +# DP: Patch author: Daniel Stone +# DP: Upstream status: Not submitted +# DP: Status Details: +# DP: Date: 2005-09-01 + +PATCHLEVEL=1 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. + +--- glibc-2.3.5/sysdeps/unix/sysv/linux/sys/kd.h.orig 2005-11-07 11:35:09.000000000 +1100 ++++ glibc-2.3.5/sysdeps/unix/sysv/linux/sys/kd.h 2005-11-07 11:37:16.000000000 +1100 +@@ -22,8 +22,14 @@ + /* Make sure the header is not loaded. */ + #ifndef _LINUX_TYPES_H + # define _LINUX_TYPES_H 1 ++# define __undef_LINUX_TYPES_H 1 + #endif + + #include + ++#ifdef __undef_LINUX_TYPES_H ++# undef _LINUX_TYPES_H ++# undef __undef_LINUX_TYPES_H ++#endif ++ + #endif /* sys/kd.h */ --- glibc-2.3.6.orig/debian/patches/locale-ru_RU.dpatch +++ glibc-2.3.6/debian/patches/locale-ru_RU.dpatch @@ -0,0 +1,37 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Change default charset for 'russian' locale alias +# DP: Related bugs: #62586 +# DP: Dpatch author: Ben Collins +# DP: Patch author: Alistair McKinstry +# DP: Upstream status: Submitted +# DP: Status Details: http://sources.redhat.com/bugzilla/show_bug.cgi?id=120 +# DP: Date: 2002-03-10 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +diff -urN glibc-2.2.5.orig/intl/locale.alias glibc-2.2.5/intl/locale.alias +--- glibc-2.2.5.orig/intl/locale.alias Sun Jul 22 16:24:50 2001 ++++ glibc-2.2.5/intl/locale.alias Sun Mar 10 23:00:09 2002 +@@ -65,7 +65,7 @@ + polish pl_PL.ISO-8859-2 + portuguese pt_PT.ISO-8859-1 + romanian ro_RO.ISO-8859-2 +-russian ru_RU.ISO-8859-5 ++russian ru_RU.KOI8-R + slovak sk_SK.ISO-8859-2 + slovene sl_SI.ISO-8859-2 + slovenian sl_SI.ISO-8859-2 --- glibc-2.3.6.orig/debian/patches/glibc23-mips-lazy-eval.dpatch +++ glibc-2.3.6/debian/patches/glibc23-mips-lazy-eval.dpatch @@ -0,0 +1,53 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Workaround invalid resolving of lazy evaluation stubs +# DP: Related bugs: #265678 +# DP: Dpatch author: Thiemo Seufer +# DP: Patch author: Thiemo Seufer +# DP: Upstream status: Debian-Specific +# DP: Status Details: The correct fix will be done to modify toolchains in etch. +# DP: Date: 2005-04-11, 2005-04-16 updated by gotom + +PATCHLEVEL=2 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +2005-04-16 GOTO Masanori + + * sysdeps/mips/dl-machine.h: Drop due to _dl_lookup_versioned_symbol + and _dl_lookup_symbol are changed into _dl_lookup_symbol_x. + +2005-04-11 Thiemo Seufer + + * first version. + +diff -upr build-tree.orig/glibc-2.3.2/elf/do-lookup.h build-tree/glibc-2.3.2/elf/do-lookup.h +--- build-tree.orig/glibc-2.3.2/elf/do-lookup.h 2005-02-28 23:42:31.000000000 +0100 ++++ build-tree/glibc-2.3.2/elf/do-lookup.h 2005-04-11 18:19:20.000000000 +0200 +@@ -209,6 +209,13 @@ FCT (const char *undef_name, unsigned lo + } + /* FALLTHROUGH */ + case STB_GLOBAL: ++#ifdef __mips__ ++ /* HACK: MIPS marks its lazy evaluation stubs with SHN_UNDEF ++ symbols, we skip them. */ ++ if (sym->st_shndx == SHN_UNDEF) ++ break; ++#endif ++ + /* Global definition. Just what we need. */ + result->s = sym; + result->m = map; --- glibc-2.3.6.orig/debian/patches/glibc-235-ppc-gcc34.dpatch +++ glibc-2.3.6/debian/patches/glibc-235-ppc-gcc34.dpatch @@ -0,0 +1,53 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Dont count on __uint128_t +# DP: Related bugs: +# DP: Dpatch author: Jeff Bailey +# DP: Patch author: Alan Modra +# DP: Upstream status: In CVS +# DP: Status Details: CVS HEAD +# DP: Date: 2005-07-13 + +PATCHLEVEL=1 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +2005-02-21 Alan Modra + + * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h (elf_vrreg_t): Don't + use __uint128_t. + +--- libc/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h 2003/12/17 23:09:34 1.11 ++++ libc/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h 2005/03/02 20:11:38 1.12 +@@ -46,15 +46,10 @@ + typedef double elf_fpreg_t; + typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; + +-/* gcc 3.1 and newer support __uint128_t. */ +-#if !__GNUC_PREREQ(3,1) +-typedef struct { +- unsigned long u[4]; +-} __attribute((aligned(16))) __uint128_t; +-#endif +- + /* Altivec registers */ +-typedef __uint128_t elf_vrreg_t; ++typedef struct { ++ unsigned int u[4]; ++} __attribute__ ((aligned (16))) elf_vrreg_t; + typedef elf_vrreg_t elf_vrregset_t[ELF_NVRREG]; + #endif + + --- glibc-2.3.6.orig/debian/patches/ubuntu-9743-tr_TR.dpatch +++ glibc-2.3.6/debian/patches/ubuntu-9743-tr_TR.dpatch @@ -0,0 +1,38 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Adjust ISO 4217 currency definition for TRY +# DP: Related bugs: Ubuntu 9743 +# DP: Dpatch author: Jeff Bailey +# DP: Patch author: Jeff Bailey +# DP: Upstream status: Not submitted +# DP: Status Details: +# DP: Date: 2005-04-21 + +PATCHLEVEL=0 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +--- locale/iso-4217.def.old 2005-04-21 06:43:11.881144068 +0000 ++++ locale/iso-4217.def 2005-04-21 06:43:31.463482872 +0000 +@@ -150,7 +150,7 @@ + DEFINE_INT_CURR("TMM") /* Turkmenistan Manet */ + DEFINE_INT_CURR("TND") /* Tunisian Dinar */ + DEFINE_INT_CURR("TOP") /* Tonga Pa'Anga */ +-DEFINE_INT_CURR("TRL") /* Turkish Lira */ ++DEFINE_INT_CURR("TRY") /* Turkish Lira */ + DEFINE_INT_CURR("TTD") /* Trinidad and Tobago */ + DEFINE_INT_CURR("TVD") /* Tuvalu Dollars */ + DEFINE_INT_CURR("TWD") /* Taiwan, Province of China Dollar */ --- glibc-2.3.6.orig/debian/patches/local-all-multiarch.dpatch +++ glibc-2.3.6/debian/patches/local-all-multiarch.dpatch @@ -0,0 +1,48 @@ +#!/bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Multiarch support +# DP: Author: Tollef Fog Heen +# DP: Upstream status: Not submitted +# DP: Date: 2005-01-20 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +--- glibc-2.3.2/Makeconfig 2004-05-10 19:32:23.000000000 +0200 ++++ glibc-2.3.2/Makeconfig 2004-05-10 19:30:33.000000000 +0200 +@@ -178,6 +178,12 @@ + endif + inst_slibdir = $(install_root)$(slibdir) + ++# Extra places to look for libraries ++ifndef extra_libdir ++extra_libdir := $(exec_prefix)/lib/$(shell gcc -dumpmachine):/lib/$(shell gcc -dumpmachine) ++endif ++ ++ + # Prefix to put on files installed in $(libdir). For libraries `libNAME.a', + # the prefix is spliced between `lib' and the name, so the linker switch + # `-l$(libprefix)NAME' finds the library; for other files the prefix is +@@ -482,6 +488,10 @@ + default-rpath = $(libdir) + endif + ++ifdef extra_libdir ++default-rpath += :$(extra_libdir) ++endif ++ + ifndef link-extra-libs + ifeq (yes,$(build-shared)) + ifneq ($(common-objpfx),$(objpfx)) --- glibc-2.3.6.orig/debian/patches/local-all-linuxfhs.dpatch +++ glibc-2.3.6/debian/patches/local-all-linuxfhs.dpatch @@ -0,0 +1,33 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Correct linux paths for FHS +# DP: Author: Unknown +# DP: Upstream status: Debian-Specific +# DP: Status Details: GNU doesn't follow the FHS. +# DP: Date: Unknown + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- glibc-2.1.1/sysdeps/unix/sysv/linux/paths.h~ Thu May 27 13:16:33 1999 ++++ glibc-2.1.1/sysdeps/unix/sysv/linux/paths.h Thu May 27 13:17:55 1999 +@@ -71,7 +71,7 @@ + /* Provide trailing slash, since mostly used for building pathnames. */ + #define _PATH_DEV "/dev/" + #define _PATH_TMP "/tmp/" +-#define _PATH_VARDB "/var/db/" ++#define _PATH_VARDB "/var/lib/misc/" + #define _PATH_VARRUN "/var/run/" + #define _PATH_VARTMP "/var/tmp/" + --- glibc-2.3.6.orig/debian/patches/submitted-hppa-linuxthreads.dpatch +++ glibc-2.3.6/debian/patches/submitted-hppa-linuxthreads.dpatch @@ -0,0 +1,923 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: @DESCRIPTION@ +# DP: Related bugs: +# DP: Dpatch author: +# DP: Patch author: +# DP: Upstream status: [In CVS | Debian-Specific | Pending | Not submitted ] +# DP: Status Details: +# DP: Date: @DATE@ + +PATCHLEVEL=1 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +--- libc-orig/linuxthreads/descr.h 2005-02-16 10:14:12.000000000 -0500 ++++ libc/linuxthreads/descr.h 2005-02-16 10:11:09.000000000 -0500 +@@ -71,7 +71,7 @@ + /* Atomic counter made possible by compare_and_swap */ + struct pthread_atomic { + long p_count; +- int p_spinlock; ++ __atomic_lock_t p_spinlock; + }; + + +--- libc-orig/linuxthreads/oldsemaphore.c 2004-04-25 23:01:18.000000000 -0400 ++++ libc/linuxthreads/oldsemaphore.c 2004-04-25 22:51:35.000000000 -0400 +@@ -31,7 +31,7 @@ + + typedef struct { + long int sem_status; +- int sem_spinlock; ++ __atomic_lock_t sem_spinlock; + } old_sem_t; + + extern int __old_sem_init (old_sem_t *__sem, int __pshared, unsigned int __value); +--- libc-orig/linuxthreads/pt-machine.c 2002-08-26 18:39:45.000000000 -0400 ++++ libc/linuxthreads/pt-machine.c 2003-12-08 21:24:59.000000000 -0500 +@@ -19,7 +19,9 @@ + + #define PT_EI + +-extern long int testandset (int *spinlock); ++#include ++ ++extern long int testandset (__atomic_lock_t *spinlock); + extern int __compare_and_swap (long int *p, long int oldval, long int newval); + + #include +--- libc-orig/linuxthreads/pthread.c 2005-01-28 14:39:43.000000000 -0500 ++++ libc/linuxthreads/pthread.c 2005-01-28 14:15:29.000000000 -0500 +@@ -301,7 +301,7 @@ + pthread_descr self; + + /* First of all init __pthread_handles[0] and [1] if needed. */ +-# if __LT_SPINLOCK_INIT != 0 ++# ifdef __LT_INITIALIZER_NOT_ZERO + __pthread_handles[0].h_lock = __LOCK_INITIALIZER; + __pthread_handles[1].h_lock = __LOCK_INITIALIZER; + # endif +@@ -371,7 +371,7 @@ + # endif + /* self->p_start_args need not be initialized, it's all zero. */ + self->p_userstack = 1; +-# if __LT_SPINLOCK_INIT != 0 ++# ifdef __LT_INITIALIZER_NOT_ZERO + self->p_resume_count = (struct pthread_atomic) __ATOMIC_INITIALIZER; + # endif + self->p_alloca_cutoff = __MAX_ALLOCA_CUTOFF; +@@ -385,7 +385,7 @@ + #else /* USE_TLS */ + + /* First of all init __pthread_handles[0] and [1]. */ +-# if __LT_SPINLOCK_INIT != 0 ++# ifdef __LT_INITIALIZER_NOT_ZERO + __pthread_handles[0].h_lock = __LOCK_INITIALIZER; + __pthread_handles[1].h_lock = __LOCK_INITIALIZER; + # endif +@@ -688,7 +688,7 @@ + # endif + mgr->p_start_args = (struct pthread_start_args) PTHREAD_START_ARGS_INITIALIZER(__pthread_manager); + mgr->p_nr = 1; +-# if __LT_SPINLOCK_INIT != 0 ++# ifdef __LT_INITIALIZER_NOT_ZERO + self->p_resume_count = (struct pthread_atomic) __ATOMIC_INITIALIZER; + # endif + mgr->p_alloca_cutoff = PTHREAD_STACK_MIN / 4; +--- libc-orig/linuxthreads/spinlock.c 2004-01-30 14:13:45.000000000 -0500 ++++ libc/linuxthreads/spinlock.c 2004-01-30 10:47:31.000000000 -0500 +@@ -24,9 +24,9 @@ + #include "spinlock.h" + #include "restart.h" + +-static void __pthread_acquire(int * spinlock); ++static void __pthread_acquire(__atomic_lock_t * spinlock); + +-static inline void __pthread_release(int * spinlock) ++static inline void __pthread_release(__atomic_lock_t * spinlock) + { + WRITE_MEMORY_BARRIER(); + *spinlock = __LT_SPINLOCK_INIT; +@@ -269,11 +269,11 @@ + struct wait_node { + struct wait_node *next; /* Next node in null terminated linked list */ + pthread_descr thr; /* The thread waiting with this node */ +- int abandoned; /* Atomic flag */ ++ __atomic_lock_t abandoned; /* Atomic flag */ + }; + + static long wait_node_free_list; +-static int wait_node_free_list_spinlock; ++__pthread_lock_define_initialized(static, wait_node_free_list_spinlock); + + /* Allocate a new node from the head of the free list using an atomic + operation, or else using malloc if that list is empty. A fundamental +@@ -376,7 +376,7 @@ + if (self == NULL) + self = thread_self(); + +- wait_node.abandoned = 0; ++ wait_node.abandoned = __LT_SPINLOCK_INIT; + wait_node.next = (struct wait_node *) lock->__status; + wait_node.thr = self; + lock->__status = (long) &wait_node; +@@ -402,7 +402,7 @@ + wait_node.thr = self; + newstatus = (long) &wait_node; + } +- wait_node.abandoned = 0; ++ wait_node.abandoned = __LT_SPINLOCK_INIT; + wait_node.next = (struct wait_node *) oldstatus; + /* Make sure the store in wait_node.next completes before performing + the compare-and-swap */ +@@ -451,7 +451,7 @@ + if (self == NULL) + self = thread_self(); + +- p_wait_node->abandoned = 0; ++ p_wait_node->abandoned = __LT_SPINLOCK_INIT; + p_wait_node->next = (struct wait_node *) lock->__status; + p_wait_node->thr = self; + lock->__status = (long) p_wait_node; +@@ -474,7 +474,7 @@ + p_wait_node->thr = self; + newstatus = (long) p_wait_node; + } +- p_wait_node->abandoned = 0; ++ p_wait_node->abandoned = __LT_SPINLOCK_INIT; + p_wait_node->next = (struct wait_node *) oldstatus; + /* Make sure the store in wait_node.next completes before performing + the compare-and-swap */ +@@ -574,7 +574,7 @@ + while (p_node != (struct wait_node *) 1) { + int prio; + +- if (p_node->abandoned) { ++ if (lock_held(&p_node->abandoned)) { + /* Remove abandoned node. */ + #if defined TEST_FOR_COMPARE_AND_SWAP + if (!__pthread_has_cas) +@@ -662,7 +662,7 @@ + #if !defined HAS_COMPARE_AND_SWAP || defined TEST_FOR_COMPARE_AND_SWAP + + int __pthread_compare_and_swap(long * ptr, long oldval, long newval, +- int * spinlock) ++ __atomic_lock_t * spinlock) + { + int res; + +@@ -699,7 +699,7 @@ + - When nanosleep() returns, we try again, doing MAX_SPIN_COUNT + sched_yield(), then sleeping again if needed. */ + +-static void __pthread_acquire(int * spinlock) ++static void __pthread_acquire(__atomic_lock_t * spinlock) + { + int cnt = 0; + struct timespec tm; +--- libc-orig/linuxthreads/spinlock.h 2003-07-31 15:16:04.000000000 -0400 ++++ libc/linuxthreads/spinlock.h 2003-12-08 21:24:59.000000000 -0500 +@@ -33,14 +33,28 @@ + #endif + #endif + ++/* Define lock_held for all arches that don't need a modified copy. */ ++#ifndef __LT_INITIALIZER_NOT_ZERO ++# define lock_held(p) *(p) ++#endif ++ ++/* Initliazers for possibly complex structures */ ++#ifdef __LT_INITIALIZER_NOT_ZERO ++# define __pthread_lock_define_initialized(CLASS,NAME) \ ++ CLASS __atomic_lock_t NAME = __LT_SPINLOCK_ALT_INIT ++#else ++# define __pthread_lock_define_initialized(CLASS,NAME) \ ++ CLASS __atomic_lock_t NAME ++#endif ++ + #if defined(TEST_FOR_COMPARE_AND_SWAP) + + extern int __pthread_has_cas; + extern int __pthread_compare_and_swap(long * ptr, long oldval, long newval, +- int * spinlock); ++ __atomic_lock_t * spinlock); + + static inline int compare_and_swap(long * ptr, long oldval, long newval, +- int * spinlock) ++ __atomic_lock_t * spinlock) + { + if (__builtin_expect (__pthread_has_cas, 1)) + return __compare_and_swap(ptr, oldval, newval); +@@ -58,7 +72,7 @@ + + static inline int + compare_and_swap_with_release_semantics (long * ptr, long oldval, +- long newval, int * spinlock) ++ long newval, __atomic_lock_t * spinlock) + { + return __compare_and_swap_with_release_semantics (ptr, oldval, + newval); +@@ -67,7 +81,7 @@ + #endif + + static inline int compare_and_swap(long * ptr, long oldval, long newval, +- int * spinlock) ++ __atomic_lock_t * spinlock) + { + return __compare_and_swap(ptr, oldval, newval); + } +@@ -75,10 +89,10 @@ + #else + + extern int __pthread_compare_and_swap(long * ptr, long oldval, long newval, +- int * spinlock); ++ __atomic_lock_t * spinlock); + + static inline int compare_and_swap(long * ptr, long oldval, long newval, +- int * spinlock) ++ __atomic_lock_t * spinlock) + { + return __pthread_compare_and_swap(ptr, oldval, newval, spinlock); + } +--- libc-orig/linuxthreads/sysdeps/hppa/pspinlock.c 2002-08-26 18:39:51.000000000 -0400 ++++ libc/linuxthreads/sysdeps/hppa/pspinlock.c 2004-08-15 14:22:02.000000000 -0400 +@@ -24,13 +24,10 @@ + int + __pthread_spin_lock (pthread_spinlock_t *lock) + { +- unsigned int val; ++ volatile unsigned int *addr = __ldcw_align (lock); + +- do +- asm volatile ("ldcw %1,%0" +- : "=r" (val), "=m" (*lock) +- : "m" (*lock)); +- while (!val); ++ while (__ldcw (addr) == 0) ++ while (*addr == 0) ; + + return 0; + } +@@ -40,13 +37,9 @@ + int + __pthread_spin_trylock (pthread_spinlock_t *lock) + { +- unsigned int val; ++ volatile unsigned int *a = __ldcw_align (lock); + +- asm volatile ("ldcw %1,%0" +- : "=r" (val), "=m" (*lock) +- : "m" (*lock)); +- +- return val ? 0 : EBUSY; ++ return __ldcw (a) ? 0 : EBUSY; + } + weak_alias (__pthread_spin_trylock, pthread_spin_trylock) + +@@ -54,7 +47,11 @@ + int + __pthread_spin_unlock (pthread_spinlock_t *lock) + { +- *lock = 1; ++ volatile unsigned int *a = __ldcw_align (lock); ++ int tmp = 1; ++ /* This should be a memory barrier to newer compilers */ ++ __asm__ __volatile__ ("stw,ma %1,0(%0)" ++ : : "r" (a), "r" (tmp) : "memory"); + return 0; + } + weak_alias (__pthread_spin_unlock, pthread_spin_unlock) +@@ -66,7 +63,11 @@ + /* We can ignore the `pshared' parameter. Since we are busy-waiting + all processes which can access the memory location `lock' points + to can use the spinlock. */ +- *lock = 1; ++ volatile unsigned int *a = __ldcw_align (lock); ++ int tmp = 1; ++ /* This should be a memory barrier to newer compilers */ ++ __asm__ __volatile__ ("stw,ma %1,0(%0)" ++ : : "r" (a), "r" (tmp) : "memory"); + return 0; + } + weak_alias (__pthread_spin_init, pthread_spin_init) +--- libc-orig/linuxthreads/sysdeps/hppa/pt-machine.h 2003-07-31 15:15:42.000000000 -0400 ++++ libc/linuxthreads/sysdeps/hppa/pt-machine.h 2004-08-23 14:39:23.000000000 -0400 +@@ -22,41 +22,103 @@ + #ifndef _PT_MACHINE_H + #define _PT_MACHINE_H 1 + ++#include + #include + + #ifndef PT_EI + # define PT_EI extern inline __attribute__ ((always_inline)) + #endif + +-extern long int testandset (int *spinlock); +-extern int __compare_and_swap (long int *p, long int oldval, long int newval); ++extern inline long int testandset (__atomic_lock_t *spinlock); ++extern inline int __compare_and_swap (long int *p, long int oldval, long int newval); ++extern inline int lock_held (__atomic_lock_t *spinlock); ++extern inline int __load_and_clear (__atomic_lock_t *spinlock); + + /* Get some notion of the current stack. Need not be exactly the top + of the stack, just something somewhere in the current frame. */ + #define CURRENT_STACK_FRAME stack_pointer + register char * stack_pointer __asm__ ("%r30"); + ++/* Get/Set thread-specific pointer. We have to call into the kernel to ++ * modify it, but we can read it in user mode. */ ++ ++#define THREAD_SELF __get_cr27() ++ ++static inline struct _pthread_descr_struct * __get_cr27(void) ++{ ++ long cr27; ++ asm("mfctl %%cr27, %0" : "=r" (cr27) : ); ++ return (struct _pthread_descr_struct *) cr27; ++} ++ ++#define INIT_THREAD_SELF(descr, nr) __set_cr27(descr) ++ ++static inline void __set_cr27(struct _pthread_descr_struct * cr27) ++{ ++ asm( ++ "ble 0xe0(%%sr2, %%r0)\n\t" ++ "copy %0, %%r26" ++ : : "r" (cr27) : "r26" ); ++} ++ ++/* We want the OS to assign stack addresses. */ ++#define FLOATING_STACKS 1 ++#define ARCH_STACK_MAX_SIZE 8*1024*1024 + + /* The hppa only has one atomic read and modify memory operation, + load and clear, so hppa spinlocks must use zero to signify that +- someone is holding the lock. */ ++ someone is holding the lock. The address used for the ldcw ++ semaphore must be 16-byte aligned. */ ++#define __ldcw(a) ({ \ ++ unsigned int __ret; \ ++ __asm__ __volatile__("ldcw 0(%1),%0" \ ++ : "=r" (__ret) : "r" (a) : "memory"); \ ++ __ret; \ ++}) ++ ++/* Strongly ordered lock reset */ ++#define __lock_reset(lock_addr, tmp) ({ \ ++ __asm__ __volatile__ ("stw,ma %1,0(%0)" \ ++ : : "r" (lock_addr), "r" (tmp) : "memory"); \ ++ }) ++ ++/* Because malloc only guarantees 8-byte alignment for malloc'd data, ++ and GCC only guarantees 8-byte alignment for stack locals, we can't ++ be assured of 16-byte alignment for atomic lock data even if we ++ specify "__attribute ((aligned(16)))" in the type declaration. So, ++ we use a struct containing an array of four ints for the atomic lock ++ type and dynamically select the 16-byte aligned int from the array ++ for the semaphore. */ ++#define __PA_LDCW_ALIGNMENT 16 ++#define __ldcw_align(a) ({ \ ++ volatile unsigned int __ret = (unsigned int) a; \ ++ if ((__ret & ~(__PA_LDCW_ALIGNMENT - 1)) < (unsigned int) a) \ ++ __ret = (__ret & ~(__PA_LDCW_ALIGNMENT - 1)) + __PA_LDCW_ALIGNMENT; \ ++ (unsigned int *) __ret; \ ++}) + +-#define xstr(s) str(s) +-#define str(s) #s + /* Spinlock implementation; required. */ +-PT_EI long int +-testandset (int *spinlock) ++PT_EI int ++__load_and_clear (__atomic_lock_t *spinlock) + { +- int ret; ++ volatile unsigned int *a = __ldcw_align (spinlock); + +- __asm__ __volatile__( +- "ldcw 0(%2),%0" +- : "=r"(ret), "=m"(*spinlock) +- : "r"(spinlock)); ++ return __ldcw (a); ++} + +- return ret == 0; ++/* Emulate testandset */ ++PT_EI long int ++testandset (__atomic_lock_t *spinlock) ++{ ++ return (__load_and_clear(spinlock) == 0); + } +-#undef str +-#undef xstr + ++PT_EI int ++lock_held (__atomic_lock_t *spinlock) ++{ ++ volatile unsigned int *a = __ldcw_align (spinlock); ++ ++ return *a == 0; ++} ++ + #endif /* pt-machine.h */ +--- libc-orig/linuxthreads/sysdeps/pthread/bits/initspin.h 2002-08-26 18:39:44.000000000 -0400 ++++ libc/linuxthreads/sysdeps/pthread/bits/initspin.h 2004-02-23 09:36:18.000000000 -0500 +@@ -23,6 +23,7 @@ + #define __LT_SPINLOCK_INIT 0 + + /* Macros for lock initializers, using the above definition. */ +-#define __LOCK_INITIALIZER { 0, __LT_SPINLOCK_INIT } ++#define __LOCK_INITIALIZER ((struct _pthread_fastlock){ 0, __LT_SPINLOCK_INIT }) ++#define __LOCK_ALT_INITIALIZER { 0, __LT_SPINLOCK_INIT } + #define __ALT_LOCK_INITIALIZER { 0, __LT_SPINLOCK_INIT } + #define __ATOMIC_INITIALIZER { 0, __LT_SPINLOCK_INIT } +--- libc-orig/linuxthreads/sysdeps/pthread/bits/libc-lock.h 2003-09-23 00:33:20.000000000 -0400 ++++ libc/linuxthreads/sysdeps/pthread/bits/libc-lock.h 2003-12-08 21:25:00.000000000 -0500 +@@ -71,12 +71,12 @@ + initialized locks must be set to one due to the lack of normal + atomic operations.) */ + +-#if __LT_SPINLOCK_INIT == 0 ++#ifdef __LT_INITIALIZER_NOT_ZERO + # define __libc_lock_define_initialized(CLASS,NAME) \ +- CLASS __libc_lock_t NAME; ++ CLASS __libc_lock_t NAME = PTHREAD_MUTEX_INITIALIZER; + #else + # define __libc_lock_define_initialized(CLASS,NAME) \ +- CLASS __libc_lock_t NAME = PTHREAD_MUTEX_INITIALIZER; ++ CLASS __libc_lock_t NAME; + #endif + + #define __libc_rwlock_define_initialized(CLASS,NAME) \ +--- libc-orig/linuxthreads/sysdeps/pthread/bits/pthreadtypes.h 2004-09-17 12:24:47.000000000 -0400 ++++ libc/linuxthreads/sysdeps/pthread/bits/pthreadtypes.h 2004-09-17 12:24:19.000000000 -0400 +@@ -22,12 +22,14 @@ + #define __need_schedparam + #include + ++typedef int __atomic_lock_t; ++ + /* Fast locks (not abstract because mutexes and conditions aren't abstract). */ + struct _pthread_fastlock + { +- long int __status; /* "Free" or "taken" or head of waiting list */ +- int __spinlock; /* Used by compare_and_swap emulation. Also, +- adaptive SMP lock stores spin count here. */ ++ long int __status; /* "Free" or "taken" or head of waiting list */ ++ __atomic_lock_t __spinlock; /* Used by compare_and_swap emulation. Also, ++ adaptive SMP lock stores spin count here. */ + }; + + #ifndef _PTHREAD_DESCR_DEFINED +--- libc-orig/linuxthreads/sysdeps/pthread/pthread.h 2004-09-21 17:55:20.000000000 -0400 ++++ libc/linuxthreads/sysdeps/pthread/pthread.h 2004-09-21 17:55:03.000000000 -0400 +@@ -31,26 +31,26 @@ + /* Initializers. */ + + #define PTHREAD_MUTEX_INITIALIZER \ +- {0, 0, 0, PTHREAD_MUTEX_TIMED_NP, __LOCK_INITIALIZER} ++ {0, 0, 0, PTHREAD_MUTEX_TIMED_NP, __LOCK_ALT_INITIALIZER} + #ifdef __USE_GNU + # define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \ +- {0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, __LOCK_INITIALIZER} ++ {0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, __LOCK_ALT_INITIALIZER} + # define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \ +- {0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP, __LOCK_INITIALIZER} ++ {0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP, __LOCK_ALT_INITIALIZER} + # define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \ +- {0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP, __LOCK_INITIALIZER} ++ {0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP, __LOCK_ALT_INITIALIZER} + #endif + +-#define PTHREAD_COND_INITIALIZER {__LOCK_INITIALIZER, 0, "", 0} ++#define PTHREAD_COND_INITIALIZER {__LOCK_ALT_INITIALIZER, 0, "", 0} + + #if defined __USE_UNIX98 || defined __USE_XOPEN2K + # define PTHREAD_RWLOCK_INITIALIZER \ +- { __LOCK_INITIALIZER, 0, NULL, NULL, NULL, \ ++ { __LOCK_ALT_INITIALIZER, 0, NULL, NULL, NULL, \ + PTHREAD_RWLOCK_DEFAULT_NP, PTHREAD_PROCESS_PRIVATE } + #endif + #ifdef __USE_GNU + # define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \ +- { __LOCK_INITIALIZER, 0, NULL, NULL, NULL, \ ++ { __LOCK_ALT_INITIALIZER, 0, NULL, NULL, NULL, \ + PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, PTHREAD_PROCESS_PRIVATE } + #endif + +--- libc-orig/linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/initspin.h 2002-08-26 18:39:55.000000000 -0400 ++++ libc/linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/initspin.h 2004-02-23 09:35:37.000000000 -0500 +@@ -19,9 +19,23 @@ + + /* Initial value of a spinlock. PA-RISC only implements atomic load + and clear so this must be non-zero. */ +-#define __LT_SPINLOCK_INIT 1 ++#define __LT_SPINLOCK_INIT ((__atomic_lock_t) { { 1, 1, 1, 1 } }) ++ ++/* Initialize global spinlocks without cast, generally macro wrapped */ ++#define __LT_SPINLOCK_ALT_INIT { { 1, 1, 1, 1 } } ++ ++/* Macros for lock initializers, not using the above definition. ++ The above definition is not used in the case that static initializers ++ use this value. */ ++#define __LOCK_ALT_INITIALIZER { __LT_SPINLOCK_ALT_INIT, 0 } ++ ++/* Used to initialize _pthread_fastlock's in non-static case */ ++#define __LOCK_INITIALIZER ((struct _pthread_fastlock){ __LT_SPINLOCK_INIT, 0 }) ++ ++/* Used in pthread_atomic initialization */ ++#define __ATOMIC_INITIALIZER { 0, __LT_SPINLOCK_ALT_INIT } ++ ++/* Tell the rest of the code that the initializer is non-zero without ++ explaining it's internal structure */ ++#define __LT_INITIALIZER_NOT_ZERO + +-/* Macros for lock initializers, using the above definition. */ +-#define __LOCK_INITIALIZER { 0, __LT_SPINLOCK_INIT } +-#define __ALT_LOCK_INITIALIZER { 0, __LT_SPINLOCK_INIT } +-#define __ATOMIC_INITIALIZER { 0, __LT_SPINLOCK_INIT } +--- libc-orig/linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/pthreadtypes.h 1969-12-31 19:00:00.000000000 -0500 ++++ libc/linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/pthreadtypes.h 2003-12-08 21:25:00.000000000 -0500 +@@ -0,0 +1,160 @@ ++/* Linuxthreads - a simple clone()-based implementation of Posix */ ++/* threads for Linux. */ ++/* Copyright (C) 1996 Xavier Leroy (Xavier.Leroy@inria.fr) */ ++/* */ ++/* This program is free software; you can redistribute it and/or */ ++/* modify it under the terms of the GNU Library General Public License */ ++/* as published by the Free Software Foundation; either version 2 */ ++/* of the License, or (at your option) any later version. */ ++/* */ ++/* This program is distributed in the hope that it will be useful, */ ++/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ ++/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ ++/* GNU Library General Public License for more details. */ ++ ++#if !defined _BITS_TYPES_H && !defined _PTHREAD_H ++# error "Never include directly; use instead." ++#endif ++ ++#ifndef _BITS_PTHREADTYPES_H ++#define _BITS_PTHREADTYPES_H 1 ++ ++#define __need_schedparam ++#include ++ ++/* We need 128-bit alignment for the ldcw semaphore. At most, we are ++ assured of 64-bit alignment for stack locals and malloc'd data. Thus, ++ we use a struct with four ints for the atomic lock type. The locking ++ code will figure out which of the four to use for the ldcw semaphore. */ ++typedef volatile struct { ++ int lock[4]; ++} __attribute__ ((aligned(16))) __atomic_lock_t; ++ ++/* Fast locks (not abstract because mutexes and conditions aren't abstract). */ ++struct _pthread_fastlock ++{ ++ __atomic_lock_t __spinlock; /* Used by compare_and_swap emulation. Also, ++ adaptive SMP lock stores spin count here. */ ++ long int __status; /* "Free" or "taken" or head of waiting list */ ++}; ++ ++#ifndef _PTHREAD_DESCR_DEFINED ++/* Thread descriptors */ ++typedef struct _pthread_descr_struct *_pthread_descr; ++# define _PTHREAD_DESCR_DEFINED ++#endif ++ ++ ++/* Attributes for threads. */ ++typedef struct __pthread_attr_s ++{ ++ int __detachstate; ++ int __schedpolicy; ++ struct __sched_param __schedparam; ++ int __inheritsched; ++ int __scope; ++ size_t __guardsize; ++ int __stackaddr_set; ++ void *__stackaddr; ++ size_t __stacksize; ++} pthread_attr_t; ++ ++ ++/* Conditions (not abstract because of PTHREAD_COND_INITIALIZER */ ++ ++#ifdef __GLIBC_HAVE_LONG_LONG ++__extension__ typedef long long __pthread_cond_align_t; ++#else ++typedef long __pthread_cond_align_t; ++#endif ++ ++typedef struct ++{ ++ struct _pthread_fastlock __c_lock; /* Protect against concurrent access */ ++ _pthread_descr __c_waiting; /* Threads waiting on this condition */ ++ char __padding[48 - sizeof (struct _pthread_fastlock) ++ - sizeof (_pthread_descr) - sizeof (__pthread_cond_align_t)]; ++ __pthread_cond_align_t __align; ++} pthread_cond_t; ++ ++ ++/* Attribute for conditionally variables. */ ++typedef struct ++{ ++ int __dummy; ++} pthread_condattr_t; ++ ++/* Keys for thread-specific data */ ++typedef unsigned int pthread_key_t; ++ ++ ++/* Mutexes (not abstract because of PTHREAD_MUTEX_INITIALIZER). */ ++/* (The layout is unnatural to maintain binary compatibility ++ with earlier releases of LinuxThreads.) */ ++typedef struct ++{ ++ int __m_reserved; /* Reserved for future use */ ++ int __m_count; /* Depth of recursive locking */ ++ _pthread_descr __m_owner; /* Owner thread (if recursive or errcheck) */ ++ int __m_kind; /* Mutex kind: fast, recursive or errcheck */ ++ struct _pthread_fastlock __m_lock; /* Underlying fast lock */ ++} pthread_mutex_t; ++ ++ ++/* Attribute for mutex. */ ++typedef struct ++{ ++ int __mutexkind; ++} pthread_mutexattr_t; ++ ++ ++/* Once-only execution */ ++typedef int pthread_once_t; ++ ++ ++#ifdef __USE_UNIX98 ++/* Read-write locks. */ ++typedef struct _pthread_rwlock_t ++{ ++ struct _pthread_fastlock __rw_lock; /* Lock to guarantee mutual exclusion */ ++ int __rw_readers; /* Number of readers */ ++ _pthread_descr __rw_writer; /* Identity of writer, or NULL if none */ ++ _pthread_descr __rw_read_waiting; /* Threads waiting for reading */ ++ _pthread_descr __rw_write_waiting; /* Threads waiting for writing */ ++ int __rw_kind; /* Reader/Writer preference selection */ ++ int __rw_pshared; /* Shared between processes or not */ ++} pthread_rwlock_t; ++ ++ ++/* Attribute for read-write locks. */ ++typedef struct ++{ ++ int __lockkind; ++ int __pshared; ++} pthread_rwlockattr_t; ++#endif ++ ++#ifdef __USE_XOPEN2K ++/* POSIX spinlock data type. */ ++typedef __atomic_lock_t pthread_spinlock_t; ++ ++/* POSIX barrier. */ ++typedef struct { ++ struct _pthread_fastlock __ba_lock; /* Lock to guarantee mutual exclusion */ ++ int __ba_required; /* Threads needed for completion */ ++ int __ba_present; /* Threads waiting */ ++ _pthread_descr __ba_waiting; /* Queue of waiting threads */ ++} pthread_barrier_t; ++ ++/* barrier attribute */ ++typedef struct { ++ int __pshared; ++} pthread_barrierattr_t; ++ ++#endif ++ ++ ++/* Thread identifiers */ ++typedef unsigned long int pthread_t; ++ ++#endif /* bits/pthreadtypes.h */ +--- libc-orig/linuxthreads/sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h 2003-10-10 21:28:08.000000000 -0400 ++++ libc/linuxthreads/sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h 2004-09-22 20:05:32.000000000 -0400 +@@ -29,61 +29,109 @@ + # define NO_ERROR -0x1000 + # endif + ++/* The syscall cancellation mechanism requires userspace ++ assistance, the following code does roughly this: ++ ++ do arguments (read arg5 and arg6 to registers) ++ setup frame ++ ++ check if there are threads, yes jump to pseudo_cancel ++ ++ unthreaded: ++ syscall ++ check syscall return (jump to pre_end) ++ set errno ++ set return to -1 ++ (jump to pre_end) ++ ++ pseudo_cancel: ++ cenable ++ syscall ++ cdisable ++ check syscall return (jump to pre_end) ++ set errno ++ set return to -1 ++ ++ pre_end ++ restore stack ++ ++ It is expected that 'ret' and 'END' macros will ++ append an 'undo arguments' and 'return' to the ++ this PSEUDO macro. */ ++ + # undef PSEUDO + # define PSEUDO(name, syscall_name, args) \ +- ENTRY (name) \ +- SINGLE_THREAD_P ASM_LINE_SEP \ +- cmpib,<> 0,%ret0,Lpseudo_cancel ASM_LINE_SEP \ +- nop ASM_LINE_SEP \ +- DO_CALL(syscall_name, args) ASM_LINE_SEP \ +- /* DONE! */ ASM_LINE_SEP \ +- bv 0(2) ASM_LINE_SEP \ +- nop ASM_LINE_SEP \ +- Lpseudo_cancel: ASM_LINE_SEP \ +- /* store return ptr */ ASM_LINE_SEP \ +- stw %rp, -20(%sr0,%sp) ASM_LINE_SEP \ +- /* save syscall args */ ASM_LINE_SEP \ +- PUSHARGS_##args /* MACRO */ ASM_LINE_SEP \ +- STW_PIC ASM_LINE_SEP \ +- CENABLE /* FUNC CALL */ ASM_LINE_SEP \ +- ldo 64(%sp), %sp ASM_LINE_SEP \ +- ldo -64(%sp), %sp ASM_LINE_SEP \ +- LDW_PIC ASM_LINE_SEP \ +- /* restore syscall args */ ASM_LINE_SEP \ +- POPARGS_##args ASM_LINE_SEP \ +- /* save r4 in arg0 stack slot */ ASM_LINE_SEP \ +- stw %r4, -36(%sr0,%sp) ASM_LINE_SEP \ +- /* save mask from cenable */ ASM_LINE_SEP \ +- copy %ret0, %r4 ASM_LINE_SEP \ +- ble 0x100(%sr2,%r0) ASM_LINE_SEP \ +- ldi SYS_ify (syscall_name), %r20 ASM_LINE_SEP \ +- LDW_PIC ASM_LINE_SEP \ +- /* pass mask as arg0 to cdisable */ ASM_LINE_SEP \ +- copy %r4, %r26 ASM_LINE_SEP \ +- copy %ret0, %r4 ASM_LINE_SEP \ +- CDISABLE ASM_LINE_SEP \ +- ldo 64(%sp), %sp ASM_LINE_SEP \ +- ldo -64(%sp), %sp ASM_LINE_SEP \ +- LDW_PIC ASM_LINE_SEP \ +- /* compare error */ ASM_LINE_SEP \ +- ldi NO_ERROR,%r1 ASM_LINE_SEP \ +- /* branch if no error */ ASM_LINE_SEP \ +- cmpb,>>=,n %r1,%r4,Lpre_end ASM_LINE_SEP \ +- nop ASM_LINE_SEP \ +- SYSCALL_ERROR_HANDLER ASM_LINE_SEP \ +- ldo 64(%sp), %sp ASM_LINE_SEP \ +- ldo -64(%sp), %sp ASM_LINE_SEP \ +- /* No need to LDW_PIC */ ASM_LINE_SEP \ +- /* make syscall res value positive */ ASM_LINE_SEP \ +- sub %r0, %r4, %r4 ASM_LINE_SEP \ +- /* store into errno location */ ASM_LINE_SEP \ +- stw %r4, 0(%sr0,%ret0) ASM_LINE_SEP \ +- /* return -1 */ ASM_LINE_SEP \ +- ldo -1(%r0), %ret0 ASM_LINE_SEP \ +- Lpre_end: ASM_LINE_SEP \ +- ldw -20(%sr0,%sp), %rp ASM_LINE_SEP \ +- /* No need to LDW_PIC */ ASM_LINE_SEP \ +- ldw -36(%sr0,%sp), %r4 ASM_LINE_SEP ++ ENTRY (name) \ ++ DOARGS_##args ASM_LINE_SEP \ ++ copy TREG, %r1 ASM_LINE_SEP \ ++ copy %sp, TREG ASM_LINE_SEP \ ++ stwm %r1, 64(%sp) ASM_LINE_SEP \ ++ stw %rp, -20(%sp) ASM_LINE_SEP \ ++ stw TREG, -4(%sp) ASM_LINE_SEP \ ++ /* Done setting up frame, continue... */ ASM_LINE_SEP \ ++ SINGLE_THREAD_P ASM_LINE_SEP \ ++ cmpib,<>,n 0,%ret0,L(pseudo_cancel) ASM_LINE_SEP \ ++L(unthreaded): ASM_LINE_SEP \ ++ /* Save r19 */ ASM_LINE_SEP \ ++ SAVE_PIC(TREG) ASM_LINE_SEP \ ++ /* Do syscall, delay loads # */ ASM_LINE_SEP \ ++ ble 0x100(%sr2,%r0) ASM_LINE_SEP \ ++ ldi SYS_ify (syscall_name), %r20 /* delay */ ASM_LINE_SEP \ ++ ldi NO_ERROR,%r1 ASM_LINE_SEP \ ++ cmpb,>>=,n %r1,%ret0,L(pre_end) ASM_LINE_SEP \ ++ /* Restore r19 from TREG */ ASM_LINE_SEP \ ++ LOAD_PIC(TREG) /* delay */ ASM_LINE_SEP \ ++ SYSCALL_ERROR_HANDLER ASM_LINE_SEP \ ++ /* Use TREG for temp storage */ ASM_LINE_SEP \ ++ copy %ret0, TREG /* delay */ ASM_LINE_SEP \ ++ /* OPTIMIZE: Don't reload r19 */ ASM_LINE_SEP \ ++ /* do a -1*syscall_ret0 */ ASM_LINE_SEP \ ++ sub %r0, TREG, TREG ASM_LINE_SEP \ ++ /* Store into errno location */ ASM_LINE_SEP \ ++ stw TREG, 0(%sr0,%ret0) ASM_LINE_SEP \ ++ b L(pre_end) ASM_LINE_SEP \ ++ /* return -1 as error */ ASM_LINE_SEP \ ++ ldo -1(%r0), %ret0 /* delay */ ASM_LINE_SEP \ ++L(pseudo_cancel): ASM_LINE_SEP \ ++ PUSHARGS_##args /* Save args */ ASM_LINE_SEP \ ++ /* Save r19 into TREG */ ASM_LINE_SEP \ ++ CENABLE /* FUNC CALL */ ASM_LINE_SEP \ ++ SAVE_PIC(TREG) /* delay */ ASM_LINE_SEP \ ++ /* restore syscall args */ ASM_LINE_SEP \ ++ POPARGS_##args ASM_LINE_SEP \ ++ /* save mask from cenable (use stub rp slot) */ ASM_LINE_SEP \ ++ stw %ret0, -24(%sp) ASM_LINE_SEP \ ++ /* ... SYSCALL ... */ ASM_LINE_SEP \ ++ ble 0x100(%sr2,%r0) ASM_LINE_SEP \ ++ ldi SYS_ify (syscall_name), %r20 /* delay */ ASM_LINE_SEP \ ++ /* ............... */ ASM_LINE_SEP \ ++ LOAD_PIC(TREG) ASM_LINE_SEP \ ++ /* pass mask as arg0 to cdisable */ ASM_LINE_SEP \ ++ ldw -24(%sp), %r26 ASM_LINE_SEP \ ++ CDISABLE ASM_LINE_SEP \ ++ stw %ret0, -24(%sp) /* delay */ ASM_LINE_SEP \ ++ /* Restore syscall return (use arg regs) */ ASM_LINE_SEP \ ++ ldw -24(%sp), %r26 ASM_LINE_SEP \ ++ /* compare error */ ASM_LINE_SEP \ ++ ldi NO_ERROR,%r1 ASM_LINE_SEP \ ++ /* branch if no error */ ASM_LINE_SEP \ ++ cmpb,>>=,n %r1,%r26,L(pre_end) ASM_LINE_SEP \ ++ LOAD_PIC(TREG) /* cond. nullify */ ASM_LINE_SEP \ ++ copy %r26, TREG /* save syscall return */ ASM_LINE_SEP \ ++ SYSCALL_ERROR_HANDLER ASM_LINE_SEP \ ++ /* make syscall res value positive */ ASM_LINE_SEP \ ++ sub %r0, TREG, TREG /* delay */ ASM_LINE_SEP \ ++ /* No need to LOAD_PIC */ ASM_LINE_SEP \ ++ /* store into errno location */ ASM_LINE_SEP \ ++ stw TREG, 0(%sr0,%ret0) ASM_LINE_SEP \ ++ /* return -1 */ ASM_LINE_SEP \ ++ ldo -1(%r0), %ret0 ASM_LINE_SEP \ ++L(pre_end): ASM_LINE_SEP \ ++ /* Restore rp before exit */ ASM_LINE_SEP \ ++ ldw -84(%sr0,%sp), %rp ASM_LINE_SEP \ ++ /* Undo frame */ ASM_LINE_SEP \ ++ ldwm -64(%sp),TREG ASM_LINE_SEP \ ++ /* No need to LOAD_PIC */ ASM_LINE_SEP + + /* Save arguments into our frame */ + # define PUSHARGS_0 /* nothing to do */ +@@ -91,8 +139,8 @@ + # define PUSHARGS_2 PUSHARGS_1 stw %r25, -40(%sr0,%sp) ASM_LINE_SEP + # define PUSHARGS_3 PUSHARGS_2 stw %r24, -44(%sr0,%sp) ASM_LINE_SEP + # define PUSHARGS_4 PUSHARGS_3 stw %r23, -48(%sr0,%sp) ASM_LINE_SEP +-# define PUSHARGS_5 PUSHARGS_4 /* Args are on the stack... */ +-# define PUSHARGS_6 PUSHARGS_5 ++# define PUSHARGS_5 PUSHARGS_4 stw %r22, -52(%sr0,%sp) ASM_LINE_SEP ++# define PUSHARGS_6 PUSHARGS_5 stw %r21, -56(%sr0,%sp) ASM_LINE_SEP + + /* Bring them back from the stack */ + # define POPARGS_0 /* nothing to do */ +@@ -101,7 +149,7 @@ + # define POPARGS_3 POPARGS_2 ldw -44(%sr0,%sp), %r24 ASM_LINE_SEP + # define POPARGS_4 POPARGS_3 ldw -48(%sr0,%sp), %r23 ASM_LINE_SEP + # define POPARGS_5 POPARGS_4 ldw -52(%sr0,%sp), %r22 ASM_LINE_SEP +-# define POPARGS_6 POPARGS_5 ldw -54(%sr0,%sp), %r21 ASM_LINE_SEP ++# define POPARGS_6 POPARGS_5 ldw -56(%sr0,%sp), %r21 ASM_LINE_SEP + + # ifdef IS_IN_libpthread + # ifdef PIC +@@ -163,10 +211,10 @@ + /* This ALT version requires newer kernel support */ + # define SINGLE_THREAD_P_MFCTL \ + mfctl %cr27, %ret0 ASM_LINE_SEP \ +- cmpib,= NO_THREAD_CR27,%ret0,Lstp ASM_LINE_SEP \ ++ cmpib,= NO_THREAD_CR27,%ret0,L(stp) ASM_LINE_SEP \ + nop ASM_LINE_SEP \ + ldw MULTIPLE_THREADS_OFFSET(%sr0,%ret0),%ret0 ASM_LINE_SEP \ +- Lstp: ASM_LINE_SEP ++L(stp): ASM_LINE_SEP + # ifdef PIC + /* Slower version uses GOT to get value of __local_multiple_threads */ + # define SINGLE_THREAD_P \ +@@ -174,7 +222,7 @@ + ldw RT%__local_multiple_threads(%sr0,%r1), %ret0 ASM_LINE_SEP \ + ldw 0(%sr0,%ret0), %ret0 ASM_LINE_SEP + # else +- /* Slow non-pic version using DP */ ++/* Slow non-pic version using DP */ + # define SINGLE_THREAD_P \ + addil LR%__local_multiple_threads-$global$,%r27 ASM_LINE_SEP \ + ldw RR%__local_multiple_threads-$global$(%sr0,%r1),%ret0 ASM_LINE_SEP --- glibc-2.3.6.orig/debian/patches/50_glibc232-arm-dwarf2-buildfix.dpatch +++ glibc-2.3.6/debian/patches/50_glibc232-arm-dwarf2-buildfix.dpatch @@ -0,0 +1,54 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Adding empty m68k framestate.c not to build for dwarf2. +# DP: Related bugs: +# DP: Dpatch author: Philip Blundell +# DP: Patch author: Philip Blundell +# DP: Upstream status: Debian-Specific +# DP: Status Details: ARM uses sjlj exceptions, not dwarf2 unwind. +# DP: This patch adds empty framestate.c for arm to avoid +# DP: dwarf2 build failure. +# DP: Date: 2003-07-19 (Update 2005-03-14 gotom) + +PATCHLEVEL=0 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. + +2005-03-14 GOTO Masanori + + * sysdeps/arm/unwind-pe.c: Update to fix compilation failure. + +2003-07-19 GOTO Masanori + + * sysdeps/arm/framestate.c: Add to fix compilation failure + with sjlj exception, suggested by Philip Blundell. + + +--- /dev/null 2003-01-13 18:16:28.000000000 +0900 ++++ sysdeps/arm/framestate.c 2003-07-16 23:21:34.000000000 +0900 +@@ -0,0 +1,2 @@ ++ ++ +--- /dev/null 2004-12-05 06:07:48.000000000 +0000 ++++ sysdeps/arm/unwind-pe.c 2005-03-14 05:14:16.000000000 +0000 +@@ -0,0 +1,6 @@ ++#include ++#include ++ ++#define _LIBC_DEFINITIONS ++#define NO_BASE_OF_ENCODED_VALUE ++#include "unwind-pe.h" --- glibc-2.3.6.orig/debian/patches/glibc22-m68k-fpic.dpatch +++ glibc-2.3.6/debian/patches/glibc22-m68k-fpic.dpatch @@ -0,0 +1,28 @@ +#! /bin/sh -e + +# DP: Make sure libc_nonshared.a is compiled with -fPIC on m68k + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +diff -urN glibc-2.2.3.orig/sysdeps/m68k/Makefile glibc-2.2.3/sysdeps/m68k/Makefi +--- glibc-2.2.3.orig/sysdeps/m68k/Makefile Fri Sep 5 03:40:38 1997 ++++ glibc-2.2.3/sysdeps/m68k/Makefile Tue May 15 23:29:05 2001 +@@ -41,3 +41,7 @@ + # Avoid a bug in gcc + CFLAGS-s_copysignl.c += -mnobitfield + endif ++ ++# Build objects in libc_nonshared.a with -fPIC (instead of -fpic) to avoid ++# possible linkage problems. ++CFLAGS-.oS += -fPIC --- glibc-2.3.6.orig/debian/patches/local-all-altlocaledir.dpatch +++ glibc-2.3.6/debian/patches/local-all-altlocaledir.dpatch @@ -0,0 +1,53 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: support alternative gettext tree in +# DP: /usr/share/locale-langpack +# DP: Dpatch author: Martin Pitt +# DP: Patch author: Martin Pitt +# DP: Upstream status: Ubuntu-Specific +# DP: Date: 2004-12-06 20:44:10 CET + +PATCHLEVEL=1 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +--- glibc-2.3.5.orig/intl/l10nflist.c ++++ glibc-2.3.5/intl/l10nflist.c +@@ -267,7 +267,7 @@ _nl_make_l10nflist (l10nfile_list, dirli + + retval = (struct loaded_l10nfile *) + malloc (sizeof (*retval) + (__argz_count (dirlist, dirlist_len) +- * (1 << pop (mask)) ++ * 2 * (1 << pop (mask)) + * sizeof (struct loaded_l10nfile *))); + if (retval == NULL) + return NULL; +@@ -310,6 +310,15 @@ _nl_make_l10nflist (l10nfile_list, dirli + language, territory, codeset, + normalized_codeset, modifier, filename, 1); + } ++ const char* langpack_dir = "/usr/share/locale-langpack"; ++ for (cnt = mask; cnt >= 0; --cnt) ++ if ((cnt & ~mask) == 0) ++ { ++ retval->successor[entries++] ++ = _nl_make_l10nflist (l10nfile_list, langpack_dir, strlen (langpack_dir) + 1, cnt, ++ language, territory, codeset, ++ normalized_codeset, modifier, filename, 1); ++ } + retval->successor[entries] = NULL; + + return retval; --- glibc-2.3.6.orig/debian/patches/glibc-make-check-perms.dpatch +++ glibc-2.3.6/debian/patches/glibc-make-check-perms.dpatch @@ -0,0 +1,41 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Fix a permission denied during make check +# DP: Author: Daniel Jacobowitz +# DP: Upstream status: Submitted +# DP: Date: 2003-10-12 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +2003-10-12 Daniel Jacobowitz + + * Makefile (tests): Make sure check-c++-types.sh is executable. + +Index: glibc/Makefile +=================================================================== +RCS file: /big/fsf/rsync/glibc-cvs/libc/Makefile,v +retrieving revision 1.234 +diff -u -p -r1.234 Makefile +--- glibc/Makefile 9 Sep 2003 02:30:15 -0000 1.234 ++++ glibc/Makefile 12 Oct 2003 23:24:08 -0000 +@@ -232,6 +232,7 @@ tests: $(objpfx)c++-types-check.out + ifneq ($(CXX),no) + ifneq (,$(wildcard scripts/data/c++-types-$(base-machine)-$(config-os).data)) + $(objpfx)c++-types-check.out: scripts/data/c++-types-$(base-machine)-$(config-os).data ++ chmod a+x scripts/check-c++-types.sh + scripts/check-c++-types.sh $^ $(CXX) $(filter-out -std=gnu99,$(CFLAGS)) $(CPPFLAGS) > $@ + else + $(objpfx)c++-types-check.out: --- glibc-2.3.6.orig/debian/patches/glibc234-hppa-linesep.dpatch +++ glibc-2.3.6/debian/patches/glibc234-hppa-linesep.dpatch @@ -0,0 +1,61 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Fix ASM_LINE_SEP on hppa +# DP: Related bugs: +# DP: Dpatch author: GOTO Masanori +# DP: Patch author: GOTO Masanori +# DP: Upstream status: In CVS +# DP: Status Details: +# DP: Date: 2005-03-08 + +PATCHLEVEL=0 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +2005-03-08 GOTO Masanori + + * sysdeps/hppa/configure.in: Remove old Makefile leavings. + * sysdeps/hppa/configure: Regenerated. + +Index: sysdeps/hppa/configure.in +=================================================================== +RCS file: /cvs/glibc/libc/sysdeps/hppa/configure.in,v +retrieving revision 1.1 +diff -u -p -r1.1 configure.in +--- sysdeps/hppa/configure.in 26 Oct 2004 01:35:53 -0000 1.1 ++++ sysdeps/hppa/configure.in 8 Mar 2005 04:29:14 -0000 +@@ -2,7 +2,6 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the + + dnl The standard hppa assembler uses `;' to start comments and `!' + dnl as a line separator. +-hppa*linux*) + AC_CACHE_CHECK(for assembler line separator, + libc_cv_asm_line_sep, [dnl + cat > conftest.s <&5 + echo $ECHO_N "checking for assembler line separator... $ECHO_C" >&6 + if test "${libc_cv_asm_line_sep+set}" = set; then --- glibc-2.3.6.orig/debian/patches/local-all-ldd.dpatch +++ glibc-2.3.6/debian/patches/local-all-ldd.dpatch @@ -0,0 +1,64 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Make ldd handle non-executable shared objects +# DP: +# DP: Updated by gotom, it's nice to merge to the upstream after my review. +# Date: (Updated 2004-01-02 gotom) + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +Index: elf/ldd.bash.in +=================================================================== +RCS file: /cvs/glibc/libc/elf/ldd.bash.in,v +retrieving revision 1.33 +diff -u -r1.33 ldd.bash.in +--- elf/ldd.bash.in 8 Dec 2004 22:08:47 -0000 1.33 ++++ elf/ldd.bash.in 2 Jan 2005 09:03:01 -0000 +@@ -31,6 +31,7 @@ + warn= + bind_now= + verbose= ++filename_magic_regex="((^|/)lib|.so$)" + + while test $# -gt 0; do + case "$1" in +@@ -148,8 +149,11 @@ + echo "ldd: ${file}:" $"No such file or directory" >&2 + result=1 + elif test -r "$file"; then +- test -x "$file" || echo 'ldd:' $"\ +-warning: you do not have execution permission for" "\`$file'" >&2 ++ if test ! -x "$file" && eval echo "$file" \ ++ | egrep -v "$filename_magic_regex" > /dev/null; then ++ echo 'ldd:' $"warning: you do not have execution permission for"\ ++ "\`$file'" >&2 ++ fi + RTLD= + for rtld in ${RTLDLIST}; do + if test -x $rtld; then +@@ -171,7 +175,12 @@ + # If the program exits with exit code 5, it means the process has been + # invoked with __libc_enable_secure. Fall back to running it through + # the dynamic linker. +- try_trace "$file" ++ if [ ! -x "$file" ] && eval file -L "$file" 2>/dev/null \ ++ | sed 10q | egrep "$file_magic_regex" > /dev/null; then ++ try_trace "${RTLD}" "$file" ++ else ++ try_trace "$file" ++ fi + rc=$? + if [ $rc = 5 ]; then + try_trace "$RTLD" "$file" --- glibc-2.3.6.orig/debian/patches/local-all-versioncheck.dpatch +++ glibc-2.3.6/debian/patches/local-all-versioncheck.dpatch @@ -0,0 +1,41 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Only parse three parts of a kernel version number. +# DP: Related bugs: 218546 +# DP: Author: Daniel Jacobowitz +# DP: Upstream status: Debian-specic +# DP: Status details: Rejected by Ulrich, needed for Debian. +# DP: http://sources.redhat.com/ml/libc-alpha/2003-11/msg00025.html +# DP: Date: 2003-11-01 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +2003-11-01 Daniel Jacobowitz + + * sysdeps/unix/sysv/linux/dl-osinfo.h (DL_SYSDEP_OSCHECK): Don't + parse more than three parts of the version number. + +--- glibc-2.3.2/sysdeps/unix/sysv/linux/dl-osinfo.h.orig 2003-11-01 14:20:45.000000000 -0500 ++++ glibc-2.3.2/sysdeps/unix/sysv/linux/dl-osinfo.h 2003-11-01 14:21:32.000000000 -0500 +@@ -91,7 +91,7 @@ + version <<= 8; \ + version |= here; \ + \ +- if (*cp++ != '.') \ ++ if (*cp++ != '.' || parts == 3) \ + /* Another part following? */ \ + break; \ + } \ --- glibc-2.3.6.orig/debian/patches/translation-fr.dpatch +++ glibc-2.3.6/debian/patches/translation-fr.dpatch @@ -0,0 +1,47 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Correct typo in french translation +# DP: Related bugs: #243183 +# DP: Dpatch author: Petter Reinholdtsen +# DP: Patch author: Petter Reinholdtsen based on input from Sam Hocevar +# DP: Upstream status: Sent 20040418 to translator team +# DP: Status Details: Unknown +# DP: Date: 2004-04-18 + +PATCHLEVEL=1 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +--- glibc-2.3.2/po/fr.po.orig Sat Apr 17 23:39:07 2004 ++++ glibc-2.3.2/po/fr.po Sat Apr 17 23:39:23 2004 +@@ -940,7 +940,7 @@ + + #: locale/programs/ld-ctype.c:758 + msgid "no input digits defined and none of the standard names in the charmap" +-msgstr "Pas de chiffre défini et aucun des noms standards dans la table des caractères" ++msgstr "Pas de chiffre défini et aucun des noms standard dans la table des caractères" + + #: locale/programs/ld-ctype.c:823 + msgid "not all characters used in `outdigit' are available in the charmap" +@@ -1084,7 +1084,7 @@ + + #: locale/programs/ld-ctype.c:3464 + msgid "no output digits defined and none of the standard names in the charmap" +-msgstr "Pas de chiffre défini et aucun des noms standards dans la table des caractères" ++msgstr "Pas de chiffre défini et aucun des noms standard dans la table des caractères" + + #: locale/programs/ld-ctype.c:3755 + #, c-format --- glibc-2.3.6.orig/debian/patches/glibc23-errno-hack.dpatch +++ glibc-2.3.6/debian/patches/glibc23-errno-hack.dpatch @@ -0,0 +1,81 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Force non-NPTL libraries (and warn) for binaries which access errno +# DP: Author: (?) Someone at Red Hat +# DP: Upstream status: Debian-Specific +# DP: Status Details: This patch should be removed, probably after sarge. +# DP: Date: 2003-11-02 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +--- glibc-2.3.2/elf/rtld.c.orig 2003-11-02 16:12:36.000000000 -0500 ++++ glibc-2.3.2/elf/rtld.c 2003-11-02 16:24:43.000000000 -0500 +@@ -966,6 +966,55 @@ of this helper program; chances are you + GL(dl_rtld_map).l_prev = GL(dl_loaded); + ++GL(dl_nloaded); + ++#if defined(__linux__) && defined(__i386__) ++ /* Debian note: this code imported from Red Hat. */ ++ /* Force non-TLS libraries for glibc 2.0 binaries ++ or if a buggy binary references non-TLS errno or h_errno. */ ++ if (__builtin_expect (GL(dl_loaded)->l_info[DT_NUM ++ + DT_THISPROCNUM ++ + DT_VERSIONTAGIDX (DT_VERNEED)] ++ == NULL, 0) ++ && GL(dl_loaded)->l_info[DT_DEBUG]) ++ GL(dl_osversion) = 0x20401; ++ else if ((__builtin_expect (mode, normal) != normal ++ || GL(dl_loaded)->l_info [ADDRIDX (DT_GNU_LIBLIST)] == NULL) ++ /* Only binaries have DT_DEBUG dynamic tags... */ ++ && GL(dl_loaded)->l_info[DT_DEBUG]) ++ { ++ /* Workaround for buggy binaries. This doesn't handle buggy ++ libraries. */ ++ bool buggy = false; ++ const ElfW(Sym) *symtab = (const void *) D_PTR (GL(dl_loaded), l_info[DT_SYMTAB]); ++ const char *strtab = (const void *) D_PTR (GL(dl_loaded), l_info[DT_STRTAB]); ++ Elf_Symndx symidx; ++ for (symidx = GL(dl_loaded)->l_buckets[0x6c994f % GL(dl_loaded)->l_nbuckets]; ++ !buggy && symidx != STN_UNDEF; ++ symidx = GL(dl_loaded)->l_chain[symidx]) ++ { ++ if (__builtin_expect (strcmp (strtab + symtab[symidx].st_name, ++ "errno") == 0, 0) ++ && ELFW(ST_TYPE) (symtab[symidx].st_info) != STT_TLS) ++ buggy = true; ++ } ++ for (symidx = GL(dl_loaded)->l_buckets[0xe5c992f % GL(dl_loaded)->l_nbuckets]; ++ !buggy && symidx != STN_UNDEF; ++ symidx = GL(dl_loaded)->l_chain[symidx]) ++ { ++ if (__builtin_expect (strcmp (strtab + symtab[symidx].st_name, ++ "h_errno") == 0, 0) ++ && ELFW(ST_TYPE) (symtab[symidx].st_info) != STT_TLS) ++ buggy = true; ++ } ++ if (__builtin_expect (buggy, false)) ++ { ++ if (GL(dl_osversion) > 0x20401) ++ GL(dl_osversion) = 0x20401; ++ if (0) _dl_error_printf ("ld.so: Incorrectly built binary which accesses errno or h_errno directly.\n" ++ "ld.so: See /usr/share/doc/libc6/FAQ.gz.\n"); ++ } ++ } ++#endif ++ + /* Set up the program header information for the dynamic linker + itself. It is needed in the dl_iterate_phdr() callbacks. */ + ElfW(Ehdr) *rtld_ehdr = (ElfW(Ehdr) *) GL(dl_rtld_map).l_map_start; --- glibc-2.3.6.orig/debian/patches/locales-supported.dpatch +++ glibc-2.3.6/debian/patches/locales-supported.dpatch @@ -0,0 +1,177 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: This dpatch addes many locales especially for UTF-8 and +# DP: ISO-8859-15, to display debconf locale menu using +# DP: SUPPORTED.orig. This dpatch is based on RedHat cygnus-to- +# DP: redhat patch. +# DP: Author: GOTO Masanori +# DP: Upstream status: Debian/RedHat-Specific +# DP: Status Details: Severely reduced because many of these locales +# are now in upstream. - jbailey 2003-03-23 +# DP: Date: 2003-02-09, Update 2004-07-21 for #246170 - gotom + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +--- localedata/SUPPORTED~ 2004-07-21 09:25:57.000000000 +0900 ++++ localedata/SUPPORTED 2004-07-21 09:26:34.000000000 +0900 +@@ -56,6 +56,7 @@ + bs_BA/ISO-8859-2 \ + byn_ER/UTF-8 \ + ca_ES.UTF-8/UTF-8 \ ++ca_ES.UTF-8@euro/UTF-8 \ + ca_ES/ISO-8859-1 \ + ca_ES@euro/ISO-8859-15 \ + cs_CZ.UTF-8/UTF-8 \ +@@ -64,18 +65,23 @@ + cy_GB/ISO-8859-14 \ + da_DK.UTF-8/UTF-8 \ + da_DK/ISO-8859-1 \ ++da_DK.ISO-8859-15/ISO-8859-15 \ + de_AT.UTF-8/UTF-8 \ ++de_AT.UTF-8@euro/UTF-8 \ + de_AT/ISO-8859-1 \ + de_AT@euro/ISO-8859-15 \ + de_BE.UTF-8/UTF-8 \ ++de_BE.UTF-8@euro/UTF-8 \ + de_BE/ISO-8859-1 \ + de_BE@euro/ISO-8859-15 \ + de_CH.UTF-8/UTF-8 \ + de_CH/ISO-8859-1 \ + de_DE.UTF-8/UTF-8 \ ++de_DE.UTF-8@euro/UTF-8 \ + de_DE/ISO-8859-1 \ + de_DE@euro/ISO-8859-15 \ + de_LU.UTF-8/UTF-8 \ ++de_LU.UTF-8@euro/UTF-8 \ + de_LU/ISO-8859-1 \ + de_LU@euro/ISO-8859-15 \ + el_GR.UTF-8/UTF-8 \ +@@ -90,9 +96,11 @@ + en_DK/ISO-8859-1 \ + en_GB.UTF-8/UTF-8 \ + en_GB/ISO-8859-1 \ ++en_GB.ISO-8859-15/ISO-8859-15 \ + en_HK.UTF-8/UTF-8 \ + en_HK/ISO-8859-1 \ + en_IE.UTF-8/UTF-8 \ ++en_IE.UTF-8@euro/UTF-8 \ + en_IE/ISO-8859-1 \ + en_IE@euro/ISO-8859-15 \ + en_IN/UTF-8 \ +@@ -104,6 +112,7 @@ + en_SG/ISO-8859-1 \ + en_US.UTF-8/UTF-8 \ + en_US/ISO-8859-1 \ ++en_US.ISO-8859-15/ISO-8859-15 \ + en_ZA.UTF-8/UTF-8 \ + en_ZA/ISO-8859-1 \ + en_ZW.UTF-8/UTF-8 \ +@@ -123,6 +132,7 @@ + es_EC.UTF-8/UTF-8 \ + es_EC/ISO-8859-1 \ + es_ES.UTF-8/UTF-8 \ ++es_ES.UTF-8@euro/UTF-8 \ + es_ES/ISO-8859-1 \ + es_ES@euro/ISO-8859-15 \ + es_GT.UTF-8/UTF-8 \ +@@ -152,15 +162,18 @@ + et_EE.UTF-8/UTF-8 \ + et_EE/ISO-8859-1 \ + eu_ES.UTF-8/UTF-8 \ ++eu_ES.UTF-8@euro/UTF-8 \ + eu_ES/ISO-8859-1 \ + eu_ES@euro/ISO-8859-15 \ + fa_IR/UTF-8 \ + fi_FI.UTF-8/UTF-8 \ ++fi_FI.UTF-8@euro/UTF-8 \ + fi_FI/ISO-8859-1 \ + fi_FI@euro/ISO-8859-15 \ + fo_FO.UTF-8/UTF-8 \ + fo_FO/ISO-8859-1 \ + fr_BE.UTF-8/UTF-8 \ ++fr_BE.UTF-8@euro/UTF-8 \ + fr_BE/ISO-8859-1 \ + fr_BE@euro/ISO-8859-15 \ + fr_CA.UTF-8/UTF-8 \ +@@ -168,12 +181,15 @@ + fr_CH.UTF-8/UTF-8 \ + fr_CH/ISO-8859-1 \ + fr_FR.UTF-8/UTF-8 \ ++fr_FR.UTF-8@euro/UTF-8 \ + fr_FR/ISO-8859-1 \ + fr_FR@euro/ISO-8859-15 \ + fr_LU.UTF-8/UTF-8 \ ++fr_LU.UTF-8@euro/UTF-8 \ + fr_LU/ISO-8859-1 \ + fr_LU@euro/ISO-8859-15 \ + ga_IE.UTF-8/UTF-8 \ ++ga_IE.UTF-8@euro/UTF-8 \ + ga_IE/ISO-8859-1 \ + ga_IE@euro/ISO-8859-15 \ + gd_GB/ISO-8859-15 \ +@@ -182,6 +198,7 @@ + gez_ET/UTF-8 \ + gez_ET@abegede/UTF-8 \ + gl_ES.UTF-8/UTF-8 \ ++gl_ES.UTF-8@euro/UTF-8 \ + gl_ES/ISO-8859-1 \ + gl_ES@euro/ISO-8859-15 \ + gu_IN/UTF-8 \ +@@ -201,6 +218,7 @@ + it_CH.UTF-8/UTF-8 \ + it_CH/ISO-8859-1 \ + it_IT.UTF-8/UTF-8 \ ++it_IT.UTF-8@euro/UTF-8 \ + it_IT/ISO-8859-1 \ + it_IT@euro/ISO-8859-15 \ + iw_IL.UTF-8/UTF-8 \ +@@ -233,11 +251,15 @@ + mt_MT/ISO-8859-3 \ + nb_NO.UTF-8/UTF-8 \ + nb_NO/ISO-8859-1 \ ++no_NO.UTF-8/UTF-8 \ ++no_NO/ISO-8859-1 \ + ne_NP/UTF-8 \ + nl_BE.UTF-8/UTF-8 \ ++nl_BE.UTF-8@euro/UTF-8 \ + nl_BE/ISO-8859-1 \ + nl_BE@euro/ISO-8859-15 \ + nl_NL.UTF-8/UTF-8 \ ++nl_NL.UTF-8@euro/UTF-8 \ + nl_NL/ISO-8859-1 \ + nl_NL@euro/ISO-8859-15 \ + nn_NO.UTF-8/UTF-8 \ +@@ -251,6 +273,7 @@ + pt_BR.UTF-8/UTF-8 \ + pt_BR/ISO-8859-1 \ + pt_PT.UTF-8/UTF-8 \ ++pt_PT.UTF-8@euro/UTF-8 \ + pt_PT/ISO-8859-1 \ + pt_PT@euro/ISO-8859-15 \ + ro_RO.UTF-8/UTF-8 \ +@@ -279,10 +302,12 @@ + st_ZA.UTF-8/UTF-8 \ + st_ZA/ISO-8859-1 \ + sv_FI.UTF-8/UTF-8 \ ++sv_FI.UTF-8@euro/UTF-8 \ + sv_FI/ISO-8859-1 \ + sv_FI@euro/ISO-8859-15 \ + sv_SE.UTF-8/UTF-8 \ + sv_SE/ISO-8859-1 \ ++sv_SE.ISO-8859-15/ISO-8859-15 \ + ta_IN/UTF-8 \ + te_IN/UTF-8 \ + tg_TJ/KOI8-T \ --- glibc-2.3.6.orig/debian/patches/arm-ioperm.dpatch +++ glibc-2.3.6/debian/patches/arm-ioperm.dpatch @@ -0,0 +1,31 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: fix ioperm build error on arm + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- sysdeps/unix/sysv/linux/arm/ioperm.c 20 Feb 2003 22:22:35 -0000 1.6 ++++ sysdeps/unix/sysv/linux/arm/ioperm.c 24 Oct 2003 20:59:38 -0000 +@@ -100,8 +105,8 @@ + { + char systype[256]; + int i, n; +- static int iobase_name[] = { CTL_BUS, BUS_ISA, BUS_ISA_PORT_BASE }; +- static int ioshift_name[] = { CTL_BUS, BUS_ISA, BUS_ISA_PORT_SHIFT }; ++ static int iobase_name[] = { CTL_BUS, CTL_BUS_ISA, BUS_ISA_PORT_BASE }; ++ static int ioshift_name[] = { CTL_BUS, CTL_BUS_ISA, BUS_ISA_PORT_SHIFT }; + size_t len = sizeof(io.base); + + if (! sysctl (iobase_name, 3, &io.io_base, &len, NULL, 0) --- glibc-2.3.6.orig/debian/patches/glibc23-errno.dpatch +++ glibc-2.3.6/debian/patches/glibc23-errno.dpatch @@ -0,0 +1,68 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Un-hide errno +# DP: Author: Daniel Jacobowitz +# DP: Upstream status: Not submitted +# DP: Status Details: This patch makes errno re-available at link time. +# DP: The right solution is to make it only available at run time without +# DP: re-breaking old applications. +# DP: This patch should not be considered permanent; see libc-alpa +# DP: archives for 12/23/2002 for a better alternative (not implemented +# DP: yet) +# DP: Date: Dec 24, 2002 +# DP: Updated: Jan 2, 2003 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +diff -ur glibc-2.3.1.bak/inet/herrno.c glibc-2.3.1/inet/herrno.c +--- glibc-2.3.1.bak/inet/herrno.c 2003-01-02 10:54:16.000000000 -0500 ++++ glibc-2.3.1/inet/herrno.c 2003-01-02 10:55:25.000000000 -0500 +@@ -38,8 +38,8 @@ + visible at link time. Programs must use the accessor functions. */ + # if defined HAVE_ELF && defined SHARED && defined DO_VERSIONING + # include +-compat_symbol (libc, h_errno, h_errno, GLIBC_2_0); +-compat_symbol (libc, _h_errno, _h_errno, GLIBC_2_0); ++// compat_symbol (libc, h_errno, h_errno, GLIBC_2_0); ++// compat_symbol (libc, _h_errno, _h_errno, GLIBC_2_0); + # endif + #endif + +diff -ur glibc-2.3.1.bak/resolv/res_libc.c glibc-2.3.1/resolv/res_libc.c +--- glibc-2.3.1.bak/resolv/res_libc.c 2003-01-02 10:54:16.000000000 -0500 ++++ glibc-2.3.1/resolv/res_libc.c 2003-01-02 10:54:45.000000000 -0500 +@@ -87,7 +87,7 @@ + visible at link time. Programs must use the accessor functions. */ + #if defined HAVE_ELF && defined SHARED && defined DO_VERSIONING + # include +-compat_symbol (libc, _res, _res, GLIBC_2_0); ++// compat_symbol (libc, _res, _res, GLIBC_2_0); + #endif + + #include +diff -ur glibc-2.3.1.bak/sysdeps/generic/errno.c glibc-2.3.1/sysdeps/generic/errno.c +--- glibc-2.3.1.bak/sysdeps/generic/errno.c 2003-01-02 10:54:16.000000000 -0500 ++++ glibc-2.3.1/sysdeps/generic/errno.c 2003-01-02 10:55:16.000000000 -0500 +@@ -36,7 +36,7 @@ + visible at link time. Programs must use the accessor functions. */ + # if defined HAVE_ELF && defined SHARED && defined DO_VERSIONING + # include +-compat_symbol (libc, errno, errno, GLIBC_2_0); +-compat_symbol (libc, _errno, _errno, GLIBC_2_0); ++// compat_symbol (libc, errno, errno, GLIBC_2_0); ++// compat_symbol (libc, _errno, _errno, GLIBC_2_0); + # endif + #endif --- glibc-2.3.6.orig/debian/patches/libgcc-compat-all.dpatch +++ glibc-2.3.6/debian/patches/libgcc-compat-all.dpatch @@ -0,0 +1,487 @@ +#! /bin/sh -e + +# DP: Description: libgcc-compat symbols for mips, sparc, alpha, & i386 +# DP: Author: Guido Guenther +# DP: Upstream status: Not submitted +# DP: Date: 2002-10-13, updated 2003-03-01, updated 2003-03-23 by gotom + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- sysdeps/mips/Makefile.orig Sun Oct 13 14:45:56 2002 ++++ sysdeps/mips/Makefile Sun Oct 13 14:51:20 2002 +@@ -6,3 +6,11 @@ + ifeq ($(subdir),setjmp) + sysdep_routines += setjmp_aux + endif ++ ++ifeq ($(subdir),csu) ++ifeq (yes,$(build-shared)) ++# Compatibility ++sysdep_routines += libgcc-compat ++shared-only-routines += libgcc-compat ++endif ++endif +--- sysdeps/mips/Dist.orig Sun Oct 13 15:07:31 2002 ++++ sysdeps/mips/Dist Sun Oct 13 15:07:41 2002 +@@ -1,3 +1,4 @@ ++libgcc-compat.c + setjmp_aux.c + regdef.h + sgidefs.h +--- /dev/null Sat Mar 16 18:32:44 2002 ++++ sysdeps/mips/libgcc-compat.c Sun Oct 20 17:11:59 2002 +@@ -0,0 +1,66 @@ ++/* pre-.hidden libgcc compatibility ++ Copyright (C) 2002 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ Contributed by Guido Guenther ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++ ++#include ++#include ++ ++#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6) ++ ++extern int32_t __cmpdi2 (int64_t, int64_t); ++int32_t __cmpdi2_internal (int64_t u, int64_t v) ++{ ++ return __cmpdi2 (u, v); ++} ++symbol_version (__cmpdi2_internal, __cmpdi2, GLIBC_2.0); ++ ++ ++extern int32_t __ucmpdi2 (int64_t, int64_t); ++int32_t __ucmpdi2_internal (int64_t u, int64_t v) ++{ ++ return __ucmpdi2 (u, v); ++} ++symbol_version (__ucmpdi2_internal, __ucmpdi2, GLIBC_2.0); ++ ++ ++extern int64_t __fixdfdi (double); ++int64_t __fixdfdi_internal (double d) ++{ ++ return __fixdfdi (d); ++} ++symbol_version (__fixdfdi_internal, __fixdfdi, GLIBC_2.0); ++ ++ ++extern double __floatdidf (int64_t); ++double __floatdidf_internal (int64_t u) ++{ ++ return __floatdidf (u); ++} ++symbol_version (__floatdidf_internal, __floatdidf, GLIBC_2.0); ++ ++ ++extern float floatdisf (int64_t); ++float __floatdisf_internal (int64_t u) ++{ ++ return __floatdisf (u); ++} ++symbol_version (__floatdisf_internal, __floatdisf, GLIBC_2.0); ++ ++#endif +--- /dev/null Sat Mar 16 18:32:44 2002 ++++ sysdeps/mips/Versions Sun Oct 20 17:12:00 2002 +@@ -0,0 +1,8 @@ ++libc { ++ GLIBC_2.0 { ++ # Functions from libgcc. ++ __cmpdi2; __ucmpdi2; ++ __divdi3; __moddi3; __udivdi3; __umoddi3; ++ __fixdfdi; __floatdidf; __floatdisf; ++ } ++} +--- /dev/null Sat Mar 16 18:32:44 2002 ++++ sysdeps/i386/libgcc-compat.c Sun Feb 16 01:43:47 2003 +@@ -0,0 +1,75 @@ ++/* pre-.hidden libgcc compatibility ++ Copyright (C) 2002 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ Contributed by Guido Guenther ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++ ++#include ++#include ++ ++#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6) ++ ++extern int32_t __cmpdi2 (int64_t, int64_t); ++int32_t __cmpdi2_internal (int64_t u, int64_t v) ++{ ++ return __cmpdi2 (u, v); ++} ++symbol_version (__cmpdi2_internal, __cmpdi2, GLIBC_2.0); ++ ++ ++extern int32_t __ucmpdi2 (int64_t, int64_t); ++int32_t __ucmpdi2_internal (int64_t u, int64_t v) ++{ ++ return __ucmpdi2 (u, v); ++} ++symbol_version (__ucmpdi2_internal, __ucmpdi2, GLIBC_2.0); ++ ++ ++extern int64_t __fixunsdfdi (double); ++int64_t __fixunsdfdi_internal (double d) ++{ ++ return __fixunsdfdi (d); ++} ++symbol_version (__fixunsdfdi_internal, __fixunsdfdi, GLIBC_2.0); ++ ++extern int64_t __fixunssfdi (float); ++int64_t __fixunssfdi_internal (float d) ++{ ++ return __fixunssfdi (d); ++} ++ ++symbol_version (__fixunsfdi_internal, __fixunsfdi, GLIBC_2.0); ++ ++typedef float XFtype __attribute__ ((mode (XF))); ++ ++extern int64_t __fixunsxfdi (XFtype); ++int64_t __fixunsxfdi_internal (XFtype d) ++{ ++ return __fixunsxfdi (d); ++} ++ ++symbol_version (__fixunsxfdi_internal, __fixunsxfdi, GLIBC_2.0); ++ ++extern double __floatdidf (int64_t); ++double __floatdidf_internal (int64_t u) ++{ ++ return __floatdidf (u); ++} ++symbol_version (__floatdidf_internal, __floatdidf, GLIBC_2.0); ++ ++#endif +Index: sysdeps/i386/Makefile +=================================================================== +RCS file: /cvs/glibc/libc/sysdeps/i386/Makefile,v +retrieving revision 1.14 +diff -u -u -r1.14 Makefile +--- sysdeps/i386/Makefile 19 Sep 2002 06:46:06 -0000 1.14 ++++ sysdeps/i386/Makefile 16 Feb 2003 11:33:41 -0000 +@@ -20,3 +20,11 @@ + CFLAGS-dl-load.c += -Wno-unused + CFLAGS-dl-reloc.c += -Wno-unused + endif ++ ++ifeq ($(subdir),csu) ++ifeq (yes,$(build-shared)) ++# Compatibility ++sysdep_routines += libgcc-compat ++shared-only-routines += libgcc-compat ++endif ++endif +Index: sysdeps/i386/Dist +=================================================================== +RCS file: /cvs/glibc/libc/sysdeps/i386/Dist,v +retrieving revision 1.4 +diff -u -u -r1.4 Dist +--- sysdeps/i386/Dist 28 Aug 2002 08:24:48 -0000 1.4 ++++ sysdeps/i386/Dist 16 Feb 2003 11:33:47 -0000 +@@ -2,3 +2,4 @@ + machine-gmon.h + bp-asm.h + bits/link.h ++libgcc-compat.c +Index: sysdeps/i386/Versions +=================================================================== +RCS file: /cvs/glibc/libc/sysdeps/i386/Versions,v +retrieving revision 1.3 +diff -u -u -r1.3 Versions +--- sysdeps/i386/Versions 17 May 1999 17:23:56 -0000 1.3 ++++ sysdeps/i386/Versions 16 Feb 2003 11:34:17 -0000 +@@ -2,6 +2,9 @@ + GLIBC_2.0 { + # Functions from libgcc. + __divdi3; __moddi3; __udivdi3; __umoddi3; ++ __cmpdi2; __ucmpdi2; ++ __fixunsdfdi; __fixunssfdi; __fixunsxfdi; ++ __floatdidf; + } + GLIBC_2.1 { + # global variable +--- /dev/null Sat Mar 16 18:32:44 2002 ++++ sysdeps/sparc/sparc32/libgcc-compat.c Fri Feb 7 00:29:23 2003 +@@ -0,0 +1,121 @@ ++/* pre-.hidden libgcc compatibility ++ Copyright (C) 2002 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ Contributed by Guido Guenther ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++ ++#include ++#include ++ ++#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6) ++ ++extern int64_t __ashldi3 (int64_t, int32_t); ++int64_t __ashldi3_internal (int64_t u, int32_t b) ++{ ++ return __ashldi3 (u, b); ++} ++symbol_version (__ashldi3_internal, __ashldi3, GLIBC_2.0); ++ ++ ++extern int64_t __ashrdi3 (int64_t, int32_t); ++int64_t __ashrdi3_internal (int64_t u, int32_t b) ++{ ++ return __ashrdi3 (u, b); ++} ++symbol_version (__ashrdi3_internal, __ashrdi3, GLIBC_2.0); ++ ++ ++extern int64_t __lshrdi3 (int64_t, int32_t); ++int64_t __lshrdi3_internal (int64_t u, int32_t b) ++{ ++ return __lshrdi3 (u, b); ++} ++symbol_version (__lshrdi3_internal, __lshrdi3, GLIBC_2.0); ++ ++extern int32_t __cmpdi2 (int64_t, int64_t); ++int32_t __cmpdi2_internal (int64_t u, int64_t v) ++{ ++ return __cmpdi2 (u, v); ++} ++symbol_version (__cmpdi2_internal, __cmpdi2, GLIBC_2.0); ++ ++ ++extern int32_t __ucmpdi2 (int64_t, int64_t); ++int32_t __ucmpdi2_internal (int64_t u, int64_t v) ++{ ++ return __ucmpdi2 (u, v); ++} ++symbol_version (__ucmpdi2_internal, __ucmpdi2, GLIBC_2.0); ++ ++ ++extern int64_t __fixdfdi (double); ++int64_t __fixdfdi_internal (double d) ++{ ++ return __fixdfdi (d); ++} ++symbol_version (__fixdfdi_internal, __fixdfdi, GLIBC_2.0); ++ ++ ++extern int64_t __fixsfdi (float); ++int64_t __fixsfdi_internal (float d) ++{ ++ return __fixsfdi (d); ++} ++symbol_version (__fixsfdi_internal, __fixsfdi, GLIBC_2.0); ++ ++ ++extern int64_t __fixunsdfdi (double); ++int64_t __fixunsdfdi_internal (double d) ++{ ++ return __fixunsdfdi (d); ++} ++symbol_version (__fixunsdfdi_internal, __fixunsdfdi, GLIBC_2.0); ++ ++extern int64_t __fixunssfdi (float); ++int64_t __fixunssfdi_internal (float d) ++{ ++ return __fixunssfdi (d); ++} ++ ++symbol_version (__fixunssfdi_internal, __fixunssfdi, GLIBC_2.0); ++ ++ ++extern double __floatdidf (int64_t); ++double __floatdidf_internal (int64_t u) ++{ ++ return __floatdidf (u); ++} ++symbol_version (__floatdidf_internal, __floatdidf, GLIBC_2.0); ++ ++ ++extern float floatdisf (int64_t); ++float __floatdisf_internal (int64_t u) ++{ ++ return __floatdisf (u); ++} ++symbol_version (__floatdisf_internal, __floatdisf, GLIBC_2.0); ++ ++ ++extern int64_t __muldi3 (int64_t, int64_t); ++int64_t __muldi3_internal (int64_t u, int64_t v) ++{ ++ return __muldi3 (u, v); ++} ++symbol_version (__muldi3_internal, __muldi3, GLIBC_2.0); ++ ++#endif +--- sysdeps/sparc/sparc32/Makefile 6 Jul 2001 04:56:04 -0000 1.5 ++++ sysdeps/sparc/sparc32/Makefile 6 Feb 2003 23:32:15 -0000 +@@ -20,6 +20,14 @@ + sysdep_routines = dotmul umul $(divrem) alloca + endif # gnulib + ++ifeq ($(subdir),csu) ++ifeq (yes,$(build-shared)) ++# Compatibility ++sysdep_routines += libgcc-compat ++shared-only-routines += libgcc-compat ++endif ++endif ++ + # We distribute these files, even though they are generated, + # so as to avoid the need for a functioning m4 to build the library. + divrem := sdiv udiv rem urem +Index: sysdeps/sparc/sparc32/Dist +=================================================================== +RCS file: /cvs/glibc/libc/sysdeps/sparc/sparc32/Dist,v +retrieving revision 1.4 +diff -u -u -r1.4 Dist +--- sysdeps/sparc/sparc32/Dist 9 Oct 2000 00:39:58 -0000 1.4 ++++ sysdeps/sparc/sparc32/Dist 6 Feb 2003 23:51:09 -0000 +@@ -7,3 +7,4 @@ + urem.S + alloca.S + ieee754.h ++libgcc-compat.c +--- sysdeps/sparc/sparc32/Versions.orig 2003-02-07 07:46:20.000000000 -0500 ++++ sysdeps/sparc/sparc32/Versions 2003-02-07 07:46:58.000000000 -0500 +@@ -1,5 +1,9 @@ + libc { + GLIBC_2.0 { + .div; .mul; .rem; .udiv; .umul; .urem; ++ __divdi3; __moddi3; __udivdi3; __umoddi3; __muldi3; ++ __ashldi3; __ashrdi3; __lshrdi3; __cmpdi2; __ucmpdi2; ++ __fixdfdi; __fixsfdi; __fixunsdfdi; __fixunssfdi; ++ __floatdidf; __floatdisf; + } + } + GLIBC_2.1 { + # global variable +--- /dev/null Sat Mar 16 18:32:44 2002 ++++ sysdeps/alpha/libgcc-compat.c Sat Mar 1 21:19:36 2003 +@@ -0,0 +1,35 @@ ++/* pre-.hidden libgcc compatibility ++ Copyright (C) 2002 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ Contributed by Guido Guenther ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include ++#include ++ ++#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6) ++ ++typedef int int128_t __attribute__((__mode__(TI))); ++ ++extern int128_t __multi3 (int128_t, int128_t); ++int128_t INTUSE (__multi3) (int128_t x, int128_t y) ++{ ++ return __multi3 (x, y); ++} ++symbol_version (INTUSE (__multi3), __multi3, GLIBC_2.0); ++ ++#endif +Index: sysdeps/alpha/Versions +=================================================================== +RCS file: /cvs/glibc/libc/sysdeps/alpha/Versions,v +retrieving revision 1.2 +diff -u -u -r1.2 Versions +--- sysdeps/alpha/Versions 20 Jan 1999 09:23:32 -0000 1.2 ++++ sysdeps/alpha/Versions 1 Mar 2003 21:11:25 -0000 +@@ -3,6 +3,8 @@ + # functions with special/multiple interfaces + __divqu; __remqu; __divqs; __remqs; __divlu; __remlu; __divls; + __remls; __divl; __reml; __divq; __remq; __divqu; __remqu; ++ # libgcc-compat ++ __multi3; + } + } + libm { +Index: sysdeps/alpha/Makefile +=================================================================== +RCS file: /cvs/glibc/libc/sysdeps/alpha/Makefile,v +retrieving revision 1.18 +diff -u -u -r1.18 Makefile +--- sysdeps/alpha/Makefile 29 Jan 2002 03:53:32 -0000 1.18 ++++ sysdeps/alpha/Makefile 2 Mar 2003 12:20:58 -0000 +@@ -47,3 +47,11 @@ + # libc.so requires about 16k for the small data area, which is well + # below the 64k maximum. + pic-ccflag = -fpic ++ ++ifeq ($(subdir),csu) ++ifeq (yes,$(build-shared)) ++# Compatibility ++sysdep_routines += libgcc-compat ++shared-only-routines += libgcc-compat ++endif ++endif --- glibc-2.3.6.orig/debian/patches/glibc232-globfree-clear.dpatch +++ glibc-2.3.6/debian/patches/glibc232-globfree-clear.dpatch @@ -0,0 +1,43 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Workaround patch to make globfree() clear pglob->gl_pathc +# DP: Related bugs: #264884 +# DP: Dpatch author: Jeff Licquia +# DP: Patch author: Jeff Licquia +# DP: Upstream status: Not submitted +# DP: Status Details: (gotom) I think it's harmless, but I doubt it's sanity. +# It's applied for sarge LFS conformance. +# However my test does not show any problems. Moreover, +# if gl_pathv is not cleared after GLOB_ABORTED under +# gl_pathc == 0, it's glob() bug. +# This patch should be reconsidered to apply after sarge. +# DP: Date: 2004-07-22 + +PATCHLEVEL=1 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +--- glibc-2.3.2-old/sysdeps/generic/glob.c 2004-07-26 17:49:07.000000000 -0400 ++++ glibc-2.3.2/sysdeps/generic/glob.c 2004-07-26 17:51:14.000000000 -0400 +@@ -1105,6 +1105,8 @@ + if (pglob->gl_pathv[pglob->gl_offs + i] != NULL) + free ((__ptr_t) pglob->gl_pathv[pglob->gl_offs + i]); + free ((__ptr_t) pglob->gl_pathv); ++ pglob->gl_pathc = 0; ++ pglob->gl_pathv = NULL; + } + } + #if defined _LIBC && !defined globfree --- glibc-2.3.6.orig/debian/patches/cvs-sparc-datastart.dpatch +++ glibc-2.3.6/debian/patches/cvs-sparc-datastart.dpatch @@ -0,0 +1,58 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Define __data_start on Sparc +# DP: Related bugs: +# DP: Dpatch author: Jeff Bailey +# DP: Patch author: David S. Miller +# DP: Upstream status: In CVS +# DP: Status Details: CVS HEAD +# DP: Date: 2005-06-15 + +PATCHLEVEL=0 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. + +2005-04-17 David S. Miller + + * sysdeps/sparc/sparc32/elf/start.S: Define __data_start. + * sysdeps/sparc/sparc64/elf/start.S: Likewise. + +--- sysdeps/sparc/sparc32/elf/start.S 2005-06-15 16:46:11.000000000 +0000 ++++ sysdeps/sparc/sparc32/elf/start.S 2005-06-15 16:50:11.000000000 +0000 +@@ -92,3 +92,9 @@ + unimp + + .size _start, .-_start ++ ++ /* Define a symbol for the first piece of initialized data. */ ++ .data ++ .globl __data_start ++__data_start: ++weak_alias (__data_start, data_start) +--- sysdeps/sparc/sparc64/elf/start.S 16 Aug 2004 04:51:01 -0000 1.7 ++++ sysdeps/sparc/sparc64/elf/start.S 17 Apr 2005 21:14:45 -0000 +@@ -93,3 +93,9 @@ _start: + illtrap 0 + + .size _start, .-_start ++ ++/* Define a symbol for the first piece of initialized data. */ ++ .data ++ .globl __data_start ++__data_start: ++weak_alias (__data_start, data_start) + --- glibc-2.3.6.orig/debian/patches/mips-asm-unistd.dpatch +++ glibc-2.3.6/debian/patches/mips-asm-unistd.dpatch @@ -0,0 +1,307 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: create correct unistd.h and syscall.h on mips +# DP: Related bugs: 223891 +# DP: Author: Daniel Jacobowitz , Guido Guenther +# DP: Date: 2004-01-19 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +--- glibc-2.3.2/sysdeps/unix/sysv/linux/mips/Makefile.orig 2003-12-11 16:04:24.000000000 -0500 ++++ glibc-2.3.2/sysdeps/unix/sysv/linux/mips/Makefile 2003-12-11 16:18:55.000000000 -0500 +@@ -12,7 +12,7 @@ + # Generate the list of SYS_* macros for the system calls (__NR_* macros). + # We generate not only SYS_, pointing at SYS__ if + # it exists, but also define SYS__ for all ABIs. +-$(objpfx)syscall-%.h $(objpfx)syscall-%.d: ../sysdeps/unix/sysv/linux/mips/sys/syscall.h ++$(objpfx)syscall-list.h $(objpfx)syscall-list.d: $(common-objpfx)asm-unistd.h + $(make-target-directory) + { \ + echo '/* Generated at libc build time from kernel syscall list. */';\ +@@ -21,31 +21,9 @@ + echo '# error "Never use directly; include instead."'; \ + echo '#endif'; \ + echo ''; \ +- rm -f $(@:.d=.h).newt; \ +- $(CC) -E -MD -MP -MF $(@:.h=.d)-t -MT '$(@:.d=.h) $(@:.h=.d)' \ +- -x c -I $(common-objdir) $(sysincludes) $< -D_LIBC -dM | \ +- sed -n 's@^#define __NR_\([^ ]*\) .*$$@#define SYS_\1 __NR_\1@p' \ +- > $(@:.d=.h).newt; \ +- if grep SYS_O32_ $(@:.d=.h).newt > /dev/null; then \ +- echo '#if defined _ABI64 && _MIPS_SIM == _ABI64'; \ +- sed -n 's/^\(#define SYS_\)N64_/\1/p' < $(@:.d=.h).newt; \ +- echo '#elif defined _ABIN32 && _MIPS_SIM == _ABIN32'; \ +- sed -n 's/^\(#define SYS_\)N32_/\1/p' < $(@:.d=.h).newt; \ +- echo '#else'; \ +- sed -n 's/^\(#define SYS_\)O32_/\1/p' < $(@:.d=.h).newt; \ +- echo '#endif'; \ +- sed -n '/^#define SYS_\([ON]32\|N64\)_/p' < $(@:.d=.h).newt; \ +- else \ +- cat $(@:.d=.h).newt; \ +- fi; \ +- rm $(@:.d=.h).newt; \ ++ grep -E '^#.*(MIPS_SIM|__NR|sgidef)' $(common-objpfx)asm-unistd.h \ ++ | sed 's/__NR_/SYS_/g' ; \ + } > $(@:.d=.h).new + mv -f $(@:.d=.h).new $(@:.d=.h) +-ifneq (,$(objpfx)) +- sed $(sed-remove-objpfx) $(@:.h=.d)-t > $(@:.h=.d)-t2 +- rm -f $(@:.h=.d)-t +- mv -f $(@:.h=.d)-t2 $(@:.h=.d) +-else +- mv -f $(@:.h=.d)-t $(@:.h=.d) +-endif ++ echo > $(@:.h=.d) + endif + +--- glibc-2.3.2/sysdeps/unix/sysv/linux/mips/configure.in.orig 2004-01-19 15:50:35.000000000 +0100 ++++ glibc-2.3.2/sysdeps/unix/sysv/linux/mips/configure.in 2004-01-19 15:50:48.000000000 +0100 +@@ -3,7 +3,7 @@ + # Local configure fragment for sysdeps/unix/sysv/linux/mips. + + case $machine in +-mips*64*) ++mips*) + rm -f asm-unistd.h + asm_unistd_h=$sysheaders/asm/unistd.h + if test ! -f $asm_unistd_h; then +@@ -19,57 +19,66 @@ + AC_MSG_WARN([*** asm/unistd.h not found, it will not be pre-processed]) + echo '#include ' > asm-unistd.h + else +- # The point of this preprocessing is to turn __NR_ into +- # __NR_N64_, as well as to define __NR_ to +- # __NR__, if __NR__ is defined +- # and is the compiler-enabled ABI. ++ # There are two versions of this header. The older form defined ++ # __NR_foo, __NR_N32_foo, and __NR_O32_foo. The new form defines ++ # only __NR_foo, but does it based on the current ABI. ++ # We want to have __NR_O32_foo, __NR_N64_foo, and __NR_N32_foo defined ++ # always, and __NR_foo defined conditionally. Only the newer form is ++ # supported. + cat "$asm_unistd_h" | +- sed -e 's,__NR_,__NR_N64_,g' \ +- -e 's,__NR_N64_##,__NR_##,g' \ +- -e 's,__NR_N64_O32_,__NR_O32_,g' \ +- -e 's,__NR_N64_N32_,__NR_N32_,g' \ +- -e 's,__NR_N64_N64_,__NR_N64_,g' \ +- | awk > asm-unistd.h ' +-/^#define __NR.*unused/ { print; next; } +-/^#define __NR_N64__exit __NR_N64_exit/ { +- print "#define __NR__exit __NR_exit"; +- print "#define __NR_O32__exit __NR_O32_exit"; +- print "#define __NR_N32__exit __NR_N32_exit"; ++ awk > asm-unistd.h ' ++BEGIN { print "#include "; } ++/^#if _MIPS_SIM == _MIPS_SIM_ABI32/,/^#endif.*_MIPS_SIM_ABI32/ { ++ if (/^#define __NR_Linux/) { print; next; } ++ if (/^#define __NR_/) { ++ line = $0; ++ gsub (/_NR_/, "_NR_O32_", line); ++ print "#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */"; ++ print ""; ++ print line; ++ print ""; ++ print "#if _MIPS_SIM == _MIPS_SIM_ABI32"; + print; next; ++ } ++ print; next; + } +-/^#define __NR_O32_/ { +- name = $2; +- sub (/_O32_/, "_", name); +- print; +- print "#if _MIPS_SIM == _MIPS_SIM_ABI32"; +- print "# define " name " " $2; +- print "#endif"; +- next; ++/^#if _MIPS_SIM == _MIPS_SIM_NABI32/,/^#endif.*_MIPS_SIM_NABI32/ { ++ if (/^#define __NR_Linux/) { print; next; } ++ if (/^#define __NR_/) { ++ line = $0; ++ gsub (/_NR_/, "_NR_N32_", line); ++ print "#endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */"; ++ print ""; ++ print line; ++ print ""; ++ print "#if _MIPS_SIM == _MIPS_SIM_NABI32"; ++ print; next; ++ } ++ print; next; + } +-/^#define __NR_N32_/ { +- name = $2; +- sub (/_N32_/, "_", name); +- print; +- print "#if defined _ABIN32 && _MIPS_SIM == _ABIN32"; +- print "# define " name " " $2; +- print "#endif"; +- next; ++/^#if _MIPS_SIM == _MIPS_SIM_ABI64/,/^#endif.*_MIPS_SIM_ABI64/ { ++ if (/^#define __NR_Linux/) { print; next; } ++ if (/^#define __NR_/) { ++ line = $0; ++ gsub (/_NR_/, "_NR_N64_", line); ++ print "#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */"; ++ print ""; ++ print line; ++ print ""; ++ print "#if _MIPS_SIM == _MIPS_SIM_ABI64"; ++ print; next; ++ } ++ print; next; + } +-/^#define __NR_N64_/ { +- name = $2; +- sub (/_N64_/, "_", name); ++/^#define __NR_64_/ { ++ line = $0; ++ gsub (/_NR_64_/, "_NR_N64_", line); + print; +- print "#if defined _ABI64 && _MIPS_SIM == _ABI64"; +- print "# define " name " " $2; +- print "#endif"; ++ print line; + next; + } + { + print; + }' + fi ;; +-mips*) +- rm -f asm-unistd.h +- echo '#include ' > asm-unistd.h +- ;; + esac +--- glibc-2.3.2/sysdeps/unix/sysv/linux/mips/configure.orig 2004-01-19 15:50:40.000000000 +0100 ++++ glibc-2.3.2/sysdeps/unix/sysv/linux/mips/configure 2004-01-19 15:50:44.000000000 +0100 +@@ -2,7 +2,7 @@ + # Local configure fragment for sysdeps/unix/sysv/linux/mips. + + case $machine in +-mips*64*) ++mips*) + rm -f asm-unistd.h + asm_unistd_h=$sysheaders/asm/unistd.h + if test ! -f $asm_unistd_h; then +@@ -19,57 +19,66 @@ + echo "$as_me: WARNING: *** asm/unistd.h not found, it will not be pre-processed" >&2;} + echo '#include ' > asm-unistd.h + else +- # The point of this preprocessing is to turn __NR_ into +- # __NR_N64_, as well as to define __NR_ to +- # __NR__, if __NR__ is defined +- # and is the compiler-enabled ABI. ++ # There are two versions of this header. The older form defined ++ # __NR_foo, __NR_N32_foo, and __NR_O32_foo. The new form defines ++ # only __NR_foo, but does it based on the current ABI. ++ # We want to have __NR_O32_foo, __NR_N64_foo, and __NR_N32_foo defined ++ # always, and __NR_foo defined conditionally. Only the newer form is ++ # supported. + cat "$asm_unistd_h" | +- sed -e 's,__NR_,__NR_N64_,g' \ +- -e 's,__NR_N64_##,__NR_##,g' \ +- -e 's,__NR_N64_O32_,__NR_O32_,g' \ +- -e 's,__NR_N64_N32_,__NR_N32_,g' \ +- -e 's,__NR_N64_N64_,__NR_N64_,g' \ +- | awk > asm-unistd.h ' +-/^#define __NR.*unused/ { print; next; } +-/^#define __NR_N64__exit __NR_N64_exit/ { +- print "#define __NR__exit __NR_exit"; +- print "#define __NR_O32__exit __NR_O32_exit"; +- print "#define __NR_N32__exit __NR_N32_exit"; ++ awk > asm-unistd.h ' ++BEGIN { print "#include "; } ++/^#if _MIPS_SIM == _MIPS_SIM_ABI32/,/^#endif.*_MIPS_SIM_ABI32/ { ++ if (/^#define __NR_Linux/) { print; next; } ++ if (/^#define __NR_/) { ++ line = $0; ++ gsub (/_NR_/, "_NR_O32_", line); ++ print "#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */"; ++ print ""; ++ print line; ++ print ""; ++ print "#if _MIPS_SIM == _MIPS_SIM_ABI32"; + print; next; ++ } ++ print; next; + } +-/^#define __NR_O32_/ { +- name = $2; +- sub (/_O32_/, "_", name); +- print; +- print "#if _MIPS_SIM == _MIPS_SIM_ABI32"; +- print "# define " name " " $2; +- print "#endif"; +- next; ++/^#if _MIPS_SIM == _MIPS_SIM_NABI32/,/^#endif.*_MIPS_SIM_NABI32/ { ++ if (/^#define __NR_Linux/) { print; next; } ++ if (/^#define __NR_/) { ++ line = $0; ++ gsub (/_NR_/, "_NR_N32_", line); ++ print "#endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */"; ++ print ""; ++ print line; ++ print ""; ++ print "#if _MIPS_SIM == _MIPS_SIM_NABI32"; ++ print; next; ++ } ++ print; next; + } +-/^#define __NR_N32_/ { +- name = $2; +- sub (/_N32_/, "_", name); +- print; +- print "#if defined _ABIN32 && _MIPS_SIM == _ABIN32"; +- print "# define " name " " $2; +- print "#endif"; +- next; ++/^#if _MIPS_SIM == _MIPS_SIM_ABI64/,/^#endif.*_MIPS_SIM_ABI64/ { ++ if (/^#define __NR_Linux/) { print; next; } ++ if (/^#define __NR_/) { ++ line = $0; ++ gsub (/_NR_/, "_NR_N64_", line); ++ print "#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */"; ++ print ""; ++ print line; ++ print ""; ++ print "#if _MIPS_SIM == _MIPS_SIM_ABI64"; ++ print; next; ++ } ++ print; next; + } +-/^#define __NR_N64_/ { +- name = $2; +- sub (/_N64_/, "_", name); ++/^#define __NR_64_/ { ++ line = $0; ++ gsub (/_NR_64_/, "_NR_N64_", line); + print; +- print "#if defined _ABI64 && _MIPS_SIM == _ABI64"; +- print "# define " name " " $2; +- print "#endif"; ++ print line; + next; + } + { + print; + }' + fi ;; +-mips*) +- rm -f asm-unistd.h +- echo '#include ' > asm-unistd.h +- ;; + esac --- glibc-2.3.6.orig/debian/patches/glibc23-ctype-compat.dpatch +++ glibc-2.3.6/debian/patches/glibc23-ctype-compat.dpatch @@ -0,0 +1,117 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: +# DP: glibc 2.3.x changes some symbols (__ctype_b, __ctype_toupper, +# DP: __ctype_tolower) as hidden attribute. These symbols that are +# DP: crashing the old 2.2.x dynamic linking code in static binaries +# DP: are now exported. +# DP: This patch is originally pulled from RedHat patch, I modified +# DP: it for current debian glibc. +# DP: Original Author: RedHat glibc-2.2.93 cygnus-to-redhat patch +# DP: Applying Author: GOTO Masanori +# DP: Upstream status: Debian/Redhat Specific +# DP: Status Details: We apply for a while (until sarge freeze?) +# DP: Date: 2002-10-21 +# DP: Updated: 2002-12-02 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +--- glibc-2.3.1-cygnus/ctype/ctype-info.c 28 Sep 2002 20:36:35 -0000 1.1.1.9 ++++ glibc-2.3.1-redhat/ctype/ctype-info.c 29 Sep 2002 11:38:50 -0000 1.4 +@@ -48,18 +48,32 @@ extern const char _nl_C_LC_CTYPE_class_a + + #define b(t,x,o) (((const t *) _nl_C_LC_CTYPE_##x) + o) + ++// const unsigned short int *__ctype_b = b (unsigned short int, class, 128); ++// const __uint32_t *__ctype32_b = b (__uint32_t, class32, 0); ++// const __int32_t *__ctype_tolower = b (__int32_t, tolower, 128); ++// const __int32_t *__ctype_toupper = b (__int32_t, toupper, 128); ++// const __uint32_t *__ctype32_tolower = b (__uint32_t, tolower, 128); ++// const __uint32_t *__ctype32_toupper = b (__uint32_t, toupper, 128); ++ ++// compat_symbol (libc, __ctype_b, __ctype_b, GLIBC_2_0); ++// compat_symbol (libc, __ctype_tolower, __ctype_tolower, GLIBC_2_0); ++// compat_symbol (libc, __ctype_toupper, __ctype_toupper, GLIBC_2_0); ++// compat_symbol (libc, __ctype32_b, __ctype32_b, GLIBC_2_0); ++// compat_symbol (libc, __ctype32_tolower, __ctype32_tolower, GLIBC_2_2); ++// compat_symbol (libc, __ctype32_toupper, __ctype32_toupper, GLIBC_2_2); ++ ++#endif ++ ++/* Temporarily exported until all .a libraries are recompiled. */ ++#undef b ++#define b(t,x,o) (((const t *) _nl_C_LC_CTYPE_##x) + o) ++extern const char _nl_C_LC_CTYPE_class[] attribute_hidden; ++extern const char _nl_C_LC_CTYPE_class32[] attribute_hidden; ++extern const char _nl_C_LC_CTYPE_toupper[] attribute_hidden; ++extern const char _nl_C_LC_CTYPE_tolower[] attribute_hidden; + const unsigned short int *__ctype_b = b (unsigned short int, class, 128); + const __uint32_t *__ctype32_b = b (__uint32_t, class32, 0); + const __int32_t *__ctype_tolower = b (__int32_t, tolower, 128); + const __int32_t *__ctype_toupper = b (__int32_t, toupper, 128); + const __uint32_t *__ctype32_tolower = b (__uint32_t, tolower, 128); + const __uint32_t *__ctype32_toupper = b (__uint32_t, toupper, 128); +- +-compat_symbol (libc, __ctype_b, __ctype_b, GLIBC_2_0); +-compat_symbol (libc, __ctype_tolower, __ctype_tolower, GLIBC_2_0); +-compat_symbol (libc, __ctype_toupper, __ctype_toupper, GLIBC_2_0); +-compat_symbol (libc, __ctype32_b, __ctype32_b, GLIBC_2_0); +-compat_symbol (libc, __ctype32_tolower, __ctype32_tolower, GLIBC_2_2); +-compat_symbol (libc, __ctype32_toupper, __ctype32_toupper, GLIBC_2_2); +- +-#endif +--- glibc-2.3.1-cygnus/locale/lc-ctype.c 28 Sep 2002 20:37:14 -0000 1.1.1.8 ++++ glibc-2.3.1-redhat/locale/lc-ctype.c 29 Sep 2002 11:38:51 -0000 1.5 +@@ -75,18 +75,32 @@ _nl_postload_ctype (void) + We need those relocations so that a versioned definition with a COPY + reloc in an executable will override the libc.so definition. */ + +-compat_symbol (libc, __ctype_b, __ctype_b, GLIBC_2_0); +-compat_symbol (libc, __ctype_tolower, __ctype_tolower, GLIBC_2_0); +-compat_symbol (libc, __ctype_toupper, __ctype_toupper, GLIBC_2_0); +-compat_symbol (libc, __ctype32_b, __ctype32_b, GLIBC_2_0); +-compat_symbol (libc, __ctype32_tolower, __ctype32_tolower, GLIBC_2_2); +-compat_symbol (libc, __ctype32_toupper, __ctype32_toupper, GLIBC_2_2); ++// compat_symbol (libc, __ctype_b, __ctype_b, GLIBC_2_0); ++// compat_symbol (libc, __ctype_tolower, __ctype_tolower, GLIBC_2_0); ++// compat_symbol (libc, __ctype_toupper, __ctype_toupper, GLIBC_2_0); ++// compat_symbol (libc, __ctype32_b, __ctype32_b, GLIBC_2_0); ++// compat_symbol (libc, __ctype32_tolower, __ctype32_tolower, GLIBC_2_2); ++// compat_symbol (libc, __ctype32_toupper, __ctype32_toupper, GLIBC_2_2); + ++// __ctype_b = current (uint16_t, CLASS, 128); ++// __ctype_toupper = current (uint32_t, TOUPPER, 128); ++// __ctype_tolower = current (uint32_t, TOLOWER, 128); ++// __ctype32_b = current (uint32_t, CLASS32, 0); ++// __ctype32_toupper = current (uint32_t, TOUPPER32, 0); ++// __ctype32_tolower = current (uint32_t, TOLOWER32, 0); ++#endif ++ ++ /* Temporary. */ ++ extern __const unsigned short int *__ctype_b; /* Characteristics. */ ++ extern __const __int32_t *__ctype_tolower; /* Case conversions. */ ++ extern __const __int32_t *__ctype_toupper; /* Case conversions. */ ++ extern const uint32_t *__ctype32_b; ++ extern const uint32_t *__ctype32_toupper; ++ extern const uint32_t *__ctype32_tolower; + __ctype_b = current (uint16_t, CLASS, 128); + __ctype_toupper = current (uint32_t, TOUPPER, 128); + __ctype_tolower = current (uint32_t, TOLOWER, 128); + __ctype32_b = current (uint32_t, CLASS32, 0); + __ctype32_toupper = current (uint32_t, TOUPPER32, 0); + __ctype32_tolower = current (uint32_t, TOLOWER32, 0); +-#endif + } --- glibc-2.3.6.orig/debian/patches/glibc23-sse-oldkernel.dpatch +++ glibc-2.3.6/debian/patches/glibc23-sse-oldkernel.dpatch @@ -0,0 +1,173 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Disable SSE for 2.2.x kernels. +# DP: Related bugs: 218524 +# DP: Author: Daniel Jacobowitz +# DP: Upstream status: Not submitted +# DP: Details: Should be submitted, must be regenerated against CVS +# DP: Date: 2003-11-01 (Updated 2003-11-02) (Updated 2004-01-02) +# DP: Date: (Updated 2005-01-03 gotom) + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +2005-01-03 GOTO Masanori + + * sysdeps/i386/dl-machine.h: Remove including dl-procinfo.h. + * sysdeps/unix/sysv/linux/i386/dl-procinfo.h: move + dl_adjust_procinfo() to ... + * sysdeps/i386/dl-machine.h: ... here. Change GL(dl_hwcap) to + GLRO(dl_hwcap). + * sysdeps/generic/libc-start.c: Remove including dl-librecon.h, + dl-machine.h and dl-osinfo.h. + * elf/dl-support.c: Regenerated. + +2003-11-01 Daniel Jacobowitz + + * sysdeps/i386/dl-machine.h (dl_platform_init): Use + DL_ADJUST_PROCINFO. + * sysdeps/unix/sysv/linux/i386/dl-procinfo.h + (DL_ADJUST_PROCINFO): Define. + (dl_adjust_procinfo): New function. Disable SSE and SSE2 + for pre-2.4.x kernels. + +Index: sysdeps/i386/dl-machine.h +=================================================================== +RCS file: /cvs/glibc/libc/sysdeps/i386/dl-machine.h,v +retrieving revision 1.128 +diff -u -r1.128 dl-machine.h +--- sysdeps/i386/dl-machine.h 28 Sep 2004 04:54:41 -0000 1.128 ++++ sysdeps/i386/dl-machine.h 3 Jan 2005 05:39:25 -0000 +@@ -357,6 +357,17 @@ + if (GLRO(dl_platform) != NULL && *GLRO(dl_platform) == '\0') + /* Avoid an empty string which would disturb us. */ + GLRO(dl_platform) = NULL; ++ ++#ifdef DL_ADJUST_PROCINFO ++ if (GL(dl_osversion) < 0x020400) ++ { ++ /* Unfortunately, while the capability is named OSFXSR, it's ++ actually hardware FXSR direct from CPUID. And we can't test ++ CR4 ourselves, because we're in protected mode. Disable it ++ for kernels which might not have actually enabled OSFXSR. */ ++ GL(dl_hwcap) &= ~(HWCAP_I386_OSFXSR | HWCAP_I386_XMM | HWCAP_I386_XMM2); ++ } ++#endif + } + + static inline Elf32_Addr +Index: sysdeps/generic/libc-start.c +=================================================================== +RCS file: /cvs/glibc/libc/sysdeps/generic/libc-start.c,v +retrieving revision 1.52 +diff -u -r1.52 libc-start.c +--- sysdeps/generic/libc-start.c 31 Mar 2004 01:46:43 -0000 1.52 ++++ sysdeps/generic/libc-start.c 3 Jan 2005 05:39:25 -0000 +@@ -127,15 +129,28 @@ + # endif + _dl_aux_init (auxvec); + # endif +-# ifdef DL_SYSDEP_OSCHECK + if (!__libc_multiple_libcs) + { ++# ifdef DL_SYSDEP_OSCHECK + /* This needs to run to initiliaze _dl_osversion before TLS + setup might check it. */ + DL_SYSDEP_OSCHECK (__libc_fatal); +- } + # endif + ++ /* Moved here so that we can frob hwcap early enough. */ ++# ifdef DL_OSVERSION_INIT ++ DL_OSVERSION_INIT; ++# endif ++ ++# ifdef DL_PLATFORM_INIT ++ DL_PLATFORM_INIT; ++# endif ++ ++ /* Now determine the length of the platform string. */ ++ if (_dl_platform != NULL) ++ _dl_platformlen = strlen (_dl_platform); ++ } ++ + /* Initialize the thread library at least a bit since the libgcc + functions are using thread functions if these are available and + we need to setup errno. If there is no thread library and we +Index: elf/dl-support.c +=================================================================== +RCS file: /cvs/glibc/libc/elf/dl-support.c,v +retrieving revision 1.87 +diff -u -r1.87 dl-support.c +--- elf/dl-support.c 6 Nov 2004 00:24:49 -0000 1.87 ++++ elf/dl-support.c 3 Jan 2005 05:39:25 -0000 +@@ -269,18 +269,6 @@ + __unsetenv ("MALLOC_CHECK_"); + } + +-#ifdef DL_PLATFORM_INIT +- DL_PLATFORM_INIT; +-#endif +- +-#ifdef DL_OSVERSION_INIT +- DL_OSVERSION_INIT; +-#endif +- +- /* Now determine the length of the platform string. */ +- if (_dl_platform != NULL) +- _dl_platformlen = strlen (_dl_platform); +- + /* Scan for a program header telling us the stack is nonexecutable. */ + if (_dl_phdr != NULL) + for (uint_fast16_t i = 0; i < _dl_phnum; ++i) +Index: sysdeps/unix/sysv/linux/i386/dl-procinfo.h +=================================================================== +RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/i386/dl-procinfo.h,v +retrieving revision 1.18 +diff -u -r1.18 dl-procinfo.h +--- sysdeps/unix/sysv/linux/i386/dl-procinfo.h 7 Mar 2004 08:38:42 -0000 1.18 ++++ sysdeps/unix/sysv/linux/i386/dl-procinfo.h 3 Jan 2005 05:39:25 -0000 +@@ -18,6 +18,8 @@ + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + ++#ifndef _DL_PROCINFO_H ++ + #include + #include + +@@ -41,3 +43,7 @@ + + return 0; + } ++ ++#define DL_ADJUST_PROCINFO ++ ++#endif /* _DL_PROCINFO_H */ + + + +# it should not be used because dl-osinfo.h is already included. +# --- sysdeps/generic/libc-start.c 31 Mar 2004 01:46:43 -0000 1.52 +# +++ sysdeps/generic/libc-start.c 3 Jan 2005 05:39:25 -0000 +# @@ -23,6 +23,8 @@ +# #include +# #include +# +# +#include +# + +# extern void __libc_init_first (int argc, char **argv, char **envp); +# +# extern int __libc_multiple_libcs; --- glibc-2.3.6.orig/debian/patches/10_cvs.dpatch +++ glibc-2.3.6/debian/patches/10_cvs.dpatch @@ -0,0 +1,23 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: CVS Update +# DP: Author: Jeff Bailey &2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. --- glibc-2.3.6.orig/debian/patches/template.dpatch +++ glibc-2.3.6/debian/patches/template.dpatch @@ -0,0 +1,27 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: @DESCRIPTION@ +# DP: Related bugs: +# DP: Dpatch author: +# DP: Patch author: +# DP: Upstream status: [In CVS | Debian-Specific | Pending | Not submitted ] +# DP: Status Details: +# DP: Date: @DATE@ + +PATCHLEVEL=@PATCHLEVEL@ + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. --- glibc-2.3.6.orig/debian/patches/50_glibc232-hppa-full-nptl-2003-10-22.dpatch +++ glibc-2.3.6/debian/patches/50_glibc232-hppa-full-nptl-2003-10-22.dpatch @@ -0,0 +1,2829 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: HP-PARISC GNU/Libc Fixes 2003-10-22 +# DP: Related bugs: +# DP: Author: Carlos O'Donell +# DP: Upstream status: Submitted and pending. +# DP: Status Details: Waiting on upstream to review patches +# DP: Date: 2003-10-22 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# Patched with: +# +# Linuxthread fixes: +# patches-2003-10-14/glibc23-00.a-noarch-pthreads +# patches-2003-10-14/glibc23-00.a1-noarch-sgu +# patches-2003-10-14/glibc23-00.b-noarch-sysdeps-pthreads +# patches-2003-10-14/glibc23-00.c2-hppa-pthreads +# patches-2003-10-14/glibc23-01d-hppa-dl-machine +# +# libgcc compat fixes: +# patches-2003-10-14/glibc23-02-hppa-compat +# +# Introduce atomicity warnings: +# patches-2003-10-14/glibc23-03-hppa-atomicity +# +# Don't align all mallocs at 16: +# patches-2003-10-14/glibc23-04-hppa-malloc8 +# +# Sysdep updates including cancellation: +# patches-2003-10-14/glibc23-05n-hppa-sysdep +# patches-2003-10-14/glibc23-06r-hppa-sysdep-cancel +# patches-2003-10-14/glibc23-07b-hppa-sysdep2 +# = Patched 2003-10-20 to remove load offset typo +# Elf entry fix for ld, removes kernel hack: +# patches-2003-10-14/glibc23-09-hppa-entry +# +# Patch to use new atomic structure: +# patches-2003-10-14/glibc23-12-hppa-oldsemaphore +# +# We have sjlj exceptions but compat code was for dwarf: +# patches-2003-10-14/glibc23-13-hppa-framestatefor +# +# Fix function pointer resolving (needs to move to new generic method): +# patches-2003-10-14/glibc23-14-hppa-dlfptr +# +# Fixes getaddrinfo from upstream: +# patches-2003-10-14/glibc23-15-generic-getaddrinfo +# +# Include new pthreadtypes for hppa: +# patches-2003-10-14/glibc23-17b-hppa-pthreadtypes +# +# Fix warnings: +# patches-2003-10-14/glibc23-18-generic-sysctlh +# +# Add semtimedop for hppa: +# patches-2003-10-14/glibc23-19-hppa-semtimedop +# +# Fix symbol resolution issues: +# patches-2003-10-14/glibc23-20c-hppa-ptmachine +# +# Make the kernelstat 64-bit uncompatible: +# patches-2003-10-14/glibc23-21-hppa-kernelstat +# +# Fixup C version of syscalls: +# patches-2003-10-14/glibc23-22c-hppa-sysdepc +# +# Fixes for sjlj versus dwarf compat code: +# patches-2003-10-14/glibc23-23-hppa-unwind-dw2 +# +# Allow hppa to get at the linkmap: +# patches-2003-10-14/glibc23-25b-dynamic-link +# +# Fix all of the assembly for hppa fpu code: +# patches-2003-10-14/glibc23-26e-fpu +# = Patched 2003-10-20 to fix FE_INEXACT failures +# +# Add small amount of debugging code to make locale +# generation easier to understand: +# patches-2003-10-14/glibc23-27-debug-gen-locale +# +# Fixup clone to save/restore pic register: +# patches-2003-10-14/glibc23-28c-hppa-clone +# +# Fixup prototype warnings: +# patches-2003-10-14/glibc23-29-hppa-prototypes +# +# Fixup bad cats: +# patches-2003-10-14/glibc23-30-hppa-casts +# +# Fixup warning: +# patches-2003-10-14/glibc23-31-generic-unix-Makefile +# +# Implement proper non-linuxthread locking: +# patches-2003-10-14/glibc23-32-hppa-thread-m +# patches-2003-10-14/glibc23-32a-hppa-thread-m +# +# Fixup warnings: +# patches-2003-10-14/glibc23-33-generic-internals +# +# These patches generate rejects, and those rejects were then dealt +# with on a per patch basis. Some were discarded others merged. +# + +# append the patch here and adjust the -p? flag in the patch calls. +diff -urN glibc-2.3.2-orig-debian/elf/dynamic-link.h glibc-2.3.2/elf/dynamic-link.h +--- glibc-2.3.2-orig-debian/elf/dynamic-link.h 2003-10-22 01:06:09.000000000 -0400 ++++ glibc-2.3.2/elf/dynamic-link.h 2003-10-22 01:11:53.000000000 -0400 +@@ -39,12 +39,21 @@ + elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc, + const ElfW(Sym) *sym, const struct r_found_version *version, + void *const reloc_addr); ++# if ELF_MACHINE_REL_RELATIVE_NEEDSLINKMAP ++auto void __attribute__((always_inline)) ++elf_machine_rel_relative (struct link_map *map, ElfW(Addr) l_addr, const ElfW(Rel) *reloc, ++ void *const reloc_addr); ++auto void __attribute__((always_inline)) ++elf_machine_rela_relative (struct link_map *map, ElfW(Addr) l_addr, const ElfW(Rela) *reloc, ++ void *const reloc_addr); ++# else + auto void __attribute__((always_inline)) + elf_machine_rel_relative (ElfW(Addr) l_addr, const ElfW(Rel) *reloc, + void *const reloc_addr); + auto void __attribute__((always_inline)) + elf_machine_rela_relative (ElfW(Addr) l_addr, const ElfW(Rela) *reloc, + void *const reloc_addr); ++# endif + # if ELF_MACHINE_NO_RELA || defined ELF_MACHINE_PLT_REL + auto void __attribute__((always_inline)) + elf_machine_lazy_rel (struct link_map *map, +diff -urN glibc-2.3.2-orig-debian/linuxthreads/attr.c glibc-2.3.2/linuxthreads/attr.c +--- glibc-2.3.2-orig-debian/linuxthreads/attr.c 2003-10-22 01:06:10.000000000 -0400 ++++ glibc-2.3.2/linuxthreads/attr.c 2003-10-22 01:07:38.000000000 -0400 +@@ -450,12 +450,19 @@ + { + /* Found the entry. Now we have the info we need. */ + attr->__stacksize = rl.rlim_cur; ++#ifdef _STACK_GROWS_DOWN + attr->__stackaddr = (void *) to; +- ++#else ++ attr->__stackaddr = (void *) from; ++#endif + /* The limit might be too high. This is a bogus + situation but try to avoid making it worse. */ + if ((size_t) attr->__stacksize > (size_t) attr->__stackaddr) ++#ifdef _STACK_GROWS_DOWN + attr->__stacksize = (size_t) attr->__stackaddr; ++#else ++ attr->__stacksize = (size_t)(to - from); ++#endif + + /* We succeed and no need to look further. */ + ret = 0; +diff -urN glibc-2.3.2-orig-debian/linuxthreads/descr.h glibc-2.3.2/linuxthreads/descr.h +--- glibc-2.3.2-orig-debian/linuxthreads/descr.h 2003-10-22 01:06:10.000000000 -0400 ++++ glibc-2.3.2/linuxthreads/descr.h 2003-10-22 01:07:38.000000000 -0400 +@@ -71,7 +71,7 @@ + /* Atomic counter made possible by compare_and_swap */ + struct pthread_atomic { + long p_count; +- int p_spinlock; ++ __atomic_lock_t p_spinlock; + }; + + +diff -urN glibc-2.3.2-orig-debian/linuxthreads/manager.c glibc-2.3.2/linuxthreads/manager.c +--- glibc-2.3.2-orig-debian/linuxthreads/manager.c 2003-10-22 01:06:10.000000000 -0400 ++++ glibc-2.3.2/linuxthreads/manager.c 2003-10-22 01:07:38.000000000 -0400 +@@ -70,8 +70,13 @@ + #else + static inline pthread_descr thread_segment(int seg) + { ++# ifdef _STACK_GROWS_UP ++ return (pthread_descr)(THREAD_STACK_START_ADDRESS + (seg - 1) * STACK_SIZE) ++ + 1; ++# else + return (pthread_descr)(THREAD_STACK_START_ADDRESS - (seg - 1) * STACK_SIZE) + - 1; ++# endif + } + #endif + +diff -urN glibc-2.3.2-orig-debian/linuxthreads/oldsemaphore.c glibc-2.3.2/linuxthreads/oldsemaphore.c +--- glibc-2.3.2-orig-debian/linuxthreads/oldsemaphore.c 2003-10-22 01:03:57.000000000 -0400 ++++ glibc-2.3.2/linuxthreads/oldsemaphore.c 2003-10-22 01:07:38.000000000 -0400 +@@ -31,7 +31,7 @@ + + typedef struct { + long int sem_status; +- int sem_spinlock; ++ __atomic_lock_t sem_spinlock; + } old_sem_t; + + extern int __old_sem_init (old_sem_t *__sem, int __pshared, unsigned int __value); +diff -urN glibc-2.3.2-orig-debian/linuxthreads/pt-machine.c glibc-2.3.2/linuxthreads/pt-machine.c +--- glibc-2.3.2-orig-debian/linuxthreads/pt-machine.c 2003-10-22 01:03:57.000000000 -0400 ++++ glibc-2.3.2/linuxthreads/pt-machine.c 2003-10-22 01:07:38.000000000 -0400 +@@ -19,7 +19,9 @@ + + #define PT_EI + +-extern long int testandset (int *spinlock); ++#include ++ ++extern long int testandset (__atomic_lock_t *spinlock); + extern int __compare_and_swap (long int *p, long int oldval, long int newval); + + #include +diff -urN glibc-2.3.2-orig-debian/linuxthreads/pthread.c glibc-2.3.2/linuxthreads/pthread.c +--- glibc-2.3.2-orig-debian/linuxthreads/pthread.c 2003-10-22 01:06:16.000000000 -0400 ++++ glibc-2.3.2/linuxthreads/pthread.c 2003-10-22 01:07:38.000000000 -0400 +@@ -300,9 +300,9 @@ + pthread_descr self; + + /* First of all init __pthread_handles[0] and [1] if needed. */ +-# if __LT_SPINLOCK_INIT != 0 +- __pthread_handles[0].h_lock = __LOCK_INITIALIZER; +- __pthread_handles[1].h_lock = __LOCK_INITIALIZER; ++# ifdef __LT_INITIALIZER_NOT_ZERO ++ __pthread_handles[0].h_lock = __LOCK_ALT_INITIALIZER; ++ __pthread_handles[1].h_lock = __LOCK_ALT_INITIALIZER; + # endif + # ifndef SHARED + /* Unlike in the dynamically linked case the dynamic linker has not +@@ -370,7 +370,7 @@ + # endif + /* self->p_start_args need not be initialized, it's all zero. */ + self->p_userstack = 1; +-# if __LT_SPINLOCK_INIT != 0 ++# ifdef __LT_INITIALIZER_NOT_ZERO + self->p_resume_count = (struct pthread_atomic) __ATOMIC_INITIALIZER; + # endif + self->p_alloca_cutoff = __MAX_ALLOCA_CUTOFF; +@@ -384,9 +384,9 @@ + #else /* USE_TLS */ + + /* First of all init __pthread_handles[0] and [1]. */ +-# if __LT_SPINLOCK_INIT != 0 +- __pthread_handles[0].h_lock = __LOCK_INITIALIZER; +- __pthread_handles[1].h_lock = __LOCK_INITIALIZER; ++# ifdef __LT_INITIALIZER_NOT_ZERO ++ __pthread_handles[0].h_lock = __LOCK_ALT_INITIALIZER; ++ __pthread_handles[1].h_lock = __LOCK_ALT_INITIALIZER; + # endif + __pthread_handles[0].h_descr = &__pthread_initial_thread; + __pthread_handles[1].h_descr = &__pthread_manager_thread; +@@ -893,7 +893,11 @@ + /* __pthread_handles[0] is the initial thread, __pthread_handles[1] is + the manager threads handled specially in thread_self(), so start at 2 */ + h = __pthread_handles + 2; ++# ifdef _STACK_GROWS_UP ++ while (! (sp >= (char *) h->h_descr && sp < h->h_descr->p_guardaddr)) h++; ++# else + while (! (sp <= (char *) h->h_descr && sp >= h->h_bottom)) h++; ++# endif + return h->h_descr; + } + +@@ -908,11 +912,22 @@ + return manager_thread; + h = __pthread_handles + 2; + # ifdef USE_TLS ++# ifdef _STACK_GROWS_UP ++ while (h->h_descr == NULL ++ || ! (sp >= h->h_descr->p_stackaddr && ++ sp < h->h_descr->p_guardaddr)) ++# else + while (h->h_descr == NULL +- || ! (sp <= (char *) h->h_descr->p_stackaddr && sp >= h->h_bottom)) ++ || ! (sp <= h->h_descr->p_stackaddr && ++ sp >= h->h_bottom)) ++# endif + h++; + # else ++# ifdef _STACK_GROWS_UP ++ while (! (sp >= (char *) h->h_descr && sp < h->h_descr->p_guardaddr)) ++# else + while (! (sp <= (char *) h->h_descr && sp >= h->h_bottom)) ++# endif + h++; + # endif + return h->h_descr; +diff -urN glibc-2.3.2-orig-debian/linuxthreads/spinlock.c glibc-2.3.2/linuxthreads/spinlock.c +--- glibc-2.3.2-orig-debian/linuxthreads/spinlock.c 2003-10-22 01:03:57.000000000 -0400 ++++ glibc-2.3.2/linuxthreads/spinlock.c 2003-10-22 01:07:38.000000000 -0400 +@@ -24,9 +24,9 @@ + #include "spinlock.h" + #include "restart.h" + +-static void __pthread_acquire(int * spinlock); ++static void __pthread_acquire(__atomic_lock_t * spinlock); + +-static inline void __pthread_release(int * spinlock) ++static inline void __pthread_release(__atomic_lock_t * spinlock) + { + WRITE_MEMORY_BARRIER(); + *spinlock = __LT_SPINLOCK_INIT; +@@ -269,11 +269,11 @@ + struct wait_node { + struct wait_node *next; /* Next node in null terminated linked list */ + pthread_descr thr; /* The thread waiting with this node */ +- int abandoned; /* Atomic flag */ ++ __atomic_lock_t abandoned; /* Atomic flag */ + }; + + static long wait_node_free_list; +-static int wait_node_free_list_spinlock; ++__pthread_lock_define_initialized(static, wait_node_free_list_spinlock); + + /* Allocate a new node from the head of the free list using an atomic + operation, or else using malloc if that list is empty. A fundamental +@@ -376,7 +376,7 @@ + if (self == NULL) + self = thread_self(); + +- wait_node.abandoned = 0; ++ wait_node.abandoned = __LT_SPINLOCK_INIT; + wait_node.next = (struct wait_node *) lock->__status; + wait_node.thr = self; + lock->__status = (long) &wait_node; +@@ -402,7 +402,7 @@ + wait_node.thr = self; + newstatus = (long) &wait_node; + } +- wait_node.abandoned = 0; ++ wait_node.abandoned = __LT_SPINLOCK_INIT; + wait_node.next = (struct wait_node *) oldstatus; + /* Make sure the store in wait_node.next completes before performing + the compare-and-swap */ +@@ -451,7 +451,7 @@ + if (self == NULL) + self = thread_self(); + +- p_wait_node->abandoned = 0; ++ p_wait_node->abandoned = __LT_SPINLOCK_INIT; + p_wait_node->next = (struct wait_node *) lock->__status; + p_wait_node->thr = self; + lock->__status = (long) p_wait_node; +@@ -474,7 +474,7 @@ + p_wait_node->thr = self; + newstatus = (long) p_wait_node; + } +- p_wait_node->abandoned = 0; ++ p_wait_node->abandoned = __LT_SPINLOCK_INIT; + p_wait_node->next = (struct wait_node *) oldstatus; + /* Make sure the store in wait_node.next completes before performing + the compare-and-swap */ +@@ -574,7 +574,7 @@ + while (p_node != (struct wait_node *) 1) { + int prio; + +- if (p_node->abandoned) { ++ if (lock_held(&p_node->abandoned)) { + /* Remove abandoned node. */ + #if defined TEST_FOR_COMPARE_AND_SWAP + if (!__pthread_has_cas) +@@ -662,7 +662,7 @@ + #if !defined HAS_COMPARE_AND_SWAP || defined TEST_FOR_COMPARE_AND_SWAP + + int __pthread_compare_and_swap(long * ptr, long oldval, long newval, +- int * spinlock) ++ __atomic_lock_t * spinlock) + { + int res; + +@@ -699,7 +699,7 @@ + - When nanosleep() returns, we try again, doing MAX_SPIN_COUNT + sched_yield(), then sleeping again if needed. */ + +-static void __pthread_acquire(int * spinlock) ++static void __pthread_acquire(__atomic_lock_t * spinlock) + { + int cnt = 0; + struct timespec tm; +diff -urN glibc-2.3.2-orig-debian/linuxthreads/spinlock.h glibc-2.3.2/linuxthreads/spinlock.h +--- glibc-2.3.2-orig-debian/linuxthreads/spinlock.h 2003-10-22 01:06:10.000000000 -0400 ++++ glibc-2.3.2/linuxthreads/spinlock.h 2003-10-22 01:07:38.000000000 -0400 +@@ -33,14 +33,28 @@ + #endif + #endif + ++/* Define lock_held for all arches that don't need a modified copy. */ ++#ifndef __LT_INITIALIZER_NOT_ZERO ++# define lock_held(p) *(p) ++#endif ++ ++/* Initliazers for possibly complex structures */ ++#ifdef __LT_INITIALIZER_NOT_ZERO ++# define __pthread_lock_define_initialized(CLASS,NAME) \ ++ CLASS __atomic_lock_t NAME = __LT_SPINLOCK_ALT_INIT ++#else ++# define __pthread_lock_define_initialized(CLASS,NAME) \ ++ CLASS __atomic_lock_t NAME ++#endif ++ + #if defined(TEST_FOR_COMPARE_AND_SWAP) + + extern int __pthread_has_cas; + extern int __pthread_compare_and_swap(long * ptr, long oldval, long newval, +- int * spinlock); ++ __atomic_lock_t * spinlock); + + static inline int compare_and_swap(long * ptr, long oldval, long newval, +- int * spinlock) ++ __atomic_lock_t * spinlock) + { + if (__builtin_expect (__pthread_has_cas, 1)) + return __compare_and_swap(ptr, oldval, newval); +@@ -58,7 +72,7 @@ + + static inline int + compare_and_swap_with_release_semantics (long * ptr, long oldval, +- long newval, int * spinlock) ++ long newval, __atomic_lock_t * spinlock) + { + return __compare_and_swap_with_release_semantics (ptr, oldval, + newval); +@@ -67,7 +81,7 @@ + #endif + + static inline int compare_and_swap(long * ptr, long oldval, long newval, +- int * spinlock) ++ __atomic_lock_t * spinlock) + { + return __compare_and_swap(ptr, oldval, newval); + } +@@ -75,10 +89,10 @@ + #else + + extern int __pthread_compare_and_swap(long * ptr, long oldval, long newval, +- int * spinlock); ++ __atomic_lock_t * spinlock); + + static inline int compare_and_swap(long * ptr, long oldval, long newval, +- int * spinlock) ++ __atomic_lock_t * spinlock) + { + return __pthread_compare_and_swap(ptr, oldval, newval, spinlock); + } +diff -urN glibc-2.3.2-orig-debian/linuxthreads/sysdeps/hppa/pspinlock.c glibc-2.3.2/linuxthreads/sysdeps/hppa/pspinlock.c +--- glibc-2.3.2-orig-debian/linuxthreads/sysdeps/hppa/pspinlock.c 2003-10-22 01:03:57.000000000 -0400 ++++ glibc-2.3.2/linuxthreads/sysdeps/hppa/pspinlock.c 2003-10-22 01:07:38.000000000 -0400 +@@ -24,13 +24,10 @@ + int + __pthread_spin_lock (pthread_spinlock_t *lock) + { +- unsigned int val; ++ volatile unsigned int *addr = __ldcw_align (lock); + +- do +- asm volatile ("ldcw %1,%0" +- : "=r" (val), "=m" (*lock) +- : "m" (*lock)); +- while (!val); ++ while (__ldcw (addr) == 0) ++ while (*addr == 0) ; + + return 0; + } +@@ -40,13 +37,9 @@ + int + __pthread_spin_trylock (pthread_spinlock_t *lock) + { +- unsigned int val; ++ volatile unsigned int *a = __ldcw_align (lock); + +- asm volatile ("ldcw %1,%0" +- : "=r" (val), "=m" (*lock) +- : "m" (*lock)); +- +- return val ? 0 : EBUSY; ++ return __ldcw (a) ? 0 : EBUSY; + } + weak_alias (__pthread_spin_trylock, pthread_spin_trylock) + +@@ -54,7 +47,9 @@ + int + __pthread_spin_unlock (pthread_spinlock_t *lock) + { +- *lock = 1; ++ volatile unsigned int *a = __ldcw_align (lock); ++ ++ *a = 1; + return 0; + } + weak_alias (__pthread_spin_unlock, pthread_spin_unlock) +@@ -66,7 +61,9 @@ + /* We can ignore the `pshared' parameter. Since we are busy-waiting + all processes which can access the memory location `lock' points + to can use the spinlock. */ +- *lock = 1; ++ volatile unsigned int *a = __ldcw_align (lock); ++ ++ *a = 1; + return 0; + } + weak_alias (__pthread_spin_init, pthread_spin_init) +diff -urN glibc-2.3.2-orig-debian/linuxthreads/sysdeps/hppa/pt-machine.h glibc-2.3.2/linuxthreads/sysdeps/hppa/pt-machine.h +--- glibc-2.3.2-orig-debian/linuxthreads/sysdeps/hppa/pt-machine.h 2003-10-22 01:06:10.000000000 -0400 ++++ glibc-2.3.2/linuxthreads/sysdeps/hppa/pt-machine.h 2003-10-22 01:12:51.000000000 -0400 +@@ -22,41 +22,97 @@ + #ifndef _PT_MACHINE_H + #define _PT_MACHINE_H 1 + ++#include + #include + + #ifndef PT_EI + # define PT_EI extern inline __attribute__ ((always_inline)) + #endif + +-extern long int testandset (int *spinlock); +-extern int __compare_and_swap (long int *p, long int oldval, long int newval); ++extern inline long int testandset (__atomic_lock_t *spinlock); ++extern inline int __compare_and_swap (long int *p, long int oldval, long int newval); ++extern inline int lock_held (__atomic_lock_t *spinlock); ++extern inline int __load_and_clear (__atomic_lock_t *spinlock); + + /* Get some notion of the current stack. Need not be exactly the top + of the stack, just something somewhere in the current frame. */ + #define CURRENT_STACK_FRAME stack_pointer + register char * stack_pointer __asm__ ("%r30"); + ++/* Get/Set thread-specific pointer. We have to call into the kernel to ++ * modify it, but we can read it in user mode. */ ++ ++#define THREAD_SELF __get_cr27() ++ ++static inline struct _pthread_descr_struct * __get_cr27(void) ++{ ++ long cr27; ++ asm("mfctl %%cr27, %0" : "=r" (cr27) : ); ++ return (struct _pthread_descr_struct *) cr27; ++} ++ ++#define INIT_THREAD_SELF(descr, nr) __set_cr27(descr) ++ ++static inline void __set_cr27(struct _pthread_descr_struct * cr27) ++{ ++ asm( ++ "ble 0xe0(%%sr2, %%r0)\n\t" ++ "copy %0, %%r26" ++ : : "r" (cr27) : "r26" ); ++} ++ ++/* We want the OS to assign stack addresses. */ ++#define FLOATING_STACKS 1 ++#define ARCH_STACK_MAX_SIZE 8*1024*1024 + + /* The hppa only has one atomic read and modify memory operation, + load and clear, so hppa spinlocks must use zero to signify that +- someone is holding the lock. */ ++ someone is holding the lock. The address used for the ldcw ++ semaphore must be 16-byte aligned. */ ++#define __ldcw(a) ({ \ ++ unsigned int __ret; \ ++ __asm__ __volatile__("ldcw 0(%2),%0" \ ++ : "=r" (__ret), "=m" (*(a)) : "r" (a)); \ ++ __ret; \ ++}) ++ ++/* Because malloc only guarantees 8-byte alignment for malloc'd data, ++ and GCC only guarantees 8-byte alignment for stack locals, we can't ++ be assured of 16-byte alignment for atomic lock data even if we ++ specify "__attribute ((aligned(16)))" in the type declaration. So, ++ we use a struct containing an array of four ints for the atomic lock ++ type and dynamically select the 16-byte aligned int from the array ++ for the semaphore. */ ++#define __PA_LDCW_ALIGNMENT 16 ++#define __ldcw_align(a) ({ \ ++ volatile unsigned int __ret = (unsigned int) a; \ ++ if ((__ret & ~(__PA_LDCW_ALIGNMENT - 1)) < (unsigned int) a) \ ++ __ret = (__ret & ~(__PA_LDCW_ALIGNMENT - 1)) + __PA_LDCW_ALIGNMENT; \ ++ (unsigned int *) __ret; \ ++}) + +-#define xstr(s) str(s) +-#define str(s) #s + /* Spinlock implementation; required. */ +-PT_EI long int +-testandset (int *spinlock) ++PT_EI int ++__load_and_clear (__atomic_lock_t *spinlock) + { +- int ret; ++ volatile unsigned int *a = __ldcw_align (spinlock); + +- __asm__ __volatile__( +- "ldcw 0(%2),%0" +- : "=r"(ret), "=m"(*spinlock) +- : "r"(spinlock)); ++ return __ldcw (a); ++} + +- return ret == 0; ++/* Emulate testandset */ ++PT_EI long int ++testandset (__atomic_lock_t *spinlock) ++{ ++ return (__load_and_clear(spinlock) == 0); + } +-#undef str +-#undef xstr + ++PT_EI int ++lock_held (__atomic_lock_t *spinlock) ++{ ++ volatile unsigned int *a = __ldcw_align (spinlock); ++ ++ return *a == 0; ++} ++ + #endif /* pt-machine.h */ +diff -urN glibc-2.3.2-orig-debian/linuxthreads/sysdeps/hppa/pt-machine.h.rej glibc-2.3.2/linuxthreads/sysdeps/hppa/pt-machine.h.rej +--- glibc-2.3.2-orig-debian/linuxthreads/sysdeps/hppa/pt-machine.h.rej 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/linuxthreads/sysdeps/hppa/pt-machine.h.rej 2003-10-22 01:07:38.000000000 -0400 +@@ -0,0 +1,153 @@ ++*************** ++*** 1,6 **** ++ /* Machine-dependent pthreads configuration and inline functions. ++ hppa version. ++- Copyright (C) 2000, 2002 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ Contributed by Richard Henderson . ++ ++--- 1,6 ---- ++ /* Machine-dependent pthreads configuration and inline functions. ++ hppa version. +++ Copyright (C) 2000, 2002, 2003 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ Contributed by Richard Henderson . ++ ++*************** ++*** 22,62 **** ++ #ifndef _PT_MACHINE_H ++ #define _PT_MACHINE_H 1 ++ ++ #include ++ ++ #ifndef PT_EI ++ # define PT_EI extern inline ++ #endif ++ ++- extern long int testandset (int *spinlock); ++- extern int __compare_and_swap (long int *p, long int oldval, long int newval); ++ ++ /* Get some notion of the current stack. Need not be exactly the top ++ of the stack, just something somewhere in the current frame. */ ++ #define CURRENT_STACK_FRAME stack_pointer ++ register char * stack_pointer __asm__ ("%r30"); ++ ++- ++ /* The hppa only has one atomic read and modify memory operation, ++ load and clear, so hppa spinlocks must use zero to signify that ++- someone is holding the lock. */ ++- ++- #define xstr(s) str(s) ++- #define str(s) #s ++ /* Spinlock implementation; required. */ ++ PT_EI long int ++- testandset (int *spinlock) ++ { ++- int ret; ++- ++- __asm__ __volatile__( ++- "ldcw 0(%2),%0" ++- : "=r"(ret), "=m"(*spinlock) ++- : "r"(spinlock)); ++- ++- return ret == 0; ++ } ++- #undef str ++- #undef xstr ++- ++ #endif /* pt-machine.h */ ++--- 22,115 ---- ++ #ifndef _PT_MACHINE_H ++ #define _PT_MACHINE_H 1 ++ +++ #include ++ #include ++ ++ #ifndef PT_EI ++ # define PT_EI extern inline ++ #endif ++ +++ extern inline long int testandset (__atomic_lock_t *spinlock); +++ extern inline int __compare_and_swap (long int *p, long int oldval, long int newval); +++ extern inline int lock_held (__atomic_lock_t *spinlock); +++ extern inline int __load_and_clear (__atomic_lock_t *spinlock); ++ ++ /* Get some notion of the current stack. Need not be exactly the top ++ of the stack, just something somewhere in the current frame. */ ++ #define CURRENT_STACK_FRAME stack_pointer ++ register char * stack_pointer __asm__ ("%r30"); ++ +++ /* Get/Set thread-specific pointer. We have to call into the kernel to +++ modify it, but we can read it in user mode. */ +++ +++ #define THREAD_SELF __get_cr27() +++ +++ static inline struct _pthread_descr_struct * __get_cr27(void) +++ { +++ long cr27; +++ asm("mfctl %%cr27, %0" : "=r" (cr27) : ); +++ return (struct _pthread_descr_struct *) cr27; +++ } +++ +++ #define INIT_THREAD_SELF(descr, nr) __set_cr27(descr) +++ +++ static inline void __set_cr27(struct _pthread_descr_struct * cr27) +++ { +++ asm( " ble 0xe0(%%sr2, %%r0)\n" +++ " copy %0,%%r26" +++ : : "r" (cr27) : "r26" ); +++ } +++ +++ /* We want the OS to assign stack addresses. */ +++ #define FLOATING_STACKS 1 +++ #define ARCH_STACK_MAX_SIZE 8*1024*1024 +++ ++ /* The hppa only has one atomic read and modify memory operation, ++ load and clear, so hppa spinlocks must use zero to signify that +++ someone is holding the lock. The address used for the ldcw +++ semaphore must be 16-byte aligned. */ +++ #define __ldcw(a) ({ \ +++ unsigned int __ret; \ +++ __asm__ __volatile__("ldcw 0(%2),%0" \ +++ : "=r" (__ret), "=m" (*(a)) : "r" (a)); \ +++ __ret; \ +++ }) +++ +++ /* Because malloc only guarantees 8-byte alignment for malloc'd data, +++ and GCC only guarantees 8-byte alignment for stack locals, we can't +++ be assured of 16-byte alignment for atomic lock data even if we +++ specify "__attribute ((aligned(16)))" in the type declaration. So, +++ we use a struct containing an array of four ints for the atomic lock +++ type and dynamically select the 16-byte aligned int from the array +++ for the semaphore. */ +++ #define __PA_LDCW_ALIGNMENT 16 +++ #define __ldcw_align(a) ({ \ +++ volatile unsigned int __ret = (unsigned int) a; \ +++ if ((__ret & ~(__PA_LDCW_ALIGNMENT - 1)) < (unsigned int) a) \ +++ __ret = (__ret & ~(__PA_LDCW_ALIGNMENT - 1)) + __PA_LDCW_ALIGNMENT; \ +++ (unsigned int *) __ret; \ +++ }) +++ ++ /* Spinlock implementation; required. */ +++ PT_EI int +++ __load_and_clear (__atomic_lock_t *spinlock) +++ { +++ volatile unsigned int *a = __ldcw_align (spinlock); +++ return __ldcw (a); +++ } +++ +++ /* Emulate testandset */ ++ PT_EI long int +++ testandset (__atomic_lock_t *spinlock) ++ { +++ return (__load_and_clear(spinlock) == 0); ++ } +++ +++ PT_EI int +++ lock_held (__atomic_lock_t *spinlock) +++ { +++ volatile unsigned int *a = __ldcw_align (spinlock); +++ return *a == 0; +++ } +++ ++ #endif /* pt-machine.h */ +diff -urN glibc-2.3.2-orig-debian/linuxthreads/sysdeps/pthread/bits/libc-lock.h glibc-2.3.2/linuxthreads/sysdeps/pthread/bits/libc-lock.h +--- glibc-2.3.2-orig-debian/linuxthreads/sysdeps/pthread/bits/libc-lock.h 2003-10-22 01:06:16.000000000 -0400 ++++ glibc-2.3.2/linuxthreads/sysdeps/pthread/bits/libc-lock.h 2003-10-22 01:07:38.000000000 -0400 +@@ -71,12 +71,12 @@ + initialized locks must be set to one due to the lack of normal + atomic operations.) */ + +-#if __LT_SPINLOCK_INIT == 0 ++#ifdef __LT_INITIALIZER_NOT_ZERO + # define __libc_lock_define_initialized(CLASS,NAME) \ +- CLASS __libc_lock_t NAME; ++ CLASS __libc_lock_t NAME = PTHREAD_MUTEX_INITIALIZER; + #else + # define __libc_lock_define_initialized(CLASS,NAME) \ +- CLASS __libc_lock_t NAME = PTHREAD_MUTEX_INITIALIZER; ++ CLASS __libc_lock_t NAME; + #endif + + #define __libc_rwlock_define_initialized(CLASS,NAME) \ +diff -urN glibc-2.3.2-orig-debian/linuxthreads/sysdeps/pthread/bits/pthreadtypes.h glibc-2.3.2/linuxthreads/sysdeps/pthread/bits/pthreadtypes.h +--- glibc-2.3.2-orig-debian/linuxthreads/sysdeps/pthread/bits/pthreadtypes.h 2003-10-22 01:03:57.000000000 -0400 ++++ glibc-2.3.2/linuxthreads/sysdeps/pthread/bits/pthreadtypes.h 2003-10-22 01:07:38.000000000 -0400 +@@ -22,12 +22,14 @@ + #define __need_schedparam + #include + ++typedef int __atomic_lock_t; ++ + /* Fast locks (not abstract because mutexes and conditions aren't abstract). */ + struct _pthread_fastlock + { +- long int __status; /* "Free" or "taken" or head of waiting list */ +- int __spinlock; /* Used by compare_and_swap emulation. Also, +- adaptive SMP lock stores spin count here. */ ++ long int __status; /* "Free" or "taken" or head of waiting list */ ++ __atomic_lock_t __spinlock; /* Used by compare_and_swap emulation. Also, ++ adaptive SMP lock stores spin count here. */ + }; + + #ifndef _PTHREAD_DESCR_DEFINED +diff -urN glibc-2.3.2-orig-debian/linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/initspin.h glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/initspin.h +--- glibc-2.3.2-orig-debian/linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/initspin.h 2003-10-22 01:03:57.000000000 -0400 ++++ glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/initspin.h 2003-10-22 01:07:38.000000000 -0400 +@@ -19,9 +19,23 @@ + + /* Initial value of a spinlock. PA-RISC only implements atomic load + and clear so this must be non-zero. */ +-#define __LT_SPINLOCK_INIT 1 ++#define __LT_SPINLOCK_INIT ((__atomic_lock_t) { { 1, 1, 1, 1 } }) ++ ++/* Initialize global spinlocks without cast, generally macro wrapped */ ++#define __LT_SPINLOCK_ALT_INIT { { 1, 1, 1, 1 } } ++ ++/* Macros for lock initializers, not using the above definition. ++ The above definition is not used in the case that static initializers ++ use this value. */ ++#define __LOCK_INITIALIZER { __LT_SPINLOCK_ALT_INIT, 0 } ++ ++/* Used to initialize _pthread_fastlock's in non-static case */ ++#define __LOCK_ALT_INITIALIZER ((struct _pthread_fastlock){ __LT_SPINLOCK_INIT, 0 }) ++ ++/* Used in pthread_atomic initialization */ ++#define __ATOMIC_INITIALIZER { 0, __LT_SPINLOCK_ALT_INIT } ++ ++/* Tell the rest of the code that the initializer is non-zero without ++ explaining it's internal structure */ ++#define __LT_INITIALIZER_NOT_ZERO + +-/* Macros for lock initializers, using the above definition. */ +-#define __LOCK_INITIALIZER { 0, __LT_SPINLOCK_INIT } +-#define __ALT_LOCK_INITIALIZER { 0, __LT_SPINLOCK_INIT } +-#define __ATOMIC_INITIALIZER { 0, __LT_SPINLOCK_INIT } +diff -urN glibc-2.3.2-orig-debian/linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/pthreadtypes.h glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/pthreadtypes.h +--- glibc-2.3.2-orig-debian/linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/pthreadtypes.h 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/pthreadtypes.h 2003-10-22 01:07:38.000000000 -0400 +@@ -0,0 +1,160 @@ ++/* Linuxthreads - a simple clone()-based implementation of Posix */ ++/* threads for Linux. */ ++/* Copyright (C) 1996 Xavier Leroy (Xavier.Leroy@inria.fr) */ ++/* */ ++/* This program is free software; you can redistribute it and/or */ ++/* modify it under the terms of the GNU Library General Public License */ ++/* as published by the Free Software Foundation; either version 2 */ ++/* of the License, or (at your option) any later version. */ ++/* */ ++/* This program is distributed in the hope that it will be useful, */ ++/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ ++/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ ++/* GNU Library General Public License for more details. */ ++ ++#if !defined _BITS_TYPES_H && !defined _PTHREAD_H ++# error "Never include directly; use instead." ++#endif ++ ++#ifndef _BITS_PTHREADTYPES_H ++#define _BITS_PTHREADTYPES_H 1 ++ ++#define __need_schedparam ++#include ++ ++/* We need 128-bit alignment for the ldcw semaphore. At most, we are ++ assured of 64-bit alignment for stack locals and malloc'd data. Thus, ++ we use a struct with four ints for the atomic lock type. The locking ++ code will figure out which of the four to use for the ldcw semaphore. */ ++typedef volatile struct { ++ int lock[4]; ++} __attribute__ ((aligned(16))) __atomic_lock_t; ++ ++/* Fast locks (not abstract because mutexes and conditions aren't abstract). */ ++struct _pthread_fastlock ++{ ++ __atomic_lock_t __spinlock; /* Used by compare_and_swap emulation. Also, ++ adaptive SMP lock stores spin count here. */ ++ long int __status; /* "Free" or "taken" or head of waiting list */ ++}; ++ ++#ifndef _PTHREAD_DESCR_DEFINED ++/* Thread descriptors */ ++typedef struct _pthread_descr_struct *_pthread_descr; ++# define _PTHREAD_DESCR_DEFINED ++#endif ++ ++ ++/* Attributes for threads. */ ++typedef struct __pthread_attr_s ++{ ++ int __detachstate; ++ int __schedpolicy; ++ struct __sched_param __schedparam; ++ int __inheritsched; ++ int __scope; ++ size_t __guardsize; ++ int __stackaddr_set; ++ void *__stackaddr; ++ size_t __stacksize; ++} pthread_attr_t; ++ ++ ++/* Conditions (not abstract because of PTHREAD_COND_INITIALIZER */ ++ ++#ifdef __GLIBC_HAVE_LONG_LONG ++__extension__ typedef long long __pthread_cond_align_t; ++#else ++typedef long __pthread_cond_align_t; ++#endif ++ ++typedef struct ++{ ++ struct _pthread_fastlock __c_lock; /* Protect against concurrent access */ ++ _pthread_descr __c_waiting; /* Threads waiting on this condition */ ++ char __padding[48 - sizeof (struct _pthread_fastlock) ++ - sizeof (_pthread_descr) - sizeof (__pthread_cond_align_t)]; ++ __pthread_cond_align_t __align; ++} pthread_cond_t; ++ ++ ++/* Attribute for conditionally variables. */ ++typedef struct ++{ ++ int __dummy; ++} pthread_condattr_t; ++ ++/* Keys for thread-specific data */ ++typedef unsigned int pthread_key_t; ++ ++ ++/* Mutexes (not abstract because of PTHREAD_MUTEX_INITIALIZER). */ ++/* (The layout is unnatural to maintain binary compatibility ++ with earlier releases of LinuxThreads.) */ ++typedef struct ++{ ++ int __m_reserved; /* Reserved for future use */ ++ int __m_count; /* Depth of recursive locking */ ++ _pthread_descr __m_owner; /* Owner thread (if recursive or errcheck) */ ++ int __m_kind; /* Mutex kind: fast, recursive or errcheck */ ++ struct _pthread_fastlock __m_lock; /* Underlying fast lock */ ++} pthread_mutex_t; ++ ++ ++/* Attribute for mutex. */ ++typedef struct ++{ ++ int __mutexkind; ++} pthread_mutexattr_t; ++ ++ ++/* Once-only execution */ ++typedef int pthread_once_t; ++ ++ ++#ifdef __USE_UNIX98 ++/* Read-write locks. */ ++typedef struct _pthread_rwlock_t ++{ ++ struct _pthread_fastlock __rw_lock; /* Lock to guarantee mutual exclusion */ ++ int __rw_readers; /* Number of readers */ ++ _pthread_descr __rw_writer; /* Identity of writer, or NULL if none */ ++ _pthread_descr __rw_read_waiting; /* Threads waiting for reading */ ++ _pthread_descr __rw_write_waiting; /* Threads waiting for writing */ ++ int __rw_kind; /* Reader/Writer preference selection */ ++ int __rw_pshared; /* Shared between processes or not */ ++} pthread_rwlock_t; ++ ++ ++/* Attribute for read-write locks. */ ++typedef struct ++{ ++ int __lockkind; ++ int __pshared; ++} pthread_rwlockattr_t; ++#endif ++ ++#ifdef __USE_XOPEN2K ++/* POSIX spinlock data type. */ ++typedef __atomic_lock_t pthread_spinlock_t; ++ ++/* POSIX barrier. */ ++typedef struct { ++ struct _pthread_fastlock __ba_lock; /* Lock to guarantee mutual exclusion */ ++ int __ba_required; /* Threads needed for completion */ ++ int __ba_present; /* Threads waiting */ ++ _pthread_descr __ba_waiting; /* Queue of waiting threads */ ++} pthread_barrier_t; ++ ++/* barrier attribute */ ++typedef struct { ++ int __pshared; ++} pthread_barrierattr_t; ++ ++#endif ++ ++ ++/* Thread identifiers */ ++typedef unsigned long int pthread_t; ++ ++#endif /* bits/pthreadtypes.h */ +diff -urN glibc-2.3.2-orig-debian/linuxthreads/sysdeps/unix/sysv/linux/hppa/malloc-machine.h glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/hppa/malloc-machine.h +--- glibc-2.3.2-orig-debian/linuxthreads/sysdeps/unix/sysv/linux/hppa/malloc-machine.h 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/hppa/malloc-machine.h 2003-10-22 01:07:38.000000000 -0400 +@@ -0,0 +1,73 @@ ++/* HP-PARISC macro definitions for mutexes, thread-specific data ++ and parameters for malloc. ++ Copyright (C) 2003 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ Contributed by Carlos O'Donell , 2003. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#ifndef _MALLOC_MACHINE_H ++#define _MALLOC_MACHINE_H ++ ++#undef thread_atfork_static ++ ++#include ++#include ++ ++__libc_lock_define (typedef, mutex_t) ++ ++/* Since our lock structure does not tolerate being initialized to zero, we must ++ modify the standard function calls made by malloc */ ++# define mutex_init(m) \ ++ __libc_maybe_call (__pthread_mutex_init, (m, NULL), \ ++ (((m)->__m_lock.__spinlock = __LT_SPINLOCK_INIT),(*(int *)(m))) ) ++# define mutex_lock(m) \ ++ __libc_maybe_call (__pthread_mutex_lock, (m), \ ++ (__load_and_clear(&((m)->__m_lock.__spinlock)), 0)) ++# define mutex_trylock(m) \ ++ __libc_maybe_call (__pthread_mutex_trylock, (m), \ ++ (*(int *)(m) ? 1 : (__load_and_clear(&((m)->__m_lock.__spinlock)), 0))) ++# define mutex_unlock(m) \ ++ __libc_maybe_call (__pthread_mutex_unlock, (m), \ ++ (((m)->__m_lock.__spinlock = __LT_SPINLOCK_INIT), (*(int *)(m))) ) ++ ++/* This is defined by newer gcc version unique for each module. */ ++extern void *__dso_handle __attribute__ ((__weak__)); ++ ++#include ++ ++#ifdef SHARED ++# define thread_atfork(prepare, parent, child) \ ++ __register_atfork (prepare, parent, child, __dso_handle) ++#else ++# define thread_atfork(prepare, parent, child) \ ++ __register_atfork (prepare, parent, child, \ ++ &__dso_handle == NULL ? NULL : __dso_handle) ++#endif ++ ++/* thread specific data for glibc */ ++ ++#include ++ ++typedef int tsd_key_t[1]; /* no key data structure, libc magic does it */ ++__libc_tsd_define (static, MALLOC) /* declaration/common definition */ ++#define tsd_key_create(key, destr) ((void) (key)) ++#define tsd_setspecific(key, data) __libc_tsd_set (MALLOC, (data)) ++#define tsd_getspecific(key, vptr) ((vptr) = __libc_tsd_get (MALLOC)) ++ ++#include ++ ++#endif /* !defined(_MALLOC_MACHINE_H) */ +diff -urN glibc-2.3.2-orig-debian/linuxthreads/sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h +--- glibc-2.3.2-orig-debian/linuxthreads/sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h 2003-10-22 01:07:38.000000000 -0400 +@@ -0,0 +1,190 @@ ++/* Copyright (C) 2003 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ Contributed by Carlos O'Donell , 2003. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include ++#ifndef __ASSEMBLER__ ++# include ++#endif ++ ++#if !defined NOT_IN_libc || defined IS_IN_libpthread || defined IS_IN_librt ++ ++# ifndef NO_ERROR ++# define NO_ERROR -0x1000 ++# endif ++ ++# undef PSEUDO ++# define PSEUDO(name, syscall_name, args) \ ++ ENTRY (name) \ ++ SINGLE_THREAD_P ASM_LINE_SEP \ ++ cmpib,<> 0,%ret0,Lpseudo_cancel ASM_LINE_SEP \ ++ nop ASM_LINE_SEP \ ++ DO_CALL(syscall_name, args) ASM_LINE_SEP \ ++ /* DONE! */ ASM_LINE_SEP \ ++ bv 0(2) ASM_LINE_SEP \ ++ nop ASM_LINE_SEP \ ++ Lpseudo_cancel: ASM_LINE_SEP \ ++ /* store return ptr */ ASM_LINE_SEP \ ++ stw %rp, -20(%sr0,%sp) ASM_LINE_SEP \ ++ /* save syscall args */ ASM_LINE_SEP \ ++ PUSHARGS_##args /* MACRO */ ASM_LINE_SEP \ ++ STW_PIC ASM_LINE_SEP \ ++ CENABLE /* FUNC CALL */ ASM_LINE_SEP \ ++ ldo 64(%sp), %sp ASM_LINE_SEP \ ++ ldo -64(%sp), %sp ASM_LINE_SEP \ ++ LDW_PIC ASM_LINE_SEP \ ++ /* restore syscall args */ ASM_LINE_SEP \ ++ POPARGS_##args ASM_LINE_SEP \ ++ /* save r4 in arg0 stack slot */ ASM_LINE_SEP \ ++ stw %r4, -36(%sr0,%sp) ASM_LINE_SEP \ ++ /* save mask from cenable */ ASM_LINE_SEP \ ++ copy %ret0, %r4 ASM_LINE_SEP \ ++ ble 0x100(%sr2,%r0) ASM_LINE_SEP \ ++ ldi SYS_ify (syscall_name), %r20 ASM_LINE_SEP \ ++ LDW_PIC ASM_LINE_SEP \ ++ /* pass mask as arg0 to cdisable */ ASM_LINE_SEP \ ++ copy %r4, %r26 ASM_LINE_SEP \ ++ copy %ret0, %r4 ASM_LINE_SEP \ ++ CDISABLE ASM_LINE_SEP \ ++ ldo 64(%sp), %sp ASM_LINE_SEP \ ++ ldo -64(%sp), %sp ASM_LINE_SEP \ ++ LDW_PIC ASM_LINE_SEP \ ++ /* compare error */ ASM_LINE_SEP \ ++ ldi NO_ERROR,%r1 ASM_LINE_SEP \ ++ /* branch if no error */ ASM_LINE_SEP \ ++ cmpb,>>=,n %r1,%r4,Lpre_end ASM_LINE_SEP \ ++ nop ASM_LINE_SEP \ ++ SYSCALL_ERROR_HANDLER ASM_LINE_SEP \ ++ ldo 64(%sp), %sp ASM_LINE_SEP \ ++ ldo -64(%sp), %sp ASM_LINE_SEP \ ++ /* No need to LDW_PIC */ ASM_LINE_SEP \ ++ /* make syscall res value positive */ ASM_LINE_SEP \ ++ sub %r0, %r4, %r4 ASM_LINE_SEP \ ++ /* store into errno location */ ASM_LINE_SEP \ ++ stw %r4, 0(%sr0,%ret0) ASM_LINE_SEP \ ++ /* return -1 */ ASM_LINE_SEP \ ++ ldo -1(%r0), %ret0 ASM_LINE_SEP \ ++ Lpre_end: ASM_LINE_SEP \ ++ ldw -20(%sr0,%sp), %rp ASM_LINE_SEP \ ++ /* No need to LDW_PIC */ ASM_LINE_SEP \ ++ ldw -36(%sr0,%sp), %r4 ASM_LINE_SEP ++ ++/* Save arguments into our frame */ ++# define PUSHARGS_0 /* nothing to do */ ++# define PUSHARGS_1 PUSHARGS_0 stw %r26, -36(%sr0,%sp) ASM_LINE_SEP ++# define PUSHARGS_2 PUSHARGS_1 stw %r25, -40(%sr0,%sp) ASM_LINE_SEP ++# define PUSHARGS_3 PUSHARGS_2 stw %r24, -44(%sr0,%sp) ASM_LINE_SEP ++# define PUSHARGS_4 PUSHARGS_3 stw %r23, -48(%sr0,%sp) ASM_LINE_SEP ++# define PUSHARGS_5 PUSHARGS_4 /* Args are on the stack... */ ++# define PUSHARGS_6 PUSHARGS_5 ++ ++/* Bring them back from the stack */ ++# define POPARGS_0 /* nothing to do */ ++# define POPARGS_1 POPARGS_0 ldw -36(%sr0,%sp), %r26 ASM_LINE_SEP ++# define POPARGS_2 POPARGS_1 ldw -40(%sr0,%sp), %r25 ASM_LINE_SEP ++# define POPARGS_3 POPARGS_2 ldw -44(%sr0,%sp), %r24 ASM_LINE_SEP ++# define POPARGS_4 POPARGS_3 ldw -48(%sr0,%sp), %r23 ASM_LINE_SEP ++# define POPARGS_5 POPARGS_4 ldw -52(%sr0,%sp), %r22 ASM_LINE_SEP ++# define POPARGS_6 POPARGS_5 ldw -56(%sr0,%sp), %r21 ASM_LINE_SEP ++ ++# ifdef IS_IN_libpthread ++# ifdef PIC ++# define CENABLE .import __pthread_enable_asynccancel,code ASM_LINE_SEP \ ++ bl __pthread_enable_asynccancel,%r2 ASM_LINE_SEP ++# define CDISABLE .import __pthread_disable_asynccancel,code ASM_LINE_SEP \ ++ bl __pthread_disable_asynccancel,%r2 ASM_LINE_SEP ++# else ++# define CENABLE .import __pthread_enable_asynccancel,code ASM_LINE_SEP \ ++ bl __pthread_enable_asynccancel,%r2 ASM_LINE_SEP ++# define CDISABLE .import __pthread_disable_asynccancel,code ASM_LINE_SEP \ ++ bl __pthread_disable_asynccancel,%r2 ASM_LINE_SEP ++# endif ++# elif !defined NOT_IN_libc ++# ifdef PIC ++# define CENABLE .import __libc_enable_asynccancel,code ASM_LINE_SEP \ ++ bl __libc_enable_asynccancel,%r2 ASM_LINE_SEP ++# define CDISABLE .import __libc_disable_asynccancel,code ASM_LINE_SEP \ ++ bl __libc_disable_asynccancel,%r2 ASM_LINE_SEP ++# else ++# define CENABLE .import __libc_enable_asynccancel,code ASM_LINE_SEP \ ++ bl __libc_enable_asynccancel,%r2 ASM_LINE_SEP ++# define CDISABLE .import __libc_disable_asynccancel,code ASM_LINE_SEP \ ++ bl __libc_disable_asynccancel,%r2 ASM_LINE_SEP ++# endif ++# else ++# ifdef PIC ++# define CENABLE .import __librt_enable_asynccancel,code ASM_LINE_SEP \ ++ bl __librt_enable_asynccancel,%r2 ASM_LINE_SEP ++# define CDISABLE .import __librt_disable_asynccancel,code ASM_LINE_SEP \ ++ bl __librt_disable_asynccancel,%r2 ASM_LINE_SEP ++# else ++# define CENABLE .import __librt_enable_asynccancel,code ASM_LINE_SEP \ ++ bl __librt_enable_asynccancel,%r2 ASM_LINE_SEP ++# define CDISABLE .import __librt_disable_asynccancel,code ASM_LINE_SEP \ ++ bl __librt_disable_asynccancel,%r2 ASM_LINE_SEP ++# endif ++# endif ++ ++/* p_header.multiple_threads is +12 from the pthread_descr struct start, ++ We could have called __get_cr27() but we really want less overhead */ ++# define MULTIPLE_THREADS_OFFSET 0xC ++ ++/* cr27 has been initialized to 0x0 by kernel */ ++# define NO_THREAD_CR27 0x0 ++ ++# ifdef IS_IN_libpthread ++# define __local_multiple_threads __pthread_multiple_threads ++# elif !defined NOT_IN_libc ++# define __local_multiple_threads __libc_multiple_threads ++# else ++# define __local_multiple_threads __librt_multiple_threads ++# endif ++ ++# ifndef __ASSEMBLER__ ++ extern int __local_multiple_threads attribute_hidden; ++# define SINGLE_THREAD_P __builtin_expect (__local_multiple_threads == 0, 1) ++# else ++/* This ALT version requires newer kernel support */ ++# define SINGLE_THREAD_P_MFCTL \ ++ mfctl %cr27, %ret0 ASM_LINE_SEP \ ++ cmpib,= NO_THREAD_CR27,%ret0,Lstp ASM_LINE_SEP \ ++ nop ASM_LINE_SEP \ ++ ldw MULTIPLE_THREADS_OFFSET(%sr0,%ret0),%ret0 ASM_LINE_SEP \ ++ Lstp: ASM_LINE_SEP ++# ifdef PIC ++/* Slower version uses GOT to get value of __local_multiple_threads */ ++# define SINGLE_THREAD_P \ ++ addil LT%__local_multiple_threads, %r19 ASM_LINE_SEP \ ++ ldw RT%__local_multiple_threads(%sr0,%r1), %ret0 ASM_LINE_SEP \ ++ ldw 0(%sr0,%ret0), %ret0 ASM_LINE_SEP ++# else ++ /* Slow non-pic version using DP */ ++# define SINGLE_THREAD_P \ ++ addil LR%__local_multiple_threads-$global$,%r27 ASM_LINE_SEP \ ++ ldw RR%__local_multiple_threads-$global$(%sr0,%r1),%ret0 ASM_LINE_SEP ++# endif ++# endif ++#elif !defined __ASSEMBLER__ ++ ++/* This code should never be used but we define it anyhow. */ ++# define SINGLE_THREAD_P (1) ++ ++#endif ++/* !defined NOT_IN_libc || defined IS_IN_libpthread */ ++ ++ +diff -urN glibc-2.3.2-orig-debian/localedata/gen-locale.sh glibc-2.3.2/localedata/gen-locale.sh +--- glibc-2.3.2-orig-debian/localedata/gen-locale.sh 2003-10-22 01:03:54.000000000 -0400 ++++ glibc-2.3.2/localedata/gen-locale.sh 2003-10-22 01:07:38.000000000 -0400 +@@ -47,6 +47,7 @@ + locale=`echo $locfile|sed 's|\([^.]*\)[.].*/LC_CTYPE|\1|'` + charmap=`echo $locfile|sed 's|[^.]*[.]\(.*\)/LC_CTYPE|\1|'` + ++echo "Running \"$0 $common_objpfx $localedef $locfile\"" + echo "Generating locale $locale.$charmap: this might take a while..." + generate_locale `echo $charmap | sed -e s/SJIS/SHIFT_JIS/` $locale \ + $locale.$charmap +diff -urN glibc-2.3.2-orig-debian/malloc/thread-m.h glibc-2.3.2/malloc/thread-m.h +--- glibc-2.3.2-orig-debian/malloc/thread-m.h 2003-10-22 01:06:10.000000000 -0400 ++++ glibc-2.3.2/malloc/thread-m.h 2003-10-22 01:07:38.000000000 -0400 +@@ -59,6 +59,28 @@ + #define mutex_unlock(m) \ + __libc_maybe_call2 (pthread_mutex_unlock, (m), (*(int *)(m) = 0)) + ++# if(defined __hppa__) ++/* Since our lock structure does not tolerate being initialized to zero, we must ++ modify the standard function calls made by malloc */ ++# undef mutex_init ++# undef mutex_lock ++# undef mutex_trylock ++# undef mutex_unlock ++# define mutex_init(m) \ ++ __libc_maybe_call (__pthread_mutex_init, (m, NULL), \ ++ (((m)->__m_lock.__spinlock = __LT_SPINLOCK_INIT),(*(int *)(m))) ) ++# define mutex_lock(m) \ ++ __libc_maybe_call (__pthread_mutex_lock, (m), \ ++ (__load_and_clear(&((m)->__m_lock.__spinlock)), 0)) ++# define mutex_trylock(m) \ ++ __libc_maybe_call (__pthread_mutex_trylock, (m), \ ++ (*(int *)(m) ? 1 : (__load_and_clear(&((m)->__m_lock.__spinlock)), 0))) ++# define mutex_unlock(m) \ ++ __libc_maybe_call (__pthread_mutex_unlock, (m), \ ++ (((m)->__m_lock.__spinlock = __LT_SPINLOCK_INIT), (*(int *)(m))) ) ++# endif ++/* if(defined __hppa__) */ ++ + #else + + #define mutex_init(m) \ +diff -urN glibc-2.3.2-orig-debian/sysdeps/generic/framestate.c glibc-2.3.2/sysdeps/generic/framestate.c +--- glibc-2.3.2-orig-debian/sysdeps/generic/framestate.c 2003-10-22 01:03:47.000000000 -0400 ++++ glibc-2.3.2/sysdeps/generic/framestate.c 2003-10-22 01:07:38.000000000 -0400 +@@ -41,7 +41,11 @@ + if (handle == NULL + || (frame_state_for + = (framesf) __libc_dlsym (handle, "__frame_state_for")) == NULL) ++#ifndef __USING_SJLJ_EXCEPTIONS__ + frame_state_for = fallback_frame_state_for; ++#else ++ frame_state_for = abort; ++#endif + } + + return frame_state_for (pc, frame_state); +diff -urN glibc-2.3.2-orig-debian/sysdeps/generic/unwind-dw2.c glibc-2.3.2/sysdeps/generic/unwind-dw2.c +--- glibc-2.3.2-orig-debian/sysdeps/generic/unwind-dw2.c 2003-10-22 01:06:11.000000000 -0400 ++++ glibc-2.3.2/sysdeps/generic/unwind-dw2.c 2003-10-22 01:08:07.000000000 -0400 +@@ -39,7 +39,6 @@ + #endif + + +-#ifndef __USING_SJLJ_EXCEPTIONS__ + + #ifndef STACK_GROWS_DOWNWARD + #define STACK_GROWS_DOWNWARD 0 +@@ -1287,4 +1286,3 @@ + #include "unwind.inc" + + #endif /* _LIBC */ +-#endif /* !USING_SJLJ_EXCEPTIONS */ +diff -urN glibc-2.3.2-orig-debian/sysdeps/hppa/Dist glibc-2.3.2/sysdeps/hppa/Dist +--- glibc-2.3.2-orig-debian/sysdeps/hppa/Dist 2003-10-22 01:03:47.000000000 -0400 ++++ glibc-2.3.2/sysdeps/hppa/Dist 2003-10-22 01:07:38.000000000 -0400 +@@ -1,2 +1,3 @@ ++libgcc-compat.c + dl-symaddr.c + dl-fptr.c +diff -urN glibc-2.3.2-orig-debian/sysdeps/hppa/Makefile glibc-2.3.2/sysdeps/hppa/Makefile +--- glibc-2.3.2-orig-debian/sysdeps/hppa/Makefile 2003-10-22 01:03:47.000000000 -0400 ++++ glibc-2.3.2/sysdeps/hppa/Makefile 2003-10-22 01:07:38.000000000 -0400 +@@ -22,12 +22,19 @@ + # CFLAGS-.os += -ffunction-sections + LDFLAGS-c_pic.os += -Wl,--unique=.text* + +-ifeq ($(subdir),malloc) +-CFLAGS-malloc.c += -DMALLOC_ALIGNMENT=16 +-endif +- + ifeq ($(subdir),elf) + CFLAGS-rtld.c += -mdisable-fpregs + dl-routines += dl-symaddr dl-fptr + rtld-routines += dl-symaddr dl-fptr + endif ++ ++ifeq ($(subdir),csu) ++ifeq (yes,$(build-shared)) ++# Compatibility ++ifeq (yes,$(have-protected)) ++CPPFLAGS-libgcc-compat.c = -DHAVE_DOT_HIDDEN ++endif ++sysdep_routines += libgcc-compat ++shared-only-routines += libgcc-compat ++endif ++endif +diff -urN glibc-2.3.2-orig-debian/sysdeps/hppa/Versions glibc-2.3.2/sysdeps/hppa/Versions +--- glibc-2.3.2-orig-debian/sysdeps/hppa/Versions 2003-10-22 01:03:47.000000000 -0400 ++++ glibc-2.3.2/sysdeps/hppa/Versions 2003-10-22 01:07:38.000000000 -0400 +@@ -5,3 +5,8 @@ + _dl_function_address; + } + } ++libc { ++ GLIBC_2.2 { ++ __clz_tab; ++ } ++} +diff -urN glibc-2.3.2-orig-debian/sysdeps/hppa/atomicity.h glibc-2.3.2/sysdeps/hppa/atomicity.h +--- glibc-2.3.2-orig-debian/sysdeps/hppa/atomicity.h 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/sysdeps/hppa/atomicity.h 2003-10-22 01:07:38.000000000 -0400 +@@ -0,0 +1,55 @@ ++/* Low-level functions for atomic operations. HP-PARISC version. ++ Copyright (C) 1997,2001 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 ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#ifndef _ATOMICITY_H ++#define _ATOMICITY_H 1 ++ ++#include ++ ++#warning stub atomicity functions are not atomic ++#warning CAO This will get implemented soon ++ ++static inline int ++__attribute__ ((unused)) ++exchange_and_add (volatile uint32_t *mem, int val) ++{ ++ int result = *mem; ++ *mem += val; ++ return result; ++} ++ ++static inline void ++__attribute__ ((unused)) ++atomic_add (volatile uint32_t *mem, int val) ++{ ++ *mem += val; ++} ++ ++static inline int ++__attribute__ ((unused)) ++compare_and_swap (volatile long int *p, long int oldval, long int newval) ++{ ++ if (*p != oldval) ++ return 0; ++ ++ *p = newval; ++ return 1; ++} ++ ++#endif /* atomicity.h */ +diff -urN glibc-2.3.2-orig-debian/sysdeps/hppa/dl-fptr.c glibc-2.3.2/sysdeps/hppa/dl-fptr.c +--- glibc-2.3.2-orig-debian/sysdeps/hppa/dl-fptr.c 2003-10-22 01:03:47.000000000 -0400 ++++ glibc-2.3.2/sysdeps/hppa/dl-fptr.c 2003-10-22 01:07:38.000000000 -0400 +@@ -30,7 +30,7 @@ + # include + + /* Remember, we use 0 to mean that a lock is taken on PA-RISC. */ +-static int __hppa_fptr_lock = 1; ++static __atomic_lock_t __hppa_fptr_lock = __LT_SPINLOCK_ALT_INIT; + #endif + + /* Because ld.so is now versioned, these functions can be in their own +@@ -127,7 +127,7 @@ + #ifdef _LIBC_REENTRANT + /* Release the lock. Again, remember, zero means the lock is taken! */ + if (mem == NULL) +- __hppa_fptr_lock = 1; ++ __hppa_fptr_lock = __LT_SPINLOCK_INIT; + #endif + + /* Set bit 30 to indicate to $$dyncall that this is a PLABEL. */ +@@ -180,7 +180,7 @@ + + #ifdef _LIBC_REENTRANT + /* Release the lock. */ +- __hppa_fptr_lock = 1; ++ __hppa_fptr_lock = __LT_SPINLOCK_INIT; + #endif + } + +@@ -190,6 +190,8 @@ + Elf32_Addr addr = (Elf32_Addr) address; + struct hppa_fptr *f; + ++ address = (void *)((unsigned long)address &~ 3); /* Clear the bottom two bits. See make_fptr. */ ++ + #ifdef _LIBC_REENTRANT + /* Make sure we are alone. */ + while (testandset (&__hppa_fptr_lock)); +@@ -204,7 +206,7 @@ + + #ifdef _LIBC_REENTRANT + /* Release the lock. */ +- __hppa_fptr_lock = 1; ++ __hppa_fptr_lock = __LT_SPINLOCK_INIT; + #endif + + return addr; +diff -urN glibc-2.3.2-orig-debian/sysdeps/hppa/dl-machine.h glibc-2.3.2/sysdeps/hppa/dl-machine.h +--- glibc-2.3.2-orig-debian/sysdeps/hppa/dl-machine.h 2003-10-22 01:06:11.000000000 -0400 ++++ glibc-2.3.2/sysdeps/hppa/dl-machine.h 2003-10-22 01:10:26.000000000 -0400 +@@ -1,5 +1,5 @@ + /* Machine-dependent ELF dynamic relocation inline functions. PA-RISC version. +- Copyright (C) 1995-1997,1999,2000,2001,2002, 2003 ++ Copyright (C) 1995-1997,1999-2003 + Free Software Foundation, Inc. + Contributed by David Huggins-Daines + This file is part of the GNU C Library. +@@ -29,8 +29,15 @@ + #include + #include + ++# define VALID_ELF_OSABI(osabi) ((osabi == ELFOSABI_SYSV) || (osabi == ELFOSABI_LINUX)) ++# define VALID_ELF_ABIVERSION(ver) (ver == 0) ++# define VALID_ELF_HEADER(hdr,exp,size) \ ++ memcmp (hdr,exp,size-2) == 0 \ ++ && VALID_ELF_OSABI (hdr[EI_OSABI]) \ ++ && VALID_ELF_ABIVERSION (hdr[EI_ABIVERSION]) ++ + /* These must match the definition of the stub in bfd/elf32-hppa.c. */ +-#define SIZEOF_PLT_STUB (4*4) ++#define SIZEOF_PLT_STUB (7*4) + #define GOT_FROM_PLT_STUB (4*4) + + /* A PLABEL is a function descriptor. Properly they consist of just +@@ -67,45 +74,41 @@ + return ehdr->e_machine == EM_PARISC; + } + +- + /* Return the link-time address of _DYNAMIC. */ + static inline Elf32_Addr ++elf_machine_dynamic (void) __attribute__ ((const)); ++ ++static inline Elf32_Addr + elf_machine_dynamic (void) + { + Elf32_Addr dynamic; + +-#if 0 +- /* Use this method if GOT address not yet set up. */ +- asm ( +-" b,l 1f,%0\n" ++ asm ("b,l 1f,%0\n" + " depi 0,31,2,%0\n" + "1: addil L'_GLOBAL_OFFSET_TABLE_ - ($PIC_pcrel$0 - 8),%0\n" + " ldw R'_GLOBAL_OFFSET_TABLE_ - ($PIC_pcrel$0 - 12)(%%r1),%0\n" +- : "=r" (dynamic) : : "r1"); +-#else +- /* This works because we already have our GOT address available. */ +- dynamic = (Elf32_Addr) &_DYNAMIC; +-#endif ++ : "=r" (dynamic) : : "r1"); + + return dynamic; + } + + /* Return the run-time load address of the shared object. */ + static inline Elf32_Addr ++elf_machine_load_address (void) __attribute__ ((const)); ++ ++static inline Elf32_Addr + elf_machine_load_address (void) + { +- Elf32_Addr dynamic, dynamic_linkaddress; ++ Elf32_Addr dynamic; + + asm ( + " b,l 1f,%0\n" + " depi 0,31,2,%0\n" + "1: addil L'_DYNAMIC - ($PIC_pcrel$0 - 8),%0\n" +-" ldo R'_DYNAMIC - ($PIC_pcrel$0 - 12)(%%r1),%1\n" +-" addil L'_GLOBAL_OFFSET_TABLE_ - ($PIC_pcrel$0 - 16),%0\n" +-" ldw R'_GLOBAL_OFFSET_TABLE_ - ($PIC_pcrel$0 - 20)(%%r1),%0\n" +- : "=r" (dynamic_linkaddress), "=r" (dynamic) : : "r1"); ++" ldo R'_DYNAMIC - ($PIC_pcrel$0 - 12)(%%r1),%0\n" ++ : "=r" (dynamic) : : "r1"); + +- return dynamic - dynamic_linkaddress; ++ return dynamic - elf_machine_dynamic (); + } + + /* Fixup a PLT entry to bounce directly to the function at VALUE. */ +@@ -168,41 +171,39 @@ + fptr = (struct hppa_fptr *) (reloc->r_offset + l_addr); + if (r_sym != 0) + { +- /* Relocate the pointer to the stub. */ +- fptr->func += l_addr; +- /* Instead of the LTP value, we put the reloc offset +- here. The trampoline code will load the proper +- LTP and pass the reloc offset to the fixup +- function. */ +- fptr->gp = iplt - jmprel; + if (!got) + { + static union { + unsigned char c[8]; + Elf32_Addr i[2]; + } sig = {{0x00,0xc0,0xff,0xee, 0xde,0xad,0xbe,0xef}}; ++ const Elf32_Rela *last_rel; ++ ++ last_rel = (const Elf32_Rela *) end_jmprel - 1; ++ ++ /* The stub is immediately after the last .plt ++ entry. Rely on .plt relocs being ordered. */ ++ if (last_rel->r_offset == 0) ++ return 0; + + /* Find our .got section. It's right after the + stub. */ +- got = (Elf32_Addr *) (fptr->func + GOT_FROM_PLT_STUB); ++ got = (Elf32_Addr *) (last_rel->r_offset + l_addr ++ + 8 + SIZEOF_PLT_STUB); + +- /* Sanity check to see if the address we are +- going to check below is within a reasonable +- approximation of the bounds of the PLT (or, +- at least, is at an address that won't fault +- on read). Then check for the magic signature +- above. */ +- if (fptr->func < (Elf32_Addr) fptr + sizeof(*fptr)) +- return 0; +- if (fptr->func > +- ((Elf32_Addr) fptr +- + SIZEOF_PLT_STUB +- + ((l->l_info[DT_PLTRELSZ]->d_un.d_val / sizeof (Elf32_Rela)) +- * 8))) +- return 0; ++ /* Check the magic signature. */ + if (got[-2] != sig.i[0] || got[-1] != sig.i[1]) + return 0; /* No lazy linking for you! */ + } ++ ++ /* Relocate the pointer to the stub. */ ++ fptr->func = (Elf32_Addr) got - GOT_FROM_PLT_STUB; ++ ++ /* Instead of the LTP value, we put the reloc offset ++ here. The trampoline code will load the proper ++ LTP and pass the reloc offset to the fixup ++ function. */ ++ fptr->gp = iplt - jmprel; + } + else + { +@@ -272,22 +273,24 @@ + " stw %r25,-40(%sp)\n" /* argc */ \ + " stw %r24,-44(%sp)\n" /* argv */ \ + \ +- /* We need the LTP, and we need it now. */ \ +- /* $PIC_pcrel$0 points 8 bytes past the current instruction, \ +- just like a branch reloc. This sequence gets us the runtime \ +- address of _DYNAMIC. */ \ ++ /* We need the LTP, and we need it now. \ ++ $PIC_pcrel$0 points 8 bytes past the current instruction, \ ++ just like a branch reloc. This sequence gets us the \ ++ runtime address of _DYNAMIC. */ \ + " bl 0f,%r19\n" \ + " depi 0,31,2,%r19\n" /* clear priviledge bits */ \ + "0: addil L'_DYNAMIC - ($PIC_pcrel$0 - 8),%r19\n" \ + " ldo R'_DYNAMIC - ($PIC_pcrel$0 - 12)(%r1),%r26\n" \ + \ +- /* Also get the link time address from the first entry of the GOT. */ \ ++ /* The link time address is stored in the first entry of the \ ++ GOT. */ \ + " addil L'_GLOBAL_OFFSET_TABLE_ - ($PIC_pcrel$0 - 16),%r19\n" \ + " ldw R'_GLOBAL_OFFSET_TABLE_ - ($PIC_pcrel$0 - 20)(%r1),%r20\n" \ + \ + " sub %r26,%r20,%r20\n" /* Calculate load offset */ \ + \ +- /* Rummage through the dynamic entries, looking for DT_PLTGOT. */ \ ++ /* Rummage through the dynamic entries, looking for \ ++ DT_PLTGOT. */ \ + " ldw,ma 8(%r26),%r19\n" \ + "1: cmpib,=,n 3,%r19,2f\n" /* tag == DT_PLTGOT? */ \ + " cmpib,<>,n 0,%r19,1b\n" \ +@@ -307,8 +310,8 @@ + | 32 bytes of magic | \ + |---------------------------------| \ + | 32 bytes argument/sp save area | \ +- |---------------------------------| ((current->mm->env_end) + 63 & ~63) \ +- | N bytes of slack | \ ++ |---------------------------------| ((current->mm->env_end) \ ++ | N bytes of slack | + 63 & ~63) \ + |---------------------------------| \ + | envvar and arg strings | \ + |---------------------------------| \ +@@ -376,7 +379,7 @@ + " bl _dl_init_internal,%r2\n" \ + " ldo 4(%r23),%r23\n" /* delay slot */ \ + \ +- /* Reload argc, argv to the registers start.S expects them in (feh) */ \ ++ /* Reload argc, argv to the registers start.S expects. */ \ + " ldw -40(%sp),%r25\n" \ + " ldw -44(%sp),%r24\n" \ + \ +@@ -388,8 +391,8 @@ + " .word 0xdeadbeef\n" \ + " .previous\n" \ + \ +- /* %r3 contains a function pointer, we need to mask out the lower \ +- * bits and load the gp and jump address. */ \ ++ /* %r3 contains a function pointer, we need to mask out the \ ++ lower bits and load the gp and jump address. */ \ + " depi 0,31,2,%r3\n" \ + " ldw 0(%r3),%r2\n" \ + " addil LT'__dl_fini_plabel,%r19\n" \ +@@ -407,43 +410,41 @@ + Enter with r19 = reloc offset, r20 = got-8, r21 = fixup ltp. */ + #define TRAMPOLINE_TEMPLATE(tramp_name, fixup_name) \ + extern void tramp_name (void); \ +- asm ( "\ +- /* Trampoline for " #tramp_name " */ \n\ +- .globl " #tramp_name " \n\ +- .type " #tramp_name ",@function \n\ +-" #tramp_name ": \n\ +- /* Save return pointer */ \n\ +- stw %r2,-20(%sp) \n\ +- /* Save argument registers in the call stack frame. */ \n\ +- stw %r26,-36(%sp) \n\ +- stw %r25,-40(%sp) \n\ +- stw %r24,-44(%sp) \n\ +- stw %r23,-48(%sp) \n\ +- /* Build a call frame. */ \n\ +- stwm %sp,64(%sp) \n\ +- \n\ +- /* Set up args to fixup func. */ \n\ +- ldw 8+4(%r20),%r26 /* got[1] == struct link_map * */ \n\ +- copy %r19,%r25 /* reloc offset */ \n\ +- \n\ +- /* Call the real address resolver. */ \n\ +- bl " #fixup_name ",%r2 \n\ +- copy %r21,%r19 /* delay slot, set fixup func ltp */ \n\ +- \n\ +- ldwm -64(%sp),%sp \n\ +- /* Arguments. */ \n\ +- ldw -36(%sp),%r26 \n\ +- ldw -40(%sp),%r25 \n\ +- ldw -44(%sp),%r24 \n\ +- ldw -48(%sp),%r23 \n\ +- /* Return pointer. */ \n\ +- ldw -20(%sp),%r2 \n\ +- /* Call the real function. */ \n\ +- ldw 0(%r28),%r22 \n\ +- bv %r0(%r22) \n\ +- ldw 4(%r28),%r19 \n\ +-"); +- ++ asm (".globl " #tramp_name "\n" \ ++ " .type " #tramp_name ",@function\n" \ ++ #tramp_name ":\n" \ ++ /* Save return pointer */ \ ++ " stw %r2,-20(%sp)\n" \ ++ /* Save argument registers in the call stack frame. */ \ ++ " stw %r26,-36(%sp)\n" \ ++ " stw %r25,-40(%sp)\n" \ ++ " stw %r24,-44(%sp)\n" \ ++ " stw %r23,-48(%sp)\n" \ ++ /* Build a call frame, and save structure pointer. */ \ ++ " stwm %r28,64(%sp)\n" \ ++ \ ++ /* Set up args to fixup func. */ \ ++ " ldw 8+4(%r20),%r26\n" /* got[1] == struct link_map * */ \ ++ " copy %r19,%r25\n" /* reloc offset */ \ ++ \ ++ /* Call the real address resolver. */ \ ++ " bl " #fixup_name ",%r2\n" \ ++ " copy %r21,%r19\n" /* delay slot, set fixup func ltp */ \ ++ \ ++ " ldw 0(%r28),%r22\n" /* load up the returned func ptr */ \ ++ " ldw 4(%r28),%r19\n" \ ++ " ldwm -64(%sp),%r28\n" \ ++ /* Arguments. */ \ ++ " ldw -36(%sp),%r26\n" \ ++ " ldw -40(%sp),%r25\n" \ ++ " ldw -44(%sp),%r24\n" \ ++ " ldw -48(%sp),%r23\n" \ ++ /* Call the real function. */ \ ++ " bv %r0(%r22)\n" \ ++ /* Return pointer. */ \ ++ " ldw -20(%sp),%r2\n" \ ++ ); ++ + #ifndef PROF + #define ELF_MACHINE_RUNTIME_TRAMPOLINE \ + TRAMPOLINE_TEMPLATE (_dl_runtime_resolve, fixup); \ +@@ -470,16 +471,32 @@ + /* We only use RELA. */ + #define ELF_MACHINE_NO_REL 1 + ++/* Tell dynamic-link that PA needs the extra link_map structure */ ++#define ELF_MACHINE_REL_RELATIVE_NEEDSLINKMAP 1 ++#define ELF_MACHINE_RELA_RELATIVE_NEEDSLINKMAP 1 ++ + /* Return the address of the entry point. */ + #define ELF_MACHINE_START_ADDRESS(map, start) \ + DL_FUNCTION_ADDRESS (map, start) + ++/* We define an initialization functions. This is called very early in ++ * _dl_sysdep_start. */ ++#define DL_PLATFORM_INIT dl_platform_init () ++ ++static inline void __attribute__ ((unused)) ++dl_platform_init (void) ++{ ++ if (GL(dl_platform) != NULL && *GL(dl_platform) == '\0') ++ /* Avoid an empty string which would disturb us. */ ++ GL(dl_platform) = NULL; ++} ++ + #endif /* !dl_machine_h */ + + /* These are only actually used where RESOLVE_MAP is defined, anyway. */ + #ifdef RESOLVE_MAP + +-static inline void ++auto void __attribute__((always_inline)) + elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc, + const Elf32_Sym *sym, const struct r_found_version *version, + void *const reloc_addr_arg) +@@ -569,15 +586,15 @@ + probably haven't relocated the necessary values by this + point so we have to find them ourselves. */ + +- asm ("bl 0f,%0 \n\ +- depi 0,31,2,%0 \n\ +-0: addil L'__boot_ldso_fptr - ($PIC_pcrel$0 - 8),%0 \n\ +- ldo R'__boot_ldso_fptr - ($PIC_pcrel$0 - 12)(%%r1),%1 \n\ +- addil L'__fptr_root - ($PIC_pcrel$0 - 16),%0 \n\ +- ldo R'__fptr_root - ($PIC_pcrel$0 - 20)(%%r1),%2 \n\ +- addil L'__fptr_count - ($PIC_pcrel$0 - 24),%0 \n\ +- ldo R'__fptr_count - ($PIC_pcrel$0 - 28)(%%r1),%3" +- : ++ asm ("bl 0f,%0\n\t" ++ "depi 0,31,2,%0\n\t" ++ "0:\taddil L'__boot_ldso_fptr - ($PIC_pcrel$0 - 8),%0\n\t" ++ "ldo R'__boot_ldso_fptr - ($PIC_pcrel$0 - 12)(%%r1),%1\n\t" ++ "addil L'__fptr_root - ($PIC_pcrel$0 - 16),%0\n\t" ++ "ldo R'__fptr_root - ($PIC_pcrel$0 - 20)(%%r1),%2\n\t" ++ "addil L'__fptr_count - ($PIC_pcrel$0 - 24),%0\n\t" ++ "ldo R'__fptr_count - ($PIC_pcrel$0 - 28)(%%r1),%3" ++ : + "=r" (dot), + "=r" (p_boot_ldso_fptr), + "=r" (p_fptr_root), +@@ -636,7 +653,7 @@ + + /* hppa doesn't have an R_PARISC_RELATIVE reloc, but uses relocs with + ELF32_R_SYM (info) == 0 for a similar purpose. */ +-static inline void ++auto void __attribute__((always_inline)) + elf_machine_rela_relative (struct link_map *map, Elf32_Addr l_addr, + const Elf32_Rela *reloc, + void *const reloc_addr_arg) +@@ -682,7 +699,7 @@ + *reloc_addr = value; + } + +-static inline void ++auto void __attribute__((always_inline)) + elf_machine_lazy_rel (struct link_map *map, + Elf32_Addr l_addr, const Elf32_Rela *reloc) + { +diff -urN glibc-2.3.2-orig-debian/sysdeps/hppa/elf/entry.h glibc-2.3.2/sysdeps/hppa/elf/entry.h +--- glibc-2.3.2-orig-debian/sysdeps/hppa/elf/entry.h 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/sysdeps/hppa/elf/entry.h 2003-10-22 01:07:38.000000000 -0400 +@@ -0,0 +1,10 @@ ++#ifndef __ASSEMBLY__ ++extern void _start (void); ++#endif ++ ++/* The function's entry point is stored in the first word of the ++ function descriptor (plabel) of _start(). */ ++#define ENTRY_POINT ({long int *tmp = (long int *)((long)_start & ~2); tmp[0];}) ++ ++/* We have to provide a special declaration. */ ++#define ENTRY_POINT_DECL(class) class void _start (void); +diff -urN glibc-2.3.2-orig-debian/sysdeps/hppa/fpu/fclrexcpt.c glibc-2.3.2/sysdeps/hppa/fpu/fclrexcpt.c +--- glibc-2.3.2-orig-debian/sysdeps/hppa/fpu/fclrexcpt.c 2003-10-22 01:03:47.000000000 -0400 ++++ glibc-2.3.2/sysdeps/hppa/fpu/fclrexcpt.c 2003-10-22 01:07:38.000000000 -0400 +@@ -29,7 +29,7 @@ + __asm__ ("fstd %%fr0,0(%1)" : "=m" (*sw) : "r" (sw)); + + /* Clear all the relevant bits. */ +- sw[0] &= ~(excepts & FE_ALL_EXCEPT) << 27; ++ sw[0] &= ~((excepts & FE_ALL_EXCEPT) << 27); + __asm__ ("fldd 0(%0),%%fr0" : : "r" (sw)); + + /* Success. */ +diff -urN glibc-2.3.2-orig-debian/sysdeps/hppa/fpu/fegetenv.c glibc-2.3.2/sysdeps/hppa/fpu/fegetenv.c +--- glibc-2.3.2-orig-debian/sysdeps/hppa/fpu/fegetenv.c 2003-10-22 01:03:47.000000000 -0400 ++++ glibc-2.3.2/sysdeps/hppa/fpu/fegetenv.c 2003-10-22 01:07:38.000000000 -0400 +@@ -23,11 +23,12 @@ + int + fegetenv (fenv_t *envp) + { +- __asm__ ( +- "fstd %%fr0,0(%2)\n" +- "fstd,ma %%fr1,8(%2)\n" +- "fstd,ma %%fr2,8(%2)\n" +- "fstd %%fr3,0(%2)\n" +- : "=m" (*envp), "=r" (envp) : "1" (envp)); ++ fenv_t *temp = envp; ++ __asm__ ( "fstd,ma %%fr0,8(%1)\n" ++ "fstd,ma %%fr1,8(%1)\n" ++ "fstd,ma %%fr2,8(%1)\n" ++ "fstd %%fr3,0(%1)\n" ++ : "=m" (*temp), "+r" (temp) ++ ); + return 0; + } +diff -urN glibc-2.3.2-orig-debian/sysdeps/hppa/fpu/feholdexcpt.c glibc-2.3.2/sysdeps/hppa/fpu/feholdexcpt.c +--- glibc-2.3.2-orig-debian/sysdeps/hppa/fpu/feholdexcpt.c 2003-10-22 01:03:47.000000000 -0400 ++++ glibc-2.3.2/sysdeps/hppa/fpu/feholdexcpt.c 2003-10-22 01:07:38.000000000 -0400 +@@ -25,36 +25,29 @@ + feholdexcept (fenv_t *envp) + { + fenv_t clear; ++ fenv_t * _regs = envp; + + /* Store the environment. */ +- { +- fenv_t * _regs = envp; +- __asm__ ( +- "fstd %%fr0,0(%2)\n" +- "fstd,ma %%fr1,8(%2)\n" +- "fstd,ma %%fr2,8(%2)\n" +- "fstd %%fr3,0(%2)\n" +- : "=m" (*_regs), "=r" (_regs) : "1" (_regs)); +- memcpy (&clear, envp, sizeof (clear)); +- } ++ __asm__ ( "fstd,ma %%fr0,8(%1)\n" ++ "fstd,ma %%fr1,8(%1)\n" ++ "fstd,ma %%fr2,8(%1)\n" ++ "fstd %%fr3,0(%1)\n" ++ : "=m" (*_regs), "+r" (_regs) ++ ); ++ ++ memcpy (&clear, envp, sizeof (clear)); + +- /* Now clear all exceptions. */ +- clear.__status_word &= ~(FE_ALL_EXCEPT << 27); ++ /* Now clear all exceptions (Enable bits and flags) */ ++ clear.__status_word &= ~((FE_ALL_EXCEPT << 27) | FE_ALL_EXCEPT); + memset (clear.__exception, 0, sizeof (clear.__exception)); + +- /* And set all exceptions to non-stop. */ +- clear.__status_word &= ~FE_ALL_EXCEPT; +- + /* Load the new environment. */ +- { +- fenv_t * _regs = &clear + 1; +- __asm__ ( +- "fldd,mb -8(%2),%%fr3\n" +- "fldd,mb -8(%2),%%fr2\n" +- "fldd,mb -8(%2),%%fr1\n" +- "fldd -8(%2),%%fr0\n" +- : "=m" (*_regs), "=r" (_regs) : "1" (_regs)); +- } ++ __asm__ ( "fldd,ma -8(%1),%%fr3\n" ++ "fldd,ma -8(%1),%%fr2\n" ++ "fldd,ma -8(%1),%%fr1\n" ++ "fldd 0(%1),%%fr0\n" ++ : "=m" (*_regs), "+r" (_regs) ++ ); + + return 0; + } +diff -urN glibc-2.3.2-orig-debian/sysdeps/hppa/fpu/fesetenv.c glibc-2.3.2/sysdeps/hppa/fpu/fesetenv.c +--- glibc-2.3.2-orig-debian/sysdeps/hppa/fpu/fesetenv.c 2003-10-22 01:03:47.000000000 -0400 ++++ glibc-2.3.2/sysdeps/hppa/fpu/fesetenv.c 2003-10-22 01:07:38.000000000 -0400 +@@ -26,24 +26,23 @@ + fesetenv (const fenv_t *envp) + { + fenv_t temp; ++ fenv_t * _regs = &temp; + + /* Install the environment specified by ENVP. But there are a few + values which we do not want to come from the saved environment. + Therefore, we get the current environment and replace the values + we want to use from the environment specified by the parameter. */ +- { +- fenv_t * _regs = &temp; +- __asm__ ( +- "fstd %%fr0,0(%2)\n" +- "fstd,ma %%fr1,8(%2)\n" +- "fstd,ma %%fr2,8(%2)\n" +- "fstd %%fr3,0(%2)\n" +- : "=m" (*_regs), "=r" (_regs) : "1" (_regs)); +- } + +- temp.__status_word &= ~(FE_ALL_EXCEPT +- | (FE_ALL_EXCEPT << 27) +- | FE_DOWNWARD); ++ __asm__ ( "fstd,ma %%fr0,8(%1)\n" ++ "fstd,ma %%fr1,8(%1)\n" ++ "fstd,ma %%fr2,8(%1)\n" ++ "fstd %%fr3,0(%1)\n" ++ : "=m" (*_regs), "+r" (_regs) ++ ); ++ ++ temp.__status_word &= ~((FE_ALL_EXCEPT << 27) ++ | FE_DOWNWARD ++ | FE_ALL_EXCEPT); + if (envp == FE_DFL_ENV) + ; + else if (envp == FE_NOMASK_ENV) +@@ -55,16 +54,13 @@ + | (FE_ALL_EXCEPT << 27))); + + /* Load the new environment. */ +- { +- fenv_t * _regs = &temp + 1; +- __asm__ ( +- "fldd,mb -8(%2),%%fr3\n" +- "fldd,mb -8(%2),%%fr2\n" +- "fldd,mb -8(%2),%%fr1\n" +- "fldd -8(%2),%%fr0\n" +- : "=m" (*_regs), "=r" (_regs) : "1" (_regs)); +- } +- ++ __asm__ ( "fldd,ma -8(%1),%%fr3\n" ++ "fldd,ma -8(%1),%%fr2\n" ++ "fldd,ma -8(%1),%%fr1\n" ++ "fldd 0(%2),%%fr0\n" ++ : "=m" (*_regs), "+r" (_regs) ++ ); ++ + /* Success. */ + return 0; + } +diff -urN glibc-2.3.2-orig-debian/sysdeps/hppa/fpu/feupdateenv.c glibc-2.3.2/sysdeps/hppa/fpu/feupdateenv.c +--- glibc-2.3.2-orig-debian/sysdeps/hppa/fpu/feupdateenv.c 2003-10-22 01:03:47.000000000 -0400 ++++ glibc-2.3.2/sysdeps/hppa/fpu/feupdateenv.c 2003-10-22 01:07:38.000000000 -0400 +@@ -27,14 +27,12 @@ + + /* Get the current exception status. */ + __asm__ ("fstd %%fr0,0(%1)" : "=m" (*sw) : "r" (sw)); +- sw[0] &= (FE_ALL_EXCEPT << 27); +- ++ sw[0] &= FE_ALL_EXCEPT; ++ envp->__status_word = envp->__status_word | sw[0]; ++ + /* Install new environment. */ + fesetenv (envp); + +- /* Raise the saved exception. */ +- feraiseexcept (sw[0] >> 27); +- + /* Success. */ + return 0; + } +diff -urN glibc-2.3.2-orig-debian/sysdeps/hppa/fpu/fraiseexcpt.c glibc-2.3.2/sysdeps/hppa/fpu/fraiseexcpt.c +--- glibc-2.3.2-orig-debian/sysdeps/hppa/fpu/fraiseexcpt.c 2003-10-22 01:03:47.000000000 -0400 ++++ glibc-2.3.2/sysdeps/hppa/fpu/fraiseexcpt.c 2003-10-22 01:07:38.000000000 -0400 +@@ -22,6 +22,9 @@ + #include + #include + ++/* Please see section 10, ++ page 10-5 "Delayed Trapping" in the PA-RISC 2.0 Architecture manual */ ++ + int + feraiseexcept (int excepts) + { +@@ -33,56 +36,64 @@ + + /* We do these bits in assembly to be certain GCC doesn't optimize + away something important, and so we can force delayed traps to +- occur. */ +- +- /* FIXME: These all need verification! */ ++ occur. */ + +- /* First: invalid exception. */ ++ /* We use "fldd 0(%%sr0,%%sp),%0" to flush the delayed exception */ ++ ++ /* First: Invalid exception. */ + if (excepts & FE_INVALID) + { + /* One example of a invalid operation is 0 * Infinity. */ + double d = HUGE_VAL; +- __asm__ __volatile__ ("fmpy,dbl %1,%%fr0,%0\n\t" +- /* FIXME: is this a proper trap barrier? */ +- "fcpy,dbl %%fr0,%%fr0" : "=f" (d) : "0" (d)); ++ __asm__ __volatile__ ( ++ " fcpy,dbl %%fr0,%%fr22\n" ++ " fmpy,dbl %0,%%fr22,%0\n" ++ " fldd 0(%%sr0,%%sp),%0" ++ : "+f" (d) : : "%fr22" ); + } + +- /* Next: division by zero. */ ++ /* Second: Division by zero. */ + if (excepts & FE_DIVBYZERO) + { + double d = 1.0; +- __asm__ __volatile__ ("fdiv,dbl %1,%%fr0,%0\n\t" +- "fcpy,dbl %%fr0,%%fr0" : "=f" (d) : "0" (d)); ++ __asm__ __volatile__ ( ++ " fcpy,dbl %%fr0,%%fr22\n" ++ " fdiv,dbl %0,%%fr22,%0\n" ++ " fldd 0(%%sr0,%%sp),%0" ++ : "+f" (d) : : "%fr22" ); + } + +- /* Next: overflow. */ +- /* FIXME: Compare with IA-64 - do we have the same problem? */ ++ /* Third: Overflow. */ + if (excepts & FE_OVERFLOW) + { + double d = DBL_MAX; +- +- __asm__ __volatile__ ("fmpy,dbl %1,%1,%0\n\t" +- "fcpy,dbl %%fr0,%%fr0" : "=f" (d) : "0" (d)); ++ __asm__ __volatile__ ( ++ " fadd,dbl %0,%0,%0\n" ++ " fldd 0(%%sr0,%%sp),%0" ++ : "+f" (d) ); + } + +- /* Next: underflow. */ ++ /* Fourth: Underflow. */ + if (excepts & FE_UNDERFLOW) + { + double d = DBL_MIN; +- double e = 69.69; +- +- __asm__ __volatile__ ("fdiv,dbl %1,%2,%0\n\t" +- "fcpy,dbl %%fr0,%%fr0" : "=f" (d) : "0" (d), "f" (e)); ++ double e = 3.0; ++ __asm__ __volatile__ ( ++ " fdiv,dbl %0,%1,%0\n" ++ " fldd 0(%%sr0,%%sp),%0" ++ : "+f" (d) : "f" (e) ); + } + +- /* Last: inexact. */ ++ /* Fifth: Inexact */ + if (excepts & FE_INEXACT) + { +- double d = 1.0; +- double e = M_PI; +- +- __asm__ __volatile__ ("fdiv,dbl %1,%2,%0\n\t" +- "fcpy,dbl %%fr0,%%fr0" : "=f" (d) : "0" (d), "f" (e)); ++ double d = M_PI; ++ double e = 69.69; ++ __asm__ __volatile__ ( ++ " fdiv,dbl %0,%1,%%fr22\n" ++ " fcnvfxt,dbl,sgl %%fr22,%%fr22L\n" ++ " fldd 0(%%sr0,%%sp),%%fr22" ++ : : "f" (d), "f" (e) : "%fr22" ); + } + + /* Success. */ +diff -urN glibc-2.3.2-orig-debian/sysdeps/hppa/fpu/fsetexcptflg.c glibc-2.3.2/sysdeps/hppa/fpu/fsetexcptflg.c +--- glibc-2.3.2-orig-debian/sysdeps/hppa/fpu/fsetexcptflg.c 2003-10-22 01:03:47.000000000 -0400 ++++ glibc-2.3.2/sysdeps/hppa/fpu/fsetexcptflg.c 2003-10-22 01:07:38.000000000 -0400 +@@ -29,8 +29,7 @@ + /* Get the current status word. */ + __asm__ ("fstd %%fr0,0(%1)" : "=m" (*sw) : "r" (sw)); + +- /* Install the new exception flags bits. */ +- sw[0] &= ~(excepts & (FE_ALL_EXCEPT >> 27)); ++ /* Clear exception flags, and install new neable trap bits */ + sw[0] |= (*flagp & excepts & FE_ALL_EXCEPT) << 27; + + /* Store the new status word. */ +diff -urN glibc-2.3.2-orig-debian/sysdeps/hppa/libgcc-compat.c glibc-2.3.2/sysdeps/hppa/libgcc-compat.c +--- glibc-2.3.2-orig-debian/sysdeps/hppa/libgcc-compat.c 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/sysdeps/hppa/libgcc-compat.c 2003-10-22 01:07:38.000000000 -0400 +@@ -0,0 +1,43 @@ ++/* pre-.hidden libgcc compatibility ++ Copyright (C) 2002 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ Contributed by Randolph Chung ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++ ++#include ++#include ++ ++#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6) ++ ++symbol_version (__clz_tab_internal, __clz_tab, GLIBC_2.2); ++ ++typedef unsigned int UQItype __attribute__ ((mode (QI))); ++ ++const UQItype __clz_tab_internal[] = ++{ ++ 0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, ++ 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, ++ 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, ++ 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, ++ 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, ++ 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, ++ 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, ++ 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, ++}; ++ ++#endif +diff -urN glibc-2.3.2-orig-debian/sysdeps/hppa/sysdep.h glibc-2.3.2/sysdeps/hppa/sysdep.h +--- glibc-2.3.2-orig-debian/sysdeps/hppa/sysdep.h 2003-10-22 01:03:47.000000000 -0400 ++++ glibc-2.3.2/sysdeps/hppa/sysdep.h 2003-10-22 01:07:38.000000000 -0400 +@@ -70,6 +70,7 @@ + #define PSEUDO_END(name) \ + END (name) + ++#undef JUMPTARGET + #define JUMPTARGET(name) name + #define SYSCALL_PIC_SETUP /* Nothing. */ + +diff -urN glibc-2.3.2-orig-debian/sysdeps/posix/getaddrinfo.c glibc-2.3.2/sysdeps/posix/getaddrinfo.c +--- glibc-2.3.2-orig-debian/sysdeps/posix/getaddrinfo.c 2003-10-22 01:06:12.000000000 -0400 ++++ glibc-2.3.2/sysdeps/posix/getaddrinfo.c 2003-10-22 01:07:38.000000000 -0400 +@@ -53,6 +53,7 @@ + #include + #include + #include ++#include + + #define GAIH_OKIFUNSPEC 0x0100 + #define GAIH_EAI ~(GAIH_OKIFUNSPEC) +diff -urN glibc-2.3.2-orig-debian/sysdeps/unix/Makefile glibc-2.3.2/sysdeps/unix/Makefile +--- glibc-2.3.2-orig-debian/sysdeps/unix/Makefile 2003-10-22 01:06:12.000000000 -0400 ++++ glibc-2.3.2/sysdeps/unix/Makefile 2003-10-22 01:07:38.000000000 -0400 +@@ -295,6 +295,7 @@ + $(..)sysdeps/unix/Makefile + $(make-target-directory) + (echo '#include '; \ ++ echo 'extern long int _no_syscall(void);'; \ + echo 'long int _no_syscall (void)'; \ + echo '{ __set_errno (ENOSYS); return -1L; }'; \ + for call in $(unix-stub-syscalls); do \ +diff -urN glibc-2.3.2-orig-debian/sysdeps/unix/sysv/linux/hppa/clone.S glibc-2.3.2/sysdeps/unix/sysv/linux/hppa/clone.S +--- glibc-2.3.2-orig-debian/sysdeps/unix/sysv/linux/hppa/clone.S 2003-10-22 01:03:48.000000000 -0400 ++++ glibc-2.3.2/sysdeps/unix/sysv/linux/hppa/clone.S 2003-10-22 01:07:38.000000000 -0400 +@@ -28,6 +28,8 @@ + + /* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg) */ + ++#warning CAO: __clone needs verification ++ + .text + ENTRY(__clone) + /* FIXME: I have no idea how profiling works on hppa. */ +@@ -42,6 +44,11 @@ + stwm %arg0,64(%arg1) + stw %arg3,-60(%arg1) + ++ /* Save the PIC register. */ ++#ifdef PIC ++ stw %r19,-32(%sr0, %sp) /* parent */ ++#endif ++ + /* Do the system call */ + copy %arg2,%arg0 + ble 0x100(%sr2,%r0) +@@ -53,19 +60,31 @@ + + comib,=,n 0,%ret0,thread_start + +- /* Successful return from the parent */ ++ /* Successful return from the parent ++ No need to restore the PIC register, ++ since we return immediately. */ ++ + bv %r0(%rp) + nop + + /* Something bad happened -- no child created */ + .Lerror: ++ ++ /* Restore the PIC register on error */ ++#ifdef PIC ++ ldw -32(%sr0, %sp), %r19 /* parent */ ++#endif ++ + b __syscall_error + sub %r0,%ret0,%arg0 + + thread_start: ++ + /* Load up the arguments. */ +- ldw -60(%sp),%arg0 +- ldw -64(%sp),%r22 ++ ldw -60(%sr0, %sp),%arg0 ++ ldw -64(%sr0, %sp),%r22 ++ ++ /* FIXME: Don't touch the childs PIC register? */ + + /* Call the user's function */ + bl $$dyncall,%r31 +diff -urN glibc-2.3.2-orig-debian/sysdeps/unix/sysv/linux/hppa/kernel_stat.h glibc-2.3.2/sysdeps/unix/sysv/linux/hppa/kernel_stat.h +--- glibc-2.3.2-orig-debian/sysdeps/unix/sysv/linux/hppa/kernel_stat.h 2003-10-22 01:03:48.000000000 -0400 ++++ glibc-2.3.2/sysdeps/unix/sysv/linux/hppa/kernel_stat.h 2003-10-22 01:07:38.000000000 -0400 +@@ -1,30 +1,30 @@ +-/* definition of "struct stat" from the kernel */ ++/* Definition of 'struct stat' taken from kernel, please keep up to date */ + struct kernel_stat { +- unsigned long st_dev; /* dev_t is 32 bits on parisc */ +- unsigned long st_ino; /* 32 bits */ ++ unsigned int st_dev; /* dev_t is 32 bits on parisc */ ++ unsigned int st_ino; /* 32 bits */ + unsigned short st_mode; /* 16 bits */ + unsigned short st_nlink; /* 16 bits */ + unsigned short st_reserved1; /* old st_uid */ + unsigned short st_reserved2; /* old st_gid */ +- unsigned long st_rdev; +- unsigned long st_size; ++ unsigned int st_rdev; ++ unsigned int st_size; + struct timespec st_atim; +- struct timespec st_mtim; +- struct timespec st_ctim; +- long st_blksize; +- long st_blocks; +- unsigned long __unused1; /* ACL stuff */ +- unsigned long __unused2; /* network */ +- unsigned long __unused3; /* network */ +- unsigned long __unused4; /* cnodes */ ++ struct timespec st_mtim; ++ struct timespec st_ctim; ++ int st_blksize; ++ int st_blocks; ++ unsigned int __unused1; /* ACL stuff */ ++ unsigned int __unused2; /* network */ ++ unsigned int __unused3; /* network */ ++ unsigned int __unused4; /* cnodes */ + unsigned short __unused5; /* netsite */ + short st_fstype; +- unsigned long st_realdev; ++ unsigned int st_realdev; + unsigned short st_basemode; + unsigned short st_spareshort; +- unsigned long st_uid; +- unsigned long st_gid; +- unsigned long st_spare4[3]; ++ unsigned int st_uid; ++ unsigned int st_gid; ++ unsigned int st_spare4[3]; + }; + + #define _HAVE_STAT_NSEC +diff -urN glibc-2.3.2-orig-debian/sysdeps/unix/sysv/linux/hppa/mmap.c glibc-2.3.2/sysdeps/unix/sysv/linux/hppa/mmap.c +--- glibc-2.3.2-orig-debian/sysdeps/unix/sysv/linux/hppa/mmap.c 2003-10-22 01:03:48.000000000 -0400 ++++ glibc-2.3.2/sysdeps/unix/sysv/linux/hppa/mmap.c 2003-10-22 01:07:38.000000000 -0400 +@@ -37,7 +37,7 @@ + + __ptr_t ret; + +- ret = INLINE_SYSCALL(mmap, 6, addr, len, prot, flags, fd, offset); ++ ret = (__ptr_t)INLINE_SYSCALL(mmap, 6, addr, len, prot, flags, fd, offset); + + /* check if it's really a negative number */ + if(((unsigned long)ret & 0xfffff000) == 0xfffff000) +diff -urN glibc-2.3.2-orig-debian/sysdeps/unix/sysv/linux/hppa/sysdep.c glibc-2.3.2/sysdeps/unix/sysv/linux/hppa/sysdep.c +--- glibc-2.3.2-orig-debian/sysdeps/unix/sysv/linux/hppa/sysdep.c 2003-10-22 01:03:48.000000000 -0400 ++++ glibc-2.3.2/sysdeps/unix/sysv/linux/hppa/sysdep.c 2003-10-22 01:07:38.000000000 -0400 +@@ -19,6 +19,10 @@ + #include + #include + ++extern int __syscall_error(int err_no); ++extern int syscall (int sysnum, int arg0, int arg1, int arg2, ++ int arg3, int arg4, int arg5); ++ + /* This routine is jumped to by all the syscall handlers, to stash + an error number into errno. */ + int +@@ -30,25 +34,31 @@ + + + /* HPPA implements syscall() in 'C'; the assembler version would +- typically be in syscall.S. */ +- ++ typically be in syscall.S. Also note that we have INLINE_SYSCALL, ++ INTERNAL_SYSCALL, and all the generated pure assembly syscall wrappers. ++ How often the function is used is unknown. */ + int + syscall (int sysnum, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5) + { +- long __sys_res; +- { +- register unsigned long __res asm("r28"); +- LOAD_ARGS_6(arg0, arg1, arg2, arg3, arg4, arg5) +- asm volatile ("ble 0x100(%%sr2, %%r0)\n\t" +- "copy %1, %%r20" +- : "=r" (__res) +- : "r" (sysnum) ASM_ARGS_6); +- __sys_res = __res; +- } +- if ((unsigned long) __sys_res >= (unsigned long)-4095) +- { +- __set_errno(-__sys_res); +- __sys_res = -1; +- } +- return __sys_res; ++ /* FIXME: Keep this matching INLINE_SYSCALL for hppa */ ++ long __sys_res; ++ { ++ register unsigned long __res asm("r28"); ++ LOAD_ARGS_6(arg0, arg1, arg2, arg3, arg4, arg5) ++ asm volatile ( ++ STW_ASM_PIC ++ " ble 0x100(%%sr2, %%r0) \n" ++ " copy %1, %%r20 \n" ++ LDW_ASM_PIC ++ : "=r" (__res) ++ : "r" (sysnum) ASM_ARGS_6 ++ : CALL_CLOB_REGS CLOB_ARGS_6 ++ ); ++ __sys_res = __res; ++ } ++ if ((unsigned long) __sys_res >= (unsigned long)-4095){ ++ __set_errno(-__sys_res); ++ __sys_res = -1; ++ } ++ return __sys_res; + } +diff -urN glibc-2.3.2-orig-debian/sysdeps/unix/sysv/linux/hppa/sysdep.h glibc-2.3.2/sysdeps/unix/sysv/linux/hppa/sysdep.h +--- glibc-2.3.2-orig-debian/sysdeps/unix/sysv/linux/hppa/sysdep.h 2003-10-22 01:06:12.000000000 -0400 ++++ glibc-2.3.2/sysdeps/unix/sysv/linux/hppa/sysdep.h 2003-10-22 01:07:38.000000000 -0400 +@@ -31,6 +31,26 @@ + #undef SYS_ify + #define SYS_ify(syscall_name) (__NR_##syscall_name) + ++/* Included for older kernels whose headers ++ are missing the define */ ++#ifndef __NR_semtimedop ++# define __NR_semtimedop 228 ++#endif ++ ++# ifdef PIC ++/* WARNING: CANNOT BE USED IN A NOP! */ ++# define STW_PIC stw %r19, -32(%sr0, %sp) ASM_LINE_SEP ++# define LDW_PIC ldw -32(%sr0, %sp), %r19 ASM_LINE_SEP ++# define STW_ASM_PIC " copy %%r19, %%r4\n" ++# define LDW_ASM_PIC " copy %%r4, %%r19\n" ++# define USING_GR4 "%r4", ++# else ++# define STW_PIC ASM_LINE_SEP ++# define LDW_PIC ASM_LINE_SEP ++# define STW_ASM_PIC " \n" ++# define LDW_ASM_PIC " \n" ++# define USING_GR4 ++# endif + + #ifdef __ASSEMBLER__ + +@@ -77,20 +97,13 @@ + .text ASM_LINE_SEP \ + .export C_SYMBOL_NAME(name) ASM_LINE_SEP \ + .type C_SYMBOL_NAME(name),@function ASM_LINE_SEP \ +- C_LABEL(name) \ +- CALL_MCOUNT +- +-#define ret \ +- bv 0(2) ASM_LINE_SEP \ +- nop +- +-#define ret_NOERRNO \ +- bv 0(2) ASM_LINE_SEP \ +- nop ++ C_LABEL(name) ASM_LINE_SEP \ ++ CALL_MCOUNT ASM_LINE_SEP + + #undef END +-#define END(name) \ +-1: .size C_SYMBOL_NAME(name),1b-C_SYMBOL_NAME(name) ++#define END(name) \ ++1: ASM_LINE_SEP \ ++.size C_SYMBOL_NAME(name),1b-C_SYMBOL_NAME(name) ASM_LINE_SEP \ + + /* If compiled for profiling, call `mcount' at the start of each function. */ + /* No, don't bother. gcc will put the call in for us. */ +@@ -110,27 +123,83 @@ + nop + */ + +-#define PSEUDO(name, syscall_name, args) \ +- ENTRY (name) \ +- DO_CALL(syscall_name, args) ASM_LINE_SEP \ +- nop ++#define PSEUDO(name, syscall_name, args) \ ++ ENTRY (name) \ ++ DO_CALL(syscall_name, args) ASM_LINE_SEP \ ++ nop ASM_LINE_SEP ++ ++#define ret \ ++ /* Return value set by ERRNO code */ ASM_LINE_SEP \ ++ bv 0(2) ASM_LINE_SEP \ ++ nop ASM_LINE_SEP + + #undef PSEUDO_END +-#define PSEUDO_END(name) \ ++#define PSEUDO_END(name) \ + END (name) + +-#define PSEUDO_NOERRNO(name, syscall_name, args) \ +- ENTRY (name) \ +- DO_CALL(syscall_name, args) ASM_LINE_SEP \ +- nop ++/* We don't set the errno on the return from the syscall */ ++#define PSEUDO_NOERRNO(name, syscall_name, args) \ ++ ENTRY (name) \ ++ DO_CALL_NOERRNO(syscall_name, args) ASM_LINE_SEP \ ++ nop ASM_LINE_SEP + ++#define ret_NOERRNO ret ++ + #undef PSEUDO_END_NOERRNO +-#define PSEUDO_END_NOERRNO(name) \ ++#define PSEUDO_END_NOERRNO(name) \ + END (name) + ++/* This has to return the error value */ ++#undef PSEUDO_ERRVAL ++#define PSEUDO_ERRVAL(name, syscall_name, args) \ ++ ENTRY(name) \ ++ DO_CALL_ERRVAL(syscall_name, args) ASM_LINE_SEP \ ++ nop ASM_LINE_SEP ++ ++#define ret_ERRVAL ret ++ ++#undef PSEUDO_END_ERRVAL ++#define PSEUDO_END_ERRVAL(name) \ ++ END(name) ++ ++#undef JUMPTARGET + #define JUMPTARGET(name) name + #define SYSCALL_PIC_SETUP /* Nothing. */ + ++ ++/* All the syscall assembly macros rely on finding the approriate ++ SYSCALL_ERROR_LABEL or rather HANDLER. */ ++ ++/* int * __errno_location(void) so you have to store your value ++ into the return address! */ ++#define DEFAULT_SYSCALL_ERROR_HANDLER \ ++ .import __errno_location,code ASM_LINE_SEP \ ++ /* branch to errno handler */ ASM_LINE_SEP \ ++ bl __errno_location,%rp ASM_LINE_SEP ++ ++/* Here are the myriad of configuration options that the above can ++ work for... what we've done is provide the framework for future ++ changes if required to each section */ ++ ++#ifdef PIC ++# if RTLD_PRIVATE_ERRNO ++# define SYSCALL_ERROR_HANDLER DEFAULT_SYSCALL_ERROR_HANDLER ++# else /* !RTLD_PRIVATE_ERRNO */ ++# if defined _LIBC_REENTRANT ++# define SYSCALL_ERROR_HANDLER DEFAULT_SYSCALL_ERROR_HANDLER ++# else /* !_LIBC_REENTRANT */ ++# define SYSCALL_ERROR_HANDLER DEFAULT_SYSCALL_ERROR_HANDLER ++# endif /* _LIBC_REENTRANT */ ++# endif /* RTLD_PRIVATE_ERRNO */ ++#else ++# ifndef _LIBC_REENTRANT ++# define SYSCALL_ERROR_HANDLER DEFAULT_SYSCALL_ERROR_HANDLER ++# else ++# define SYSCALL_ERROR_HANDLER DEFAULT_SYSCALL_ERROR_HANDLER ++# endif ++#endif ++ ++ + /* Linux takes system call arguments in registers: + syscall number gr20 + arg 1 gr26 +@@ -159,25 +228,61 @@ + + #undef DO_CALL + #define DO_CALL(syscall_name, args) \ +- DOARGS_##args \ ++ DOARGS_##args ASM_LINE_SEP \ ++ STW_PIC ASM_LINE_SEP \ ++ /* Do syscall, delay loads # */ ASM_LINE_SEP \ + ble 0x100(%sr2,%r0) ASM_LINE_SEP \ + ldi SYS_ify (syscall_name), %r20 ASM_LINE_SEP \ + ldi -0x1000,%r1 ASM_LINE_SEP \ + cmpb,>>=,n %r1,%ret0,0f ASM_LINE_SEP \ +- stw %rp, -20(%sr0,%r30) ASM_LINE_SEP \ +- stw %ret0, -24(%sr0,%r30) ASM_LINE_SEP \ +- .import __errno_location,code ASM_LINE_SEP \ +- bl __errno_location,%rp ASM_LINE_SEP \ +- ldo 64(%r30), %r30 ASM_LINE_SEP \ +- ldo -64(%r30), %r30 ASM_LINE_SEP \ +- ldw -24(%r30), %r26 ASM_LINE_SEP \ ++ /* save rp or we get lost */ ASM_LINE_SEP \ ++ stw %rp, -20(%sr0,%sp) ASM_LINE_SEP \ ++ /* Restore r19 from frame */ ASM_LINE_SEP \ ++ LDW_PIC ASM_LINE_SEP \ ++ stw %ret0, -24(%sr0,%sp) ASM_LINE_SEP \ ++ SYSCALL_ERROR_HANDLER ASM_LINE_SEP \ ++ /* create frame */ ASM_LINE_SEP \ ++ ldo 64(%sp), %sp ASM_LINE_SEP \ ++ ldo -64(%sp), %sp ASM_LINE_SEP \ ++ /* OPTIMIZE: Don't reload r19 */ ASM_LINE_SEP \ ++ /* do a -1*syscall_ret0 */ ASM_LINE_SEP \ ++ ldw -24(%sr0,%sp), %r26 ASM_LINE_SEP \ + sub %r0, %r26, %r26 ASM_LINE_SEP \ ++ /* Store into errno location */ ASM_LINE_SEP \ + stw %r26, 0(%sr0,%ret0) ASM_LINE_SEP \ ++ /* return -1 as error */ ASM_LINE_SEP \ + ldo -1(%r0), %ret0 ASM_LINE_SEP \ +- ldw -20(%r30), %rp ASM_LINE_SEP \ ++ ldw -20(%sr0,%sp), %rp ASM_LINE_SEP \ + 0: ASM_LINE_SEP \ ++ UNDOARGS_##args ASM_LINE_SEP ++ ++/* We do nothing with the return, except hand it back to someone else */ ++#undef DO_CALL_NOERRNO ++#define DO_CALL_NOERRNO(syscall_name, args) \ ++ DOARGS_##args \ ++ /* No need to store r19 */ ASM_LINE_SEP \ ++ ble 0x100(%sr2,%r0) ASM_LINE_SEP \ ++ ldi SYS_ify (syscall_name), %r20 ASM_LINE_SEP \ ++ /* Caller will restore r19 */ ASM_LINE_SEP \ + UNDOARGS_##args + ++/* Here, we return the ERRVAL in assembly, note we don't call the ++ error handler function, but we do 'negate' the return _IF_ ++ it's an error. Not sure if this is the right semantic. */ ++ ++#undef DO_CALL_ERRVAL ++#define DO_CALL_ERRVAL(syscall_name, args) \ ++ DOARGS_##args ASM_LINE_SEP \ ++ /* No need to store r19 */ ASM_LINE_SEP \ ++ ble 0x100(%sr2,%r0) ASM_LINE_SEP \ ++ ldi SYS_ify (syscall_name), %r20 ASM_LINE_SEP \ ++ /* Caller will restore r19 */ ASM_LINE_SEP \ ++ ldi -0x1000,%r1 ASM_LINE_SEP \ ++ cmpb,>>=,n %r1,%ret0,0f ASM_LINE_SEP \ ++ sub %r0, %ret0, %ret0 ASM_LINE_SEP \ ++0: ASM_LINE_SEP \ ++ UNDOARGS_##args ASM_LINE_SEP ++ + #define DOARGS_0 /* nothing */ + #define DOARGS_1 /* nothing */ + #define DOARGS_2 /* nothing */ +@@ -198,26 +303,87 @@ + + #else + ++/* GCC has to be warned that a syscall may clobber all the ABI ++ registers listed as "caller-saves", see page 8, Table 2 ++ in section 2.2.6 of the PA-RISC RUN-TIME architecture ++ document. However! r28 is the result and will conflict with ++ the clobber list so it is left out. Also the input arguments ++ registers r20 -> r26 will conflict with the list so they ++ are treated specially. Although r19 is clobbered by the syscall ++ we cannot say this because it would violate ABI, thus we say ++ r4 is clobbered and use that register to save/restore r19 ++ across the syscall. */ ++ ++#define CALL_CLOB_REGS "%r1", "%r2", USING_GR4 \ ++ "%r20", "%r29", "%r31" ++ + #undef INLINE_SYSCALL +-#define INLINE_SYSCALL(name, nr, args...) ({ \ ++#define INLINE_SYSCALL(name, nr, args...) ({ \ ++ long __sys_res; \ ++ { \ ++ register unsigned long __res asm("r28"); \ ++ LOAD_ARGS_##nr(args) \ ++ /* FIXME: HACK stw/ldw r19 around syscall */ \ ++ asm volatile( \ ++ STW_ASM_PIC \ ++ " ble 0x100(%%sr2, %%r0)\n" \ ++ " ldi %1, %%r20\n" \ ++ LDW_ASM_PIC \ ++ : "=r" (__res) \ ++ : "i" (SYS_ify(name)) ASM_ARGS_##nr \ ++ : CALL_CLOB_REGS CLOB_ARGS_##nr \ ++ ); \ ++ __sys_res = (long)__res; \ ++ } \ ++ if ( (unsigned long)__sys_res >= (unsigned long)-4095 ){ \ ++ __set_errno(-__sys_res); \ ++ __sys_res = -1; \ ++ } \ ++ __sys_res; \ ++}) ++ ++/* INTERNAL_SYSCALL_DECL - Allows us to setup some function static ++ value to use within the context of the syscall ++ INTERNAL_SYSCALL_ERROR_P - Returns 0 if it wasn't an error, 1 otherwise ++ You are allowed to use the syscall result (val) and the DECL error variable ++ to determine what went wrong. ++ INTERLAL_SYSCALL_ERRNO - Munges the val/err pair into the error number. ++ In our case we just flip the sign. */ ++ ++#undef INTERNAL_SYSCALL_DECL ++#define INTERNAL_SYSCALL_DECL(err) do { } while (0) ++ ++/* Equivalent to (val < 0)&&(val > -4095) which is what we want */ ++#undef INTERNAL_SYSCALL_ERROR_P ++#define INTERNAL_SYSCALL_ERROR_P(val, err) \ ++ ((unsigned long)val >= (unsigned long)-4095) ++ ++#undef INTERNAL_SYSCALL_ERRNO ++#define INTERNAL_SYSCALL_ERRNO(val, err) (-(val)) ++ ++/* Similar to INLINE_SYSCALL but we don't set errno */ ++#undef INTERNAL_SYSCALL ++#define INTERNAL_SYSCALL(name, err, nr, args...) \ ++({ \ + long __sys_res; \ + { \ + register unsigned long __res asm("r28"); \ + LOAD_ARGS_##nr(args) \ ++ /* FIXME: HACK stw/ldw r19 around syscall */ \ + asm volatile( \ +- "ble 0x100(%%sr2, %%r0)\n\t" \ +- " ldi %1, %%r20" \ ++ STW_ASM_PIC \ ++ " ble 0x100(%%sr2, %%r0)\n" \ ++ " ldi %1, %%r20\n" \ ++ LDW_ASM_PIC \ + : "=r" (__res) \ + : "i" (SYS_ify(name)) ASM_ARGS_##nr \ +- ); \ +- __sys_res = __res; \ +- } \ +- if ((unsigned long)__sys_res >= (unsigned long)-4095) { \ +- __set_errno(-__sys_res); \ +- __sys_res = -1; \ ++ : CALL_CLOB_REGS CLOB_ARGS_##nr \ ++ ); \ ++ __sys_res = (long)__res; \ + } \ + __sys_res; \ +-}) ++ }) ++ + + #define LOAD_ARGS_0() + #define LOAD_ARGS_1(r26) \ +@@ -239,12 +405,22 @@ + register unsigned long __r21 __asm__("r21") = (unsigned long)r21; \ + LOAD_ARGS_5(r26,r25,r24,r23,r22) + +-#define ASM_ARGS_0 +-#define ASM_ARGS_1 , "r" (__r26) +-#define ASM_ARGS_2 , "r" (__r26), "r" (__r25) +-#define ASM_ARGS_3 , "r" (__r26), "r" (__r25), "r" (__r24) +-#define ASM_ARGS_4 , "r" (__r26), "r" (__r25), "r" (__r24), "r" (__r23) +-#define ASM_ARGS_5 , "r" (__r26), "r" (__r25), "r" (__r24), "r" (__r23), "r" (__r22) +-#define ASM_ARGS_6 , "r" (__r26), "r" (__r25), "r" (__r24), "r" (__r23), "r" (__r22), "r" (__r21) +- ++/* Even with zero args we use r20 for the syscall number */ ++#define ASM_ARGS_0 ++#define ASM_ARGS_1 ASM_ARGS_0, "r" (__r26) ++#define ASM_ARGS_2 ASM_ARGS_1, "r" (__r25) ++#define ASM_ARGS_3 ASM_ARGS_2, "r" (__r24) ++#define ASM_ARGS_4 ASM_ARGS_3, "r" (__r23) ++#define ASM_ARGS_5 ASM_ARGS_4, "r" (__r22) ++#define ASM_ARGS_6 ASM_ARGS_5, "r" (__r21) ++ ++/* The registers not listed as inputs but clobbered */ ++#define CLOB_ARGS_6 ++#define CLOB_ARGS_5 CLOB_ARGS_6, "%r21" ++#define CLOB_ARGS_4 CLOB_ARGS_5, "%r22" ++#define CLOB_ARGS_3 CLOB_ARGS_4, "%r23" ++#define CLOB_ARGS_2 CLOB_ARGS_3, "%r24" ++#define CLOB_ARGS_1 CLOB_ARGS_2, "%r25" ++#define CLOB_ARGS_0 CLOB_ARGS_1, "%r26" ++ + #endif /* __ASSEMBLER__ */ +diff -urN glibc-2.3.2-orig-debian/sysdeps/unix/sysv/linux/hppa/umount.c glibc-2.3.2/sysdeps/unix/sysv/linux/hppa/umount.c +--- glibc-2.3.2-orig-debian/sysdeps/unix/sysv/linux/hppa/umount.c 2003-10-22 01:03:48.000000000 -0400 ++++ glibc-2.3.2/sysdeps/unix/sysv/linux/hppa/umount.c 2003-10-22 01:07:38.000000000 -0400 +@@ -21,6 +21,7 @@ + does down here. */ + + extern long int __umount2 (const char *name, int flags); ++extern long int __umount (const char * name); + + long int + __umount (const char *name) +diff -urN glibc-2.3.2-orig-debian/sysdeps/unix/sysv/linux/sys/sysctl.h glibc-2.3.2/sysdeps/unix/sysv/linux/sys/sysctl.h +--- glibc-2.3.2-orig-debian/sysdeps/unix/sysv/linux/sys/sysctl.h 2003-10-22 01:06:13.000000000 -0400 ++++ glibc-2.3.2/sysdeps/unix/sysv/linux/sys/sysctl.h 2003-10-22 01:07:38.000000000 -0400 +@@ -24,7 +24,9 @@ + #include + /* Prevent more kernel headers than necessary to be included. */ + #define _LINUX_KERNEL_H 1 +-#define _LINUX_TYPES_H 1 ++#ifndef _LINUX_TYPES_H ++# define _LINUX_TYPES_H 1 ++#endif + #define _LINUX_LIST_H 1 + /* We do need this one for the declarations in , + since we've elided the inclusion of that gets them. */ --- glibc-2.3.6.orig/debian/patches/locale-de_CH.dpatch +++ glibc-2.3.6/debian/patches/locale-de_CH.dpatch @@ -0,0 +1,39 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Changing d_fmt from "%Y-%m-%d" to "%d.%m.%Y" +# DP: Related bugs: #27397 +# DP: Dpatch author: +# DP: Patch author: Alastair McKinstry +# DP: Upstream status: +# DP: Status Details: +# DP: Date: 2002-02-11 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + + +# append the patch here and adjust the -p? flag in the patch calls. +diff -urN glibc-2.2.5.orig/localedata/locales/de_CH glibc-2.2.5/localedata/locales/de_CH +--- glibc-2.2.5.orig/localedata/locales/de_CH Thu Dec 20 10:51:20 2001 ++++ glibc-2.2.5/localedata/locales/de_CH Sun Mar 10 23:00:09 2002 +@@ -114,7 +114,7 @@ + "";/ + "" + d_t_fmt "" +-d_fmt "" ++d_fmt "" + t_fmt "" + am_pm "";"" + t_fmt_ampm "" + --- glibc-2.3.6.orig/debian/patches/locale-no_NO.dpatch +++ glibc-2.3.6/debian/patches/locale-no_NO.dpatch @@ -0,0 +1,2265 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Keep no_NO around during transition to nb_NO +# DP: Related bugs: +# DP: Dpatch author: Jeff Bailey +# DP: Patch author: Petter Reinholdtsen +# DP: Upstream status: Debian-Specific +# DP: Status Details: +# DP: Date: Wed Mar 24 10:35:44 EST 2004, (Updated 2005-01-02 gotom) + +PATCHLEVEL=0 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +2005-01-02 GOTO Masanori + + * intl/locale.alias: Dropped. + +--- /dev/null 2004-03-23 05:59:13.000000000 -0500 ++++ localedata/locales/no_NO 2004-03-24 10:31:32.000000000 -0500 +@@ -0,0 +1,2231 @@ ++escape_char / ++comment_char % ++ ++% This is NOT the Norwegian language locale for Norway ++% You really want nb_NO instead. ++% Source: Norsk Standardiseringsforbund ++% Address: University Library, ++% Drammensveien 41, N-9242 Oslo, Norge ++% Contact: Kolbjoern Aamboe ++% Tel: +47 - 22859109 ++% Fax: +47 - 22434497 ++% Email: kolbjorn.aambo@usit.uio.no ++% Language: no ++% Territory: NO ++% Revision: 4.3 ++% Date: 1996-10-15 ++% Application: general ++% Users: general ++% Repertoiremap: mnemonic.ds ++% Charset: ISO-8859-1 ++% Distribution and use is free, also ++% for commercial purposes. ++ ++LC_IDENTIFICATION ++title "Norwegian (Bokmal) locale for Norway" ++source "Norsk Standardiseringsforbund" ++address "University Library,, Drammensveien 41, N-9242 Oslo, Norge" ++contact "" ++email "bug-glibc@gnu.org" ++tel "" ++fax "" ++language "Norwegian Bokml" ++territory "Norway" ++revision "1.0" ++date "2000-06-29" ++% ++category "nb_NO:2000";LC_IDENTIFICATION ++category "nb_NO:2000";LC_CTYPE ++category "nb_NO:2000";LC_COLLATE ++category "nb_NO:2000";LC_TIME ++category "nb_NO:2000";LC_NUMERIC ++category "nb_NO:2000";LC_MONETARY ++category "nb_NO:2000";LC_MESSAGES ++category "nb_NO:2000";LC_PAPER ++category "nb_NO:2000";LC_NAME ++category "nb_NO:2000";LC_ADDRESS ++category "nb_NO:2000";LC_TELEPHONE ++ ++END LC_IDENTIFICATION ++ ++LC_COLLATE ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-element from "" ++ ++% Base collation scheme: 1994-03-22 ++ ++% Ordering algorithm: ++% 1. Spaces and hyphen (but not soft ++% hyphen) before punctuation ++% characters, punctuation characters ++% before numbers, ++% numbers before letters. ++% 2. Letters with diacritical marks are ++% members of equivalence classes ++% 3. A distinction is made with regards ++% to case as noted below. ++% 4. Special characters are ignored ++% when comparing letters, but then ++% they are considered ++% 5. The alphabets are sorted in order ++% of first appearance in ISO 10646: ++% Latin, Greek, Cyrillic, etc. ++% ++% According to Greek specifications, ++% the steps 2. and 3. above are reversed ++% for the Greek script ++ ++% collating symbols ++ ++% The collating symbol naming is ++% mostly taken from ISO 10646-1, ++% for example the case and accent ++% names are from this standard. ++ ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++ ++% and ++% are for cases like Danish ++% and Spanish being treated ++% as one letter. ++ ++% The ...... collating ++% symbols have defined weights as ++% the last character in a group of ++% Latin letters. They are used ++% to specify deltas by locales using ++% a locale as the default ordering ++% and by "replace-after" statements ++% specifying the changed placement ++% in an ordering of a character. ++ ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++ ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++ ++% letter;accent;case;specials ++ ++order_start forward;backward/ ++ ;forward;position ++ ++% or letters first: ++ ++% before letters ++ ++ ++ ++ ++ ++% Accents: ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ;;;IGNORE ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++<"=> IGNORE;IGNORE;IGNORE;<"=> ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++UNDEFINED IGNORE;IGNORE;IGNORE ++ ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE %LATIN CAPITAL LETTER ETH (Icelandic) ++ ;;;IGNORE %LATIN SMALL LETTER ETH (Icelandic) ++ ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++ "";"";"";IGNORE ++ "";"";"";IGNORE ++ "";"";"";IGNORE ++ "";"";"";IGNORE ++ "";"";"";IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++ "";"";"";IGNORE ++ "";"";"";IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++ "";"";"";IGNORE ++ "";"";"";IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++ "";"";"";IGNORE ++ "";"";"";IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++ ;;;IGNORE ++ ;;;IGNORE ++ ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++ ;;;IGNORE ++ ;;;IGNORE ++ "";"";"";IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++ ;;;IGNORE ++ "";"";"";IGNORE ++ "";"";"";IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++ "";"";"";IGNORE ++ "";"";"";IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;IGNORE;IGNORE;IGNORE ++ ;IGNORE;IGNORE;IGNORE ++ ;IGNORE;IGNORE;IGNORE ++ ;IGNORE;IGNORE;IGNORE ++ ;IGNORE;IGNORE;IGNORE ++ ;IGNORE;IGNORE;IGNORE ++ ;IGNORE;IGNORE;IGNORE ++ ;IGNORE;IGNORE;IGNORE ++ ;IGNORE;IGNORE;IGNORE ++ ;IGNORE;IGNORE;IGNORE ++ ;IGNORE;IGNORE;IGNORE ++ ;IGNORE;IGNORE;IGNORE ++ ;IGNORE;IGNORE;IGNORE ++ ;IGNORE;IGNORE;IGNORE ++ ;IGNORE;IGNORE;IGNORE ++ ;IGNORE;IGNORE;IGNORE ++ ;IGNORE;IGNORE;IGNORE ++ ;IGNORE;IGNORE;IGNORE ++ ;IGNORE;IGNORE;IGNORE ++ ;IGNORE;IGNORE;IGNORE ++ ;IGNORE;IGNORE;IGNORE ++ ;IGNORE;IGNORE;IGNORE ++ ;IGNORE;IGNORE;IGNORE ++ ;IGNORE;IGNORE;IGNORE ++ ;IGNORE;IGNORE;IGNORE ++ ;IGNORE;IGNORE;IGNORE ++ ;IGNORE;IGNORE;IGNORE ++ ++% Arabic collating ++ ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ IGNORE;IGNORE;IGNORE; ++ ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ++ IGNORE;IGNORE;;IGNORE ++ IGNORE;IGNORE;;IGNORE ++ IGNORE;IGNORE;;IGNORE ++ IGNORE;IGNORE;;IGNORE ++ IGNORE;IGNORE;;IGNORE ++ IGNORE;IGNORE;;IGNORE ++ IGNORE;IGNORE;;IGNORE ++ IGNORE;IGNORE;;IGNORE ++ IGNORE;IGNORE;;IGNORE ++ ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ++ "";"";"";IGNORE ++ "";"";"";IGNORE ++ "";"";"";IGNORE ++ "";"";"";IGNORE ++ "";"";"";IGNORE ++ "";"";"";IGNORE ++ "";"";"";IGNORE ++ "";"";"";IGNORE ++ ++% katakana/hiragana sorting ++% base is katakana, as this is present in most charsets ++% normal before voiced before semi-voiced ++% small vocals before normal vocals ++% katakana before hiragana ++ ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE ++ ++order_end ++ ++END LC_COLLATE ++ ++LC_CTYPE ++copy "i18n" ++END LC_CTYPE ++ ++LC_MONETARY ++int_curr_symbol "" ++currency_symbol "" ++mon_decimal_point "" ++mon_thousands_sep "" ++mon_grouping 3;3 ++positive_sign "" ++negative_sign "" ++int_frac_digits 2 ++frac_digits 2 ++p_cs_precedes 1 ++p_sep_by_space 0 ++n_cs_precedes 1 ++n_sep_by_space 0 ++p_sign_posn 4 ++n_sign_posn 4 ++END LC_MONETARY ++ ++LC_NUMERIC ++decimal_point "" ++thousands_sep "" ++grouping 3;3 ++END LC_NUMERIC ++ ++LC_TIME ++abday "";"";/ ++ "";"";/ ++ "";"";/ ++ "" ++day "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "" ++abmon "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"" ++mon "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "" ++% usual date representation ++d_t_fmt "" ++d_fmt "" ++t_fmt "" ++am_pm "";"" ++t_fmt_ampm "" ++date_fmt "/ ++/ ++" ++END LC_TIME ++ ++LC_MESSAGES ++yesexpr "" ++noexpr "" ++END LC_MESSAGES ++ ++LC_PAPER ++height 297 ++width 210 ++END LC_PAPER ++ ++LC_TELEPHONE ++tel_int_fmt "" ++tel_dom_fmt "" ++int_select "" ++int_prefix "" ++END LC_TELEPHONE ++ ++LC_MEASUREMENT ++measurement 1 ++END LC_MEASUREMENT ++ ++LC_NAME ++name_fmt "/ ++" ++END LC_NAME ++ ++LC_ADDRESS ++postal_fmt "/ ++/ ++/ ++/ ++" ++country_ab2 "" ++country_ab3 "" ++country_num 578 ++END LC_ADDRESS --- glibc-2.3.6.orig/debian/patches/local-all-belocs-test.dpatch +++ glibc-2.3.6/debian/patches/local-all-belocs-test.dpatch @@ -0,0 +1,37345 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Belocs locales data so the the testsuite passes +# DP: Related bugs: +# DP: Dpatch author: Jeff Bailey +# DP: Patch author: Various +# DP: Upstream status: Not submitted +# DP: Status Details: +# DP: Date: 2005-11-30 + +PATCHLEVEL=1 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +Note that in this patch we fix one test to cope with a change in the +locales, and we drop another one. + +The test that we drop represents a case of a locale colation for + + + +Nothing in the Belocs locales appears to use this at all, so +it's safe to drop the test (since it segfaults localedef) + +# append the patch here and adjust the -p? flag in the patch calls. +diff -ru glibc-2.3.5/localedata/locales/af_ZA glibc-old/localedata/locales/af_ZA +--- glibc-2.3.5/localedata/locales/af_ZA 2004-10-31 18:42:25.000000000 -0500 ++++ glibc-old/localedata/locales/af_ZA 2005-11-30 16:35:33.000000000 -0500 +@@ -1,33 +1,50 @@ + escape_char / + comment_char % + +-% Afrikaans language locale for South Africa +-% Source: RAP +-% Email: schalkc@ntaba.co.za +-% Tel: +27 12 3293397 +-% Fax: +27 12 3293397 +-% Language: af +-% Territory: ZA +-% Revision: 0.2 +-% Date: 1999-09-28 +-% Users: general +-% Repertoiremap: mnemonic.ds + % Charset: ISO-8859-1 +-% Distribution and use is free, also +-% for commercial purposes. ++ ++% ChangeLog ++% 1.2.1 (2005-10-13): ++% 2005-10-12 Dwayne Bailey ++% - Added 'Charset: ISO-8859-1' information ++% - Updated contact information ++% 1.2 (2004-10-28): ++% 2004-10-28 Dwayne Bailey ++% - Corrected country_name should be "Suid-Afrika" ++% 2004-10-27 Dwayne Bailey ++% - Change decimal and thousand separator to match common convention of ++% [comma]==thousand, [point]==decimal. Thus copy en_ZA ++% - Add country_post, lang_lib ++% - abmon March: Mar -> Mrt ++% - name_* corrected all capitalisation ++% - Add Translate.org.za to clarify "source" ++% - Update all contact details ++% - Change yesexpr to also accept yY ++% - Update yes/noexpr to remove .* ++% 2004-03-30 Dwayne Bailey ++% - Added name_miss ++% 1.1 (2003-04-23): ++% 2003-04-23 Dwayne Bailey ++% - Added LC_MEASUREMENT to LC_IDENTIFICATION ++% - PAPER, TELEPHONE and MEASUREMENT copy en_ZA ++% - Added "^" to yesexpr and noexpr ie "^[nN].*" ++% - Change maintainer to Zuza Software Foundation ++% - Add all missing items in LC_ADDRESS ++% - Add all name_* to LC_NAME ++% - Add various comments explaining items + + LC_IDENTIFICATION + title "Afrikaans locale for South Africa" +-source "RAP" +-address "" +-contact "" +-email "bug-glibc-locales@gnu.org" +-tel "" +-fax "" ++source "Zuza Software Foundation (Translate.org.za)" ++address "Box 28364, Sunnyside, 0132, South Africa" ++contact "Dwayne Bailey" ++email "dwayne@translate.org.za" ++tel "+27 12 460 1095" ++fax "+27 12 460 1095" + language "Afrikaans" + territory "South Africa" +-revision "1.0" +-date "2000-06-29" ++revision "1.2.1" ++date "2005-10-13" + % + category "af_ZA:2000";LC_IDENTIFICATION + category "af_ZA:2000";LC_CTYPE +@@ -35,11 +52,12 @@ + category "af_ZA:2000";LC_TIME + category "af_ZA:2000";LC_NUMERIC + category "af_ZA:2000";LC_MONETARY +-category "af_ZA:2000";LC_MESSAGES +-category "af_ZA:2000";LC_PAPER ++category "af_ZA:2003";LC_MESSAGES ++category "af_ZA:2003";LC_PAPER + category "af_ZA:2000";LC_NAME +-category "af_ZA:2000";LC_ADDRESS +-category "af_ZA:2000";LC_TELEPHONE ++category "af_ZA:2003";LC_ADDRESS ++category "af_ZA:2003";LC_TELEPHONE ++category "af_ZA:2003";LC_MEASUREMENT + + END LC_IDENTIFICATION + +@@ -48,39 +66,27 @@ + END LC_CTYPE + + LC_COLLATE +-copy "en_DK" ++copy "iso14651_t1" + END LC_COLLATE + +- + LC_MONETARY +-int_curr_symbol "" +-currency_symbol "" +-mon_decimal_point "" +-mon_thousands_sep "" +-mon_grouping 3;3 +-positive_sign "" +-negative_sign "" +-int_frac_digits 2 +-frac_digits 2 +-p_cs_precedes 1 +-p_sep_by_space 0 +-n_cs_precedes 1 +-n_sep_by_space 0 +-p_sign_posn 1 +-n_sign_posn 1 ++copy "en_ZA" + END LC_MONETARY + + LC_NUMERIC +-decimal_point "" +-thousands_sep "" +-grouping 3;3 ++copy "en_ZA" + END LC_NUMERIC + + LC_TIME ++% abday - The abbreviations for the week days: ++% - So, Ma, Di, Wo, Do, Vr, Sa + abday "";"";/ + "";"";/ + "";"";/ + "" ++ ++% day - The full names of the week days: ++% Sondag, Maandag, Dinsdag, Woensdag, Donderdag, Vrydag, Saterdag + day "";/ + "";/ + "";/ +@@ -88,12 +94,19 @@ + "";/ + "";/ + "" ++ ++% abmon - The abbreviations for the months ++% - Jan, Feb, Mrt, Apr, Mei, Jun, Jul, Aug, Sep, Okt, Nov, Des + abmon "";"";/ +- "";"";/ ++ "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"" ++ ++% mon - The full names of the months - ++% Januarie, Februarie, Maart, April, Mei, Junie ++% Julie, Augustus, September, Oktober, November, Desember + mon "";/ + "";/ + "";/ +@@ -106,50 +119,172 @@ + "";/ + "";/ + "" ++ ++% Abbreviated date and time representation to be referenced by the "%c" field descriptor - ++% ++% "%a" (short weekday name), ++% "%d" (day of month as a decimal number), ++% "%b" (short month name), ++% "%Y" (year with century as a decimal number), ++% "%T" (24-hour clock time in format HH:MM:SS), ++% "%Z" (Time zone name) + d_t_fmt "" +-d_fmt "" ++ ++% Date representation to be referenced by the "%x" field descriptor - ++% "%d/%m/%Y", day/month/year as decimal numbers (01/01/2000). ++d_fmt "" ++ ++% Time representation to be referenced by the "%X" field descriptor - ++% "%T" (24-hour clock time in format HH:MM:SS) + t_fmt "" ++ ++% Define representation of ante meridian and post maritime strings - ++% The "" mean 'default to "AM" and "PM". + am_pm "";"" ++ ++% Define time representation in 12-hour format with "am_pm", to be referenced by the "%r" ++% The "" means that this format is not supported. + t_fmt_ampm "" ++ ++% Date representation not described in ISO/IEC 14652. Comes out as - ++% "%a %b %e %H:%M:%S %Z %Y" which is default "date" command output ++% ++% %a - abbreviated weekday name, ++% %b - abbreviated month name, ++% %e - day of month as a decimal number with leading space (1 to 31), ++% %H - hour (24-hour clock) as a decimal number (00 to 23), ++% %M - minute as a decimal number (00 to 59), ++% %S - seconds as a decimal number (00 to 59), ++% %Z - time-zone name, ++% %Y - year with century as a decimal number,e.g. 2001. + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 1 + END LC_TIME + + LC_MESSAGES +-yesexpr "" +-noexpr "" ++% The affirmative response - ++% "^[jJyY]" ++yesexpr "" ++ ++% The negative response - ++% "^[nN]" ++noexpr "" + END LC_MESSAGES + + LC_PAPER +-% FIXME +-height 297 +-% FIXME +-width 210 ++copy "en_ZA" + END LC_PAPER + + LC_TELEPHONE +-tel_int_fmt "/ +-" +-int_prefix "" ++copy "en_ZA" + END LC_TELEPHONE + + LC_MEASUREMENT +-% FIXME +-measurement 1 ++copy "en_ZA" + END LC_MEASUREMENT + + LC_NAME ++% Format for addressing a person. ++% "%d%t%g%t%m%t%f" ++% ++% "Salutation", ++% "Empty string, or ", ++% "First given name", ++% "Empty string, or ", ++% "Middle names", ++% "Empty string, or ", ++% "Clan names" + name_fmt "/ + " ++ ++% General salutation for any sex ++% (no term) ++name_gen "" ++ ++% Salutation for unmarried females ++% "mej" ++name_miss "" ++ ++% Salutation for males ++% "mnr" ++name_mr "" ++ ++% Salutation for married females ++% "mev" ++name_mrs "" ++ ++% Salutation valid for all females ++% "me" ++name_ms "" + END LC_NAME + + LC_ADDRESS ++% Representation of postal addresses (minus the addressee's name) in South ++% Africa. (Ignored for now) ++% "%f%N%a%N%d%N%b%N%s %h %e %r%N%%z %T%N%c%N", which gives - ++% ++% "firm name", ++% "end of line", ++% "C/O address", ++% "end of line", ++% "department name", ++% "Building name", ++% "end of line", ++% "street or block name", ++% "space", ++% "house number or designation", ++% "space", ++% "floor number", ++% "space", ++% "room number, door designation", ++% "end of line", ++% "postal code", ++% "space", ++% "town, city", ++% "end of line", ++% "country designation for the keyword", ++% "end of line + postal_fmt "/ + / + / + / + " ++ ++% Country name in Afrikaans - "Suid-Afrika" ++country_name "/ ++" ++ ++% Language name in Afrikaans - "Afrikaans" ++lang_name "" ++ ++% CEPT MAILCODES are suggested ++% Alternatively use the code found on your countries postal item tracking number ++% "ZA" ++country_post "" ++ ++% UN Geneve 1949:68 Distinguishing signs of vehicles in international traffic ++% http://www.unece.org/trans/conventn/disting-signs-5-2001.pdf ++% "ZA" ++country_car "" ++ ++% ISO 2108 ++% http://www.isbn-international.org/html/prefix/prefa.htm ++country_isbn 0 ++ ++% ISO 639 language abbreviations: ++% 639-1 2 letter, 639-2 3 letter terminology ++% http://www.loc.gov/standards/iso639-2/englangn.html ++% "af", "afr", "afr" ++lang_ab "" ++lang_term "" ++lang_lib "" ++ ++% ISO 3166 country number and 2 and 3 letter abbreviations ++% http://www.unicode.org/onlinedat/countries.html ++% "ZA", "ZAF" + country_ab2 "" + country_ab3 "" + country_num 710 +diff -ru glibc-2.3.5/localedata/locales/ar_AE glibc-old/localedata/locales/ar_AE +--- glibc-2.3.5/localedata/locales/ar_AE 2004-10-31 18:42:25.000000000 -0500 ++++ glibc-old/localedata/locales/ar_AE 2005-11-30 16:35:33.000000000 -0500 +@@ -141,18 +141,13 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 7 + END LC_TIME + + + LC_MESSAGES +-% This is the POSIX Locale definition for the LC_MESSAGES category. +-% These are generated based on XML base Locale difintion file +-% for IBM Class for Unicode/Java +-% +-yesexpr "" +-% +-noexpr "" +-% ++copy "ar_EG" + END LC_MESSAGES + + +diff -ru glibc-2.3.5/localedata/locales/ar_BH glibc-old/localedata/locales/ar_BH +--- glibc-2.3.5/localedata/locales/ar_BH 2004-10-31 18:42:25.000000000 -0500 ++++ glibc-old/localedata/locales/ar_BH 2005-11-30 16:35:33.000000000 -0500 +@@ -145,18 +145,13 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 7 + END LC_TIME + + + LC_MESSAGES +-% This is the POSIX Locale definition for the LC_MESSAGES category. +-% These are generated based on XML base Locale difintion file +-% for IBM Class for Unicode/Java +-% +-yesexpr "" +-% +-noexpr "" +-% ++copy "ar_EG" + END LC_MESSAGES + + +diff -ru glibc-2.3.5/localedata/locales/ar_DZ glibc-old/localedata/locales/ar_DZ +--- glibc-2.3.5/localedata/locales/ar_DZ 2004-10-31 18:42:25.000000000 -0500 ++++ glibc-old/localedata/locales/ar_DZ 2005-11-30 16:35:33.000000000 -0500 +@@ -144,18 +144,13 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 7 + END LC_TIME + + + LC_MESSAGES +-% This is the POSIX Locale definition for the LC_MESSAGES category. +-% These are generated based on XML base Locale difintion file +-% for IBM Class for Unicode/Java +-% +-yesexpr "" +-% +-noexpr "" +-% ++copy "ar_EG" + END LC_MESSAGES + + +diff -ru glibc-2.3.5/localedata/locales/ar_EG glibc-old/localedata/locales/ar_EG +--- glibc-2.3.5/localedata/locales/ar_EG 2004-10-31 18:42:25.000000000 -0500 ++++ glibc-old/localedata/locales/ar_EG 2005-11-30 16:35:33.000000000 -0500 +@@ -144,18 +144,17 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 7 + END LC_TIME + + + LC_MESSAGES +-% This is the POSIX Locale definition for the LC_MESSAGES category. +-% These are generated based on XML base Locale difintion file +-% for IBM Class for Unicode/Java +-% +-yesexpr "" +-% +-noexpr "" +-% ++yesexpr "" ++noexpr "" ++ ++yesstr "" ++nostr "" + END LC_MESSAGES + + +diff -ru glibc-2.3.5/localedata/locales/ar_IN glibc-old/localedata/locales/ar_IN +--- glibc-2.3.5/localedata/locales/ar_IN 2004-10-31 18:42:25.000000000 -0500 ++++ glibc-old/localedata/locales/ar_IN 2005-11-30 16:35:33.000000000 -0500 +@@ -127,35 +127,13 @@ + % Appropriate 12 h time representation (%r) + t_fmt_ampm "" + % ++% FIXME: copied from other *_IN locales ++first_weekday 1 + END LC_TIME + + + LC_MESSAGES +-% This is the POSIX Locale definition for the LC_MESSAGES category +-% generated by IBM Basic CountryPack Transformer. +-% These are generated based on XML base Locale difintion file +-% for IBM Class for Unicode. +-% +-% ^[\u0646] +-yesexpr "" +- +-% Syntax on Unicode Regular Expression Guidelines TR#18 +-% yesexpr "" +- +-% +-% ^[\u0644] +-noexpr "" +- +-% Syntax on Unicode Regular Expression Guidelines TR#18 +-% noexpr "" +-% +- +-% \u0646\u0639\u0645 +-yesstr "" +-% +-% \u0644\u0627 +-nostr "" +-% ++copy "ar_EG" + END LC_MESSAGES + + +diff -ru glibc-2.3.5/localedata/locales/ar_IQ glibc-old/localedata/locales/ar_IQ +--- glibc-2.3.5/localedata/locales/ar_IQ 2004-10-31 18:42:25.000000000 -0500 ++++ glibc-old/localedata/locales/ar_IQ 2005-11-30 16:35:33.000000000 -0500 +@@ -144,18 +144,13 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 7 + END LC_TIME + + + LC_MESSAGES +-% This is the POSIX Locale definition for the LC_MESSAGES category. +-% These are generated based on XML base Locale difintion file +-% for IBM Class for Unicode/Java +-% +-yesexpr "" +-% +-noexpr "" +-% ++copy "ar_EG" + END LC_MESSAGES + + +diff -ru glibc-2.3.5/localedata/locales/ar_JO glibc-old/localedata/locales/ar_JO +--- glibc-2.3.5/localedata/locales/ar_JO 2004-10-31 18:42:25.000000000 -0500 ++++ glibc-old/localedata/locales/ar_JO 2005-11-30 16:35:33.000000000 -0500 +@@ -162,18 +162,13 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 7 + END LC_TIME + + + LC_MESSAGES +-% This is the POSIX Locale definition for the LC_MESSAGES category. +-% These are generated based on XML base Locale difintion file +-% for IBM Class for Unicode/Java +-% +-yesexpr "" +-% +-noexpr "" +-% ++copy "ar_EG" + END LC_MESSAGES + + +diff -ru glibc-2.3.5/localedata/locales/ar_KW glibc-old/localedata/locales/ar_KW +--- glibc-2.3.5/localedata/locales/ar_KW 2004-10-31 18:42:25.000000000 -0500 ++++ glibc-old/localedata/locales/ar_KW 2005-11-30 16:35:33.000000000 -0500 +@@ -144,18 +144,13 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 7 + END LC_TIME + + + LC_MESSAGES +-% This is the POSIX Locale definition for the LC_MESSAGES category. +-% These are generated based on XML base Locale difintion file +-% for IBM Class for Unicode/Java +-% +-yesexpr "" +-% +-noexpr "" +-% ++copy "ar_EG" + END LC_MESSAGES + + +diff -ru glibc-2.3.5/localedata/locales/ar_LB glibc-old/localedata/locales/ar_LB +--- glibc-2.3.5/localedata/locales/ar_LB 2004-10-31 18:42:25.000000000 -0500 ++++ glibc-old/localedata/locales/ar_LB 2005-11-30 16:35:33.000000000 -0500 +@@ -161,18 +161,13 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 7 + END LC_TIME + + + LC_MESSAGES +-% This is the POSIX Locale definition for the LC_MESSAGES category. +-% These are generated based on XML base Locale difintion file +-% for IBM Class for Unicode/Java +-% +-yesexpr "" +-% +-noexpr "" +-% ++copy "ar_EG" + END LC_MESSAGES + + +diff -ru glibc-2.3.5/localedata/locales/ar_LY glibc-old/localedata/locales/ar_LY +--- glibc-2.3.5/localedata/locales/ar_LY 2004-10-31 18:42:25.000000000 -0500 ++++ glibc-old/localedata/locales/ar_LY 2005-11-30 16:35:33.000000000 -0500 +@@ -144,18 +144,13 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 7 + END LC_TIME + + + LC_MESSAGES +-% This is the POSIX Locale definition for the LC_MESSAGES category. +-% These are generated based on XML base Locale difintion file +-% for IBM Class for Unicode/Java +-% +-yesexpr "" +-% +-noexpr "" +-% ++copy "ar_EG" + END LC_MESSAGES + + +diff -ru glibc-2.3.5/localedata/locales/ar_MA glibc-old/localedata/locales/ar_MA +--- glibc-2.3.5/localedata/locales/ar_MA 2004-10-31 18:42:25.000000000 -0500 ++++ glibc-old/localedata/locales/ar_MA 2005-11-30 16:35:33.000000000 -0500 +@@ -144,18 +144,13 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 7 + END LC_TIME + + + LC_MESSAGES +-% This is the POSIX Locale definition for the LC_MESSAGES category. +-% These are generated based on XML base Locale difintion file +-% for IBM Class for Unicode/Java +-% +-yesexpr "" +-% +-noexpr "" +-% ++copy "ar_EG" + END LC_MESSAGES + + +diff -ru glibc-2.3.5/localedata/locales/ar_OM glibc-old/localedata/locales/ar_OM +--- glibc-2.3.5/localedata/locales/ar_OM 2004-10-31 18:42:25.000000000 -0500 ++++ glibc-old/localedata/locales/ar_OM 2005-11-30 16:35:33.000000000 -0500 +@@ -144,18 +144,13 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 7 + END LC_TIME + + + LC_MESSAGES +-% This is the POSIX Locale definition for the LC_MESSAGES category. +-% These are generated based on XML base Locale difintion file +-% for IBM Class for Unicode/Java +-% +-yesexpr "" +-% +-noexpr "" +-% ++copy "ar_EG" + END LC_MESSAGES + + +diff -ru glibc-2.3.5/localedata/locales/ar_QA glibc-old/localedata/locales/ar_QA +--- glibc-2.3.5/localedata/locales/ar_QA 2004-10-31 18:42:25.000000000 -0500 ++++ glibc-old/localedata/locales/ar_QA 2005-11-30 16:35:33.000000000 -0500 +@@ -144,18 +144,13 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 7 + END LC_TIME + + + LC_MESSAGES +-% This is the POSIX Locale definition for the LC_MESSAGES category. +-% These are generated based on XML base Locale difintion file +-% for IBM Class for Unicode/Java +-% +-yesexpr "" +-% +-noexpr "" +-% ++copy "ar_EG" + END LC_MESSAGES + + +diff -ru glibc-2.3.5/localedata/locales/ar_SA glibc-old/localedata/locales/ar_SA +--- glibc-2.3.5/localedata/locales/ar_SA 2004-10-31 18:42:25.000000000 -0500 ++++ glibc-old/localedata/locales/ar_SA 2005-11-30 16:35:33.000000000 -0500 +@@ -43,223 +43,8 @@ + % Set up the LC_COLLATE category + + LC_COLLATE +- +- +-order_start forward; forward +- +- +- +- +- +- +- +- +- +- +- +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- ; +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- IGNORE +- IGNORE +- IGNORE +- IGNORE +- IGNORE +- IGNORE +- IGNORE +- IGNORE +- IGNORE +-order_end +- +- ++% Copy the template from ISO/IEC 14651 ++copy "iso14651_t1" + END LC_COLLATE + + +@@ -347,18 +132,13 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 7 + END LC_TIME + + +-% Set up the LC_MESSAGES category +-% yesexpr = "^(\346|\346\331\345)" +-% noexpr = "^(\344|\344\307)" +- + LC_MESSAGES +-yesstr "" +-nostr "" +-yesexpr "" +-noexpr "" ++copy "ar_EG" + END LC_MESSAGES + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/ar_SD glibc-old/localedata/locales/ar_SD +--- glibc-2.3.5/localedata/locales/ar_SD 2004-10-31 18:42:25.000000000 -0500 ++++ glibc-old/localedata/locales/ar_SD 2005-11-30 16:35:33.000000000 -0500 +@@ -144,18 +144,13 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 7 + END LC_TIME + + + LC_MESSAGES +-% This is the POSIX Locale definition for the LC_MESSAGES category. +-% These are generated based on XML base Locale definition file +-% for IBM Class for Unicode/Java +-% +-yesexpr "" +-% +-noexpr "" +-% ++copy "ar_EG" + END LC_MESSAGES + + +diff -ru glibc-2.3.5/localedata/locales/ar_SY glibc-old/localedata/locales/ar_SY +--- glibc-2.3.5/localedata/locales/ar_SY 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/ar_SY 2005-11-30 16:35:33.000000000 -0500 +@@ -161,18 +161,13 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 7 + END LC_TIME + + + LC_MESSAGES +-% This is the POSIX Locale definition for the LC_MESSAGES category. +-% These are generated based on XML base Locale difintion file +-% for IBM Class for Unicode/Java +-% +-yesexpr "" +-% +-noexpr "" +-% ++copy "ar_EG" + END LC_MESSAGES + + +diff -ru glibc-2.3.5/localedata/locales/ar_TN glibc-old/localedata/locales/ar_TN +--- glibc-2.3.5/localedata/locales/ar_TN 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/ar_TN 2005-11-30 16:35:33.000000000 -0500 +@@ -144,18 +144,13 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 7 + END LC_TIME + + + LC_MESSAGES +-% This is the POSIX Locale definition for the LC_MESSAGES category. +-% These are generated based on XML base Locale difintion file +-% for IBM Class for Unicode/Java +-% +-yesexpr "" +-% +-noexpr "" +-% ++copy "ar_EG" + END LC_MESSAGES + + +diff -ru glibc-2.3.5/localedata/locales/ar_YE glibc-old/localedata/locales/ar_YE +--- glibc-2.3.5/localedata/locales/ar_YE 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/ar_YE 2005-11-30 16:35:33.000000000 -0500 +@@ -144,18 +144,13 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 7 + END LC_TIME + + + LC_MESSAGES +-% This is the POSIX Locale definition for the LC_MESSAGES category. +-% These are generated based on XML base Locale difintion file +-% for IBM Class for Unicode/Java +-% +-yesexpr "" +-% +-noexpr "" +-% ++copy "ar_EG" + END LC_MESSAGES + + +diff -ru glibc-2.3.5/localedata/locales/az_AZ glibc-old/localedata/locales/az_AZ +--- glibc-2.3.5/localedata/locales/az_AZ 2003-12-06 02:40:37.000000000 -0500 ++++ glibc-old/localedata/locales/az_AZ 2005-11-30 16:35:33.000000000 -0500 +@@ -2,16 +2,16 @@ + escape_char / + % + % Azeri Language Locale for Azerbaijan (latin) +-% Source: ++% Source: + % Contact: Pablo Saratxaga + % Email: + % Language: az + % Territory: AZ +-% Revision: 0.4 +-% Date: 2001-01-26 ++% Revision: 0.6 ++% Date: 2003-12-06 + % Application: general + % Users: general +-% Charset: ISO-8859-9E ++% Charset: UTF-8 + % Distribution and use is free, also + % for commercial purposes. + +@@ -44,11 +44,11 @@ + + % + % TODO: check LC_COLLATE +-% TODO: fix LC_TIME, LC_MONETARY ++% TODO: fix LC_MONETARY + + LC_COLLATE +-% The new (1991) latin azeri alphabet is: +-% , , , , , , , , , , , , ++% The new (1991) latin azeri alphabet is: ++% , , , , , , , , , , , , + % (dotless i), (i with dot), , , , , , , , + % ,
+ &dhemail; +
+ + &dhfirstname; + &dhsurname; + + + 2001 + &dhusername; + + &dhdate; + + + &dhucpackage; + + &dhsection; + + + &dhpackage; + + generates localisation files from templates + + + + &dhpackage; + + + + + DESCRIPTION + + This manual page documents briefly the + &dhpackage; command. + + By default, the locale package which provides the base support for + localisation of libc-based programs does not contain usable localisation + files for every supported language. This limitation has became necessary + because of the substantial size of such files and the large number of + languages supported by libc. As a result, Debian uses a special + mechanism where we prepare the actual localisation files on the target + host and distribute only the templates for them. + + &dhpackage; is a program that reads the file + /etc/locale.gen and invokes + localedef for the chosen localisation profiles. + Run &dhpackage; after you have modified the /etc/locale.gen file. + + + + + + FILES + + /etc/locale.gen + The main configuration file, which has a simple format: every + line that is not empty and does not begin with a # is treated as a + locale definition that is to be built. + + + + + + SEE ALSO + + localedef (1), locale (1), locale.alias (5), locale.gen (5). + + + + + AUTHOR + + This manual page was written by &dhusername; <&dhemail;> for + the &debian; system (but may be used by others). Permission is + granted to copy, distribute and/or modify this document under + the terms of the GNU Free Documentation + License, Version 1.1 or any later version published by the Free + Software Foundation; with no Invariant Sections, no Front-Cover + Texts and no Back-Cover Texts. + + + + + --- glibc-2.3.6.orig/debian/local/manpages/locale.1 +++ glibc-2.3.6/debian/local/manpages/locale.1 @@ -0,0 +1,268 @@ +.\" Automatically generated by Pod::Man v1.3, Pod::Parser v1.13 +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sh \" Subsection heading +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R + +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. | will give a +.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to +.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' +.\" expand to `' in nroff, nothing in troff, for use with C<>. +.tr \(*W-|\(bv\*(Tr +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.\" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.hy 0 +.if n .na +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "LOCALE 1" +.TH LOCALE 1 "2004-12-16" "sarge" "Debian GNU/Linux" +.UC +.SH "NAME" +locale \- Get locale-specific information. +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBlocale\fR \fB[\fR \f(CW\*(C`\-a\*(C'\fR | \f(CW\*(C`\-m\*(C'\fR\fB]\fR +.PP +\&\fBlocale\fR \fB[\fR \-ck \fB]\fR \fIname\fR... +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fIlocale\fR program writes information about the current locale +environment, or all locales, to standard output. +.PP +When invoked without arguments, \fIlocale\fR summarizes the current +locale environment for each locale category defined by the LC_* +environment variables. +.PP +\&\fB\-a\fR, \fB\-\-all\-locales\fR +.PP +.Vb 1 +\& Write names of available locales. +.Ve +\&\fB\-m\fR, \fB\-\-charmaps\fR +.PP +.Vb 1 +\& Write names of available charmaps. +.Ve +.Sh "Output Format:" +.IX Subsection "Output Format:" +\&\fB\-c\fR, \fB\-\-category\-name\fR +.PP +.Vb 1 +\& Write names of selected categories. +.Ve +\&\fB\-k\fR, \fB\-\-keyword\-name\fR +.PP +.Vb 1 +\& Write names and values of selected keywords. +.Ve +.SH "ENVIRONMENT VARIABLES" +.IX Header "ENVIRONMENT VARIABLES" +These environment variables affect each locale categories for all locale-aware programs: + +\&\s-1LC_CTYPE\s0 +.PP +.Vb 1 +\& Character classification and case conversion. +.Ve +\&\s-1LC_COLLATE\s0 +.PP +.Vb 1 +\& Collation order. +.Ve +\&\s-1LC_TIME\s0 +.PP +.Vb 1 +\& Date and time formats. +.Ve +\&\s-1LC_NUMERIC\s0 +.PP +.Vb 1 +\& Non-monetary numeric formats. +.Ve +\&\s-1LC_MONETARY\s0 +.PP +.Vb 1 +\& Monetary formats. +.Ve +\&\s-1LC_MESSAGES\s0 +.PP +.Vb 2 +\& Formats of informative and diagnostic messages and +\& interactive responses. +.Ve +\&\s-1LC_PAPER\s0 +.PP +.Vb 1 +\& Paper size. +.Ve +\&\s-1LC_NAME\s0 +.PP +.Vb 1 +\& Name formats. +.Ve +\&\s-1LC_ADDRESS\s0 +.PP +.Vb 1 +\& Address formats and location information. +.Ve +\&\s-1LC_TELEPHONE\s0 +.PP +.Vb 1 +\& Telephone number formats. +.Ve +\&\s-1LC_MEASUREMENT\s0 +.PP +.Vb 1 +\& Measurement units (Metric or Other). +.Ve +\&\s-1LC_IDENTIFICATION\s0 +.PP +.Vb 1 +\& Metadata about the locale information. +.Ve +This environment variable can switch against multiple locale database: + +\&\s-1LOCPATH\s0 +.PP +.Vb 1 +\& The directory where locale data is stored. In default, /usr/lib/locale is used. +.Ve + +.SH "FILES" +.IX Header "FILES" +.PP +.PD 0 +.TP 8 +\fI/usr/share/i18n/SUPPORTED\fP +List of supported values (and their associated encoding) for the locale name. +This representation is recommended over +\fB\-\-all\-locales\fR one, due being the system wide supported values. +.PP + +.SH "AUTHOR" +.IX Header "AUTHOR" +\&\fIlocale\fR was written by Ulrich Drepper for the \s-1GNU\s0 C Library. +.PP +This manpage was written by Joel Klecker for +the Debian GNU/Linux system, and expanded by Alastair McKinstry + +.PP + +.SH "SEE ALSO" +.BR locale "(5), " locale "(7), " setlocale (3) + --- glibc-2.3.6.orig/debian/local/manpages/locale.alias.5 +++ glibc-2.3.6/debian/local/manpages/locale.alias.5 @@ -0,0 +1,45 @@ +.\" -*- nroff -*- +.\" Copyright (C) 2002 Free Software Foundation, Inc. +.\" +.\" This program is free software; you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation; either version 2, or (at your option) +.\" any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program; if not, write to the Free Software Foundation, +.\" Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +.TH locale.alias 5 "January 2002" "Debian GNU/Linux" +.SH "NAME" +locale.alias \- Locale name alias data base +.SH "DESCRIPTION" +The locale.alias database file (/etc/locale.alias) is used by the +.B locale +command and the +.B X Window System +. +It describes aliases for the locales, with each line being of the +form + + + +Where is in the POSIX format: xx_YY.CHARSET. +The first two letters \fIxx\fR are the ISO-639 Language code, + the next two \fIYY\fR are the ISO-3166 Country code, +and the Charset is one of the character sets (listed in +\fI/usr/share/i18n/charsets\fR +). +The aliases can be free text; they are normally the English language +name, or simpler versions of the POSIX locale name. + +Lines beginning with Hash ("#") are treated as comments and ignored. + +.SH "SEE ALSO" +locale(1), localedef(1), locale-gen(8), locale.gen(5) +.SH "AUTHOR" +Alastair McKinstry --- glibc-2.3.6.orig/debian/local/manpages/locale.gen.5 +++ glibc-2.3.6/debian/local/manpages/locale.gen.5 @@ -0,0 +1,41 @@ +.\" -*- nroff -*- +.\" Copyright (C) 2002, 2005 Free Software Foundation, Inc. +.\" +.\" This program is free software; you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation; either version 2, or (at your option) +.\" any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program; if not, write to the Free Software Foundation, +.\" Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +.TH locale.gen 5 "July 2005" "Debian GNU/Linux" +.SH "NAME" +locale.gen \- Configuration file for locale-gen +.SH "DESCRIPTION" +The file \fB/etc/locale.gen\fP lists the locales that are to be generated +by the \fBlocale-gen\fP command. + +Each line is of the form: + + + +where is one of the locales given in +.B /usr/share/i18n/locales +and is one of the character sets listed in +.B /usr/share/i18n/charmaps + +The +.B locale-gen +command will generate all the locales, placing them in +\fB/usr/lib/locale\fP. + +.SH "SEE ALSO" +locale-gen(8), localedef(1), locale(1) +.SH "AUTHOR" +Alastair McKinstry --- glibc-2.3.6.orig/debian/local/manpages/locale.pod +++ glibc-2.3.6/debian/local/manpages/locale.pod @@ -0,0 +1,95 @@ +=head1 NAME + +locale - Get locale-specific information. + +=head1 SYNOPSIS + +B B<[> C<-a> | C<-m>B<]> + +B B<[> -ck B<]> I... + +=head1 DESCRIPTION + +The I program writes information about the current locale +environment, or all locales, to standard output. + +When invoked without arguments, I summarizes the current +locale environment for each locale category defined by the LC_* +environment variables. + +B<-a>, B<--all-locales> + + Write names of available locales. + +B<-m>, B<--charmaps> + + Write names of available charmaps. + +=head2 Output Format: + +B<-c>, B<--category-name> + + Write names of selected categories. + +B<-k>, B<--keyword-name> + + Write names and values of selected keywords. + +=head1 ENVIRONMENT VARIABLES + +LC_CTYPE + + Character classification and case conversion. + +LC_COLLATE + + Collation order. + +LC_TIME + + Date and time formats. + +LC_NUMERIC + + Non-monetary numeric formats. + +LC_MONETARY + + Monetary formats. + +LC_MESSAGES + + Formats of informative and diagnostic messages and + interactive responses. + +LC_PAPER + + Paper size. + +LC_NAME + + Name formats. + +LC_ADDRESS + + Address formats and location information. + +LC_TELEPHONE + + Telephone number formats. + +LC_MEASUREMENT + + Measurement units (Metric or Other). + +LC_IDENTIFICATION + + Metadata about the locale information. + +=head1 AUTHOR + +I was written by Ulrich Drepper for the GNU C Library. + +This manpage was written by Joel Klecker Eespy@debian.orgE for +the Debian GNU/Linux system, and expanded by Alastair McKinstry +Emckinstry@computer.orgE --- glibc-2.3.6.orig/debian/local/manpages/localedef.1 +++ glibc-2.3.6/debian/local/manpages/localedef.1 @@ -0,0 +1,178 @@ +.TH LOCALEDEF 1 "Feb 10, 2002" +.SH NAME +localedef \- compile locale definition files +.SH SYNOPSIS +.B localedef +.RB [ \-f +.IR charmapfile ] +.\" This option is ignored by the localedef program. +.\" To avoid confusion, I decided not to list it in the synopsis. +.\" .RB [ \-u +.\" .IR codeset ] +.RB [ \-i +.IR inputfile ] +.RB [ \-\-force ] +.RB [ \-\-verbose ] +.RB [ \-\-posix ] +.RB [ \-\-quiet ] +.I outputpath +.br +.B "localedef \-\-version" +.br +.B "localedef \-\-help" +.SH DESCRIPTION +The +.B localedef +program reads the indicated +.I charmap +and +.I input +files, compiles them to a form usable by the +.BR locale (7) +functions in the C library, and places the six output files in the +.I outputpath +directory. +.PP +If no +.I charmapfile +is given, +.I POSIX +is used by default. +If no +.I inputfile +is given, or if it is given as +.BR \- , +.B localedef +reads from standard input. +.SH OPTIONS +Most options can have either short or long forms. If multiple short +options are used, they can be combined in one word (e.g. +.BR \-cv ). +If an option takes an argument, the argument can be given separately +as the next word, or it can be written as option=argument. +.TP +.BI \-f " charmapfile" ", \-\-charmap=" charmapfile +Specify the file that defines the symbolic character names that are +used by the input file. If the file is in the default directory for +character maps, it is not necessary to specify the full pathname. +This default directory is printed by +.BR "localedef \-\-help" . +.TP +.BI \-i " inputfile" ", \-\-inputfile=" inputfile +Specify the locale definition file to compile. If +.I inputfile +is not absolute, +.B localedef +will also look in the directory specified by the environment variable +.B I18NPATH +and in the default directory for locale definition files. This default +directory is printed by +.BR "localedef \-\-help" . +.TP +.B "\-c, \-\-force" +Write the output files even if warnings were generated about the input +file. +.TP +.B "\-v, \-\-verbose" +Generate extra warnings about errors that are normally ignored. +.TP +.B \-\-quiet +Suppress all notifications and warnings, and report only fatal errors. +.TP +.B \-\-posix +Be strictly POSIX conformant. Implies +.BR \-\-verbose . +This option currently has no other effect. Posix conformance is +assumed if the environment variable +.B POSIXLY_CORRECT +is set. +.TP +.BI \-u " codeset" ", \-\-code\-set\-name=" codeset +This option is accepted but ignored. +.TP +.B "\-\-help" +Print a usage summary and exit. Also prints the default paths used by +.BR localedef . +.TP +.B "\-V, \-\-version" +Print the version number, license, and disclaimer of warranty for +.BR localedef . +.SH ENVIRONMENT +.TP +.B POSIXLY_CORRECT +The +.B \-\-posix +flag is assumed if this environment variable is set. +.TP +.B I18NPATH +The default directory for locale definition files. +.SH FILES +.TP +.B /usr/share/i18n/charmaps +Usual default charmap path. +.TP +.B /usr/share/locale +Usual default output path. See the output from +.B "localedef \-\-help" +for the paths used in your version. +.TP +.IB outputpath/ LC_COLLATE +One of the output files. It describes the rules for comparing strings +in the locale's alphabet. +.TP +.IB outputpath/ LC_CTYPE +One of the output files. It contains information about character +cases and case conversions for the locale. +.TP +.IB outputpath/ LC_MONETARY +One of the output files. It describes the way monetary values should +be formatted in the locale. +.TP +.IB outputpath/ LC_MESSAGES/SYS_LC_MESSAGES +One of the output files. It contains information about the language +messages should be printed in, and what an affirmative or negative +answer looks like. +.TP +.IB outputpath/ LC_NUMERIC +One of the output files. It describes the rules for formatting +numbers in the locale. +.TP +.IB outputpath/ LC_TIME +One of the output files. It describes the rules for formatting +times and dates in the locale. +.TP +.IB outputpath/ LC_PAPER +One of the output files. It describes the default paper size +in the locale. +.TP +.IB outputpath/ LC_NAME +One of the output files. It describes the rules for formatting +names in the locale. +.TP +.IB outputpath/ LC_ADDRESS +One of the output files. It describes the rules for formatting +addresses, and other location information in the locale. +.TP +.IB outputpath/ LC_TELEPHONE +One of the output files. It describes the rules for formatting +telephone numbers in the locale. +.TP +.IB outputpath/ LC_MEASUREMENT +One of the output files. It describes the rules for measurement in the +locale, e.g. Metric or other units. +.TP +.IB outputpath/ LC_IDENTIFICATION +One of the output files. It identifies the elements within the locale. +.SH "SEE ALSO" +.BR locale "(5), " locale "(7), " locale (1) +.SH AUTHOR +The program was written by Ulrich Drepper. +.PP +This manpage was written by Richard Braakman on +behalf of the Debian GNU/Linux Project and anyone else who wants it. +It was amended by Alastair McKinstry to +explain new ISO 14652 elements. +The manpage is not supported by the GNU libc maintainers and may be +out of date. +.SH STANDARDS +This program conforms to the POSIX standard P1003.2 --- glibc-2.3.6.orig/debian/local/manpages/mtrace.1 +++ glibc-2.3.6/debian/local/manpages/mtrace.1 @@ -0,0 +1,228 @@ +.rn '' }` +''' $RCSfile: mtrace.1,v $$Revision: 1.1 $$Date: 2004-11-06 05:21:19 -0500 (Sat, 06 Nov 2004) $ +''' +''' $Log: mtrace.1,v $ +''' Revision 1.1 2003/11/03 17:37:27 jbailey +''' - debian/local/manpages/gencat.1: New file. +''' - debian/local/manpages/trace.1: New file. +''' - debian/debhelper.in/libc-dev.manpages: Install them. +''' - debian/local/manpages/iconvconfig.8: New file. +''' - debian/debhelper.in/libc.manpages: Install it. +''' +''' Revision 1.1.2.2 2003/10/28 05:48:08 dan +''' - Re-add debian/patches/80_glibc232-locales-nb_NO-fix.dpatch, which had +''' gotten lost. +''' - Re-add typo fixes to iconv.1 and rpcgen.1. +''' - Merge iconv.1 fix to iconv.pod. +''' - Fix ld.so name in ld.so.8. +''' - Re-add fix for locale-gen and POSIXLY_CORRECT. +''' +''' +.de Sh +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp +.if t .sp .5v +.if n .sp +.. +.de Ip +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.de Vb +.ft CW +.nf +.ne \\$1 +.. +.de Ve +.ft R + +.fi +.. +''' +''' +''' Set up \*(-- to give an unbreakable dash; +''' string Tr holds user defined translation string. +''' Bell System Logo is used as a dummy character. +''' +.tr \(*W-|\(bv\*(Tr +.ie n \{\ +.ds -- \(*W- +.ds PI pi +.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +.ds L" "" +.ds R" "" +''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of +''' \*(L" and \*(R", except that they are used on ".xx" lines, +''' such as .IP and .SH, which do another additional levels of +''' double-quote interpretation +.ds M" """ +.ds S" """ +.ds N" """"" +.ds T" """"" +.ds L' ' +.ds R' ' +.ds M' ' +.ds S' ' +.ds N' ' +.ds T' ' +'br\} +.el\{\ +.ds -- \(em\| +.tr \*(Tr +.ds L" `` +.ds R" '' +.ds M" `` +.ds S" '' +.ds N" `` +.ds T" '' +.ds L' ` +.ds R' ' +.ds M' ` +.ds S' ' +.ds N' ` +.ds T' ' +.ds PI \(*p +'br\} +.\" If the F register is turned on, we'll generate +.\" index entries out stderr for the following things: +.\" TH Title +.\" SH Header +.\" Sh Subsection +.\" Ip Item +.\" X<> Xref (embedded +.\" Of course, you have to process the output yourself +.\" in some meaninful fashion. +.if \nF \{ +.de IX +.tm Index:\\$1\t\\n%\t"\\$2" +.. +.nr % 0 +.rr F +.\} +.TH MTRACE 1 "November 2003" "mtrace (glibc)" "Debian" +.UC +.if n .hy 0 +.if n .na +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.de CQ \" put $1 in typewriter font +.ft CW +'if n "\c +'if t \\&\\$1\c +'if n \\&\\$1\c +'if n \&" +\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 +'.ft R +.. +.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 +. \" AM - accent mark definitions +.bd B 3 +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds ? ? +. ds ! ! +. ds / +. ds q +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' +. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] +.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' +.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' +.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +.ds oe o\h'-(\w'o'u*4/10)'e +.ds Oe O\h'-(\w'O'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds v \h'-1'\o'\(aa\(ga' +. ds _ \h'-1'^ +. ds . \h'-1'. +. ds 3 3 +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +. ds oe oe +. ds Oe OE +.\} +.rm #[ #] #H #V #F C +.SH "NAME" +mtrace \- Interpret output from MALLOC_TRACE +.SH "SYNOPSIS" +mtrace [OPTION]... [Binary] MtraceData +.SH "DESCRIPTION" +The \fBmtrace\fR interprets the output from when the MALLOC_TRACE +environment variable is set. +.SH "AUTHOR" +\fImtrace\fR was written by Ulrich Drepper as part of the GNU C Library. +.PP +This man page was written by Jeff Bailey . + +.rn }` '' +.IX Title "MTRACE 1" +.IX Name "mtrace \- Interpret output from MALLOC_TRACE" + +.IX Header "NAME" + +.IX Header "SYNOPSIS" + +.IX Header "DESCRIPTION" + +.IX Header "AUTHOR" + --- glibc-2.3.6.orig/debian/local/manpages/nscd.8 +++ glibc-2.3.6/debian/local/manpages/nscd.8 @@ -0,0 +1,87 @@ +.\" Placed in the Public Domain by Sebastian Rittau . +.Dd January 07, 2001 +.Dt NSCD 8 +.Os "GNU C Library 2.2" +.Sh NAME +.Nm nscd +.Nd name service caching daemon +.Sh SYNOPSIS +.Nm nscd +.Op OPTION... +.Sh DESCRIPTION +.Nm Nscd +caches libc-issued requests to the Name Service. If retrieving +NSS data is fairly expensive, +.Nm nscd +is able to speed up consecutive access to the same data +dramatically and increase overall system performance. +.Nm Nscd +should be run at boot time by +.Pa /etc/init.d/nscd . +.Sh OPTIONS +.Bl -tag -width Ds +.It Fl d , Fl -debug +Do not fork and display messages on the current tty. +.El +.Bl -tag -width Ds +.It Fl f , Fl -config-file Ar NAME +Read configuration data from +.Pa NAME . +For a description of the config file format, see nscd.conf(5). +.El +.Bl -tag -width Ds +.It Fl g , Fl -statistic +Print current configuration statistics. +.El +.Bl -tag -width Ds +.It Fl i , Fl -invalidate Ar TABLE +Invalidate the specified +.Pa TABLE , +i. e. forget all data cached therein. This should be used if the +database storing this information has been changed. +.El +.Bl -tag -width Ds +.It Fl K , Fl -shutdown +Quit a running +.Nm nscd +process. +.El +.Bl -tag -width Ds +.It Fl S , Fl -secure Ar TABLE +Use a separate cache for each user. +.El +.Bl -tag -width Ds +.It Fl t , Fl -nthreads Ar NUMBER +Start +.Pa NUMBER +threads. This denotes the maximum number +of requests that can be handled simultaneously. The default is set +in the configuration file. (See nscd.conf(5).) +.El +.Bl -tag -width Ds +.It Fl ? , Fl -help +Print the list of available options. +.El +.Bl -tag -width Ds +.It Fl -usage +Print a short usage message. +.El +.Bl -tag -width Ds +.It Fl V , Fl -version +Print program version. +.El +.Sh FILES +.Bl -tag -width Ds +.It Ar /etc/nscd.conf +.Nm Nscd +configuration file. See nscd.conf(5) for more information. +.El +.Bl -tag -width Ds +.It Ar /etc/nsswitch.conf +Name Service Switch configuration. See nsswitch.conf(5) +for more information. +.El +.Sh SEE ALSO +GNU C Library info file, +.Xr nscd.conf 5 , +.Xr nsswitch.conf 5 --- glibc-2.3.6.orig/debian/local/manpages/nscd.conf.5 +++ glibc-2.3.6/debian/local/manpages/nscd.conf.5 @@ -0,0 +1,180 @@ +.\" Placed in the Public Domain by Sebastian Rittau +.TH NSCD.CONF 5 "07 January 2001" +.UC 5 +.SH NAME +nscd.conf \- configuration file for Name Service Caching Daemon +.hy 0 +.SH DESCRIPTION +.I /etc/nscd.conf +configures the caches used by +.BR nscd (8) +as well as some generic options. +.BR nscd (8) +is able to use a configuration file at a different location, +when supplied with the +.IR -f ", " --config-file +command line option. + +.PP +The configuration file consists of a set of lines. +Empty lines, and text after a '#' is ignored. +All remaining lines denote the setting of an option. +White space before and after options, and between +options and option arguments is ignored. + +There are two kinds of options: General options influence +.BR nscd (8)'s +general behaviour, while cache related options only affect the +specified cache. Options are set like this: +.nf + + general_option option + cache_option cache_name option +.fi +.SH GENERAL OPTIONS +.TP +.BI logfile \ file +Specifies the name of the debug log-file that +.BR nscd (8) +should use if +.B debug-level +is higher than +.BR 0 . +If this option is not set, +.BR nscd (8) +will write its debug output to stderr. +.TP +.BI debug-level \ level +If +.I level +is higher than +.BR 0 , +.BR nscd (8) +will create some debug output. The higher the level, the more verbose +the output. +.TP +.BI threads \ #threads +This option sets the number of threads that +.BR nscd (8) +should use by default. It can be overridden by calling +.BR nscd (8) +with the +.I -t +or +.I --nthreads +argument. If neither this configuration option nor the command line +argument is given, +.BR nscd (8) +uses 5 threads by default. The minimum is 3. More threads means more +simultaneous connections that +.BR nscd (8) +can handle. +.TP +.BI server-user \ user +By default, +.BR nscd (8) +is run as user root. This option can be set to force +.BR nscd (8) +to drop root privileges after startup. It cannot be used when +.BR nscd (8) +is called with the +.I -S +or +.I --secure +argument. Also note that some services require that nscd run as root, so +using this may break those lookup services. +.SH CACHE OPTIONS +All cache options take two arguments. The first one denotes +the service or cache the option should affect. Currently +.I service +can be one of +.BR passwd , +.BR group , +or +.BR hosts . +.TP +.BI enable-cache \ service\ bool +.I bool +must be one of +.B yes +or +.BR no . +Each cache is disabled by default and must be enabled explicitly +by setting this options to +.BR yes . +.TP +.BI positive-time-to-live \ service\ secs +This is the number of seconds after which a cached entry is +removed from the cache. This defaults to 3600 seconds (i. e. +one hour). +.TP +.BI negative-time-to-live \ service\ secs +If an entry is not found by the Name Service, it is added to +the cache and marked as "not existent". This option sets the number +of seconds after which such a not existent entry is removed from +the cache. This defaults to 20 seconds for the +.B password +and +.B host +caches and to 60 seconds for the +.B group +cache. +.TP +.BI suggested-size \ service\ prime-number +This option sets the size of the hash that is used to store the +cache entries. As this is a hash, it should be reasonably larger +than the maximum number of entries that is expected to be cached +simultaneously and should be a prime number. It defaults to a +size of 211 entries. +.TP +.BI check-files \ service\ bool +.I bool +must be one of +.B yes +(default) or +.BR no . +If file checking is enabled, +.BR nscd (8) +periodically checks the modification time of +.IR /etc/passwd , +.IR /etc/group , +or +.I /etc/hosts +(for the +.BR passwd , +.BR group , +and +.B host +cache respectively) +and invalidates the cache if the file has changed since the +last check. +.SH EXAMPLE +.nf + +# This is a comment. + + logfile /var/log/nscd.log + threads 6 + server-user nobody + debug-level 0 + + enable-cache passwd yes + positive-time-to-live passwd 600 + negative-time-to-live passwd 20 + suggested-size passwd 211 + check-files passwd yes + + enable-cache group yes + positive-time-to-live group 3600 + negative-time-to-live group 60 + suggested-size group 211 + check-files group yes + + enable-cache hosts yes + positive-time-to-live hosts 3600 + negative-time-to-live hosts 20 + suggested-size hosts 211 + check-files hosts yes +.fi +.SH SEE ALSO +nscd(8), nsswitch.conf(5) --- glibc-2.3.6.orig/debian/local/manpages/nscd_nischeck.8 +++ glibc-2.3.6/debian/local/manpages/nscd_nischeck.8 @@ -0,0 +1,31 @@ +.\" Placed in the Public Domain by Sebastian Rittau . +.Dd January 08, 2001 +.Dt NSCD_NISCHECK 8 +.Os "GNU C Library 2.2" +.Sh NAME +.Nm nscd_nischeck +.Nd check NIS+ tables for read permissions +.Sh SYNOPSIS +.Nm nscd_nischeck +.Ar OPTION | TABLE +.Sh DESCRIPTION +.Nm Nscd_nischeck +checks if a given NIS+ table is world-readable. 0 is returned in +this case. Otherwise, only authenticated users can read the table +and 1 is returned. +.Sh OPTIONS +.Bl -tag -width Ds +.It Fl ? , Fl -help +Print a short help list. +.El +.Bl -tag -width Ds +.It Fl -usage +Print a short usage message. +.El +.Bl -tag -width Ds +.It Fl V , Fl -version +Print program version. +.El +.Sh SEE ALSO +GNU C Library info file, +.Xr nscd 8 --- glibc-2.3.6.orig/debian/local/manpages/pl/validlocale.pl.8 +++ glibc-2.3.6/debian/local/manpages/pl/validlocale.pl.8 @@ -0,0 +1,52 @@ +.\" This file was generated with po4a. Translate the source file. +.\" +.TH validlocale 8 0.1 "Petter Reinholdtsen" "" +.SH NAZWA +.LP +validlocale \- Sprawdza, czy dostêpne jest dane locale +.SH SK£ADNIA +.LP +validlocale <\fIlocale\fP> +.SH OPIS +.LP +Sprawdza, czy locale podane jako argument jest poprawne. Je¶li nie jest, +wypisuje na stdout napis, jaki nale¿y dodaæ do /etc/locale.gen, aby +polecenie locale\-gen wygenerowa³o dane locale (o ile w ogóle ono istnieje). +.SH PLIKI +.LP +\fI/usr/sbin/validlocale\fP +.br +\fI/usr/share/i18n/SUPPORTED\fP +.SH "ZMIENNE ¦RODOWISKOWE" +.LP +.TP +\fBDEFAULTCHARSET\fP +Jakiego zestawu znaków u¿yæ, je¶li podanego locale nie ma w li¶cie +obs³ugiwanych. +.SH PRZYK£ADY +.LP +Je¶li jako parametr podano nazwê poprawnego locale, wypisuje na stderr +odpowiedni napis: +.LP +.IP +% validlocale C +.br +locale 'C' valid and available +.LP +Je¶li podano nazwê nieprawid³owego locale (niewygenerowanego lub po prostu +nieistniej±cego), wypisuje na stderr napis mówi±cy o tym, ¿e nie jest to +prawid³owe locale, oraz \- na stdout \- napis, który nale¿y dodaæ do +/etc/locale.gen, aby móc wygenerowaæ dane locale: +.LP +.IP +% validlocale de_AU@euro +.br +locale 'de_AT@euro' not available +.br +de_AT@euro ISO\-8859\-15 +.SH AUTOR +.LP +Petter Reinholdtsen +.SH "PATRZ TAK¯E" +.LP +locale\-gen(8), localedef(1), locale(1) --- glibc-2.3.6.orig/debian/local/manpages/po4a.cfg +++ glibc-2.3.6/debian/local/manpages/po4a.cfg @@ -0,0 +1,7 @@ +[po4a_paths] po/man.pot de:po/de.po es:po/es.po id:po/id.po \ + fr:po/fr.po pl:po/pl.po pt_BR:po/pt_BR.po + +[type: man] validlocale.8 es:es/validlocale.es.8 \ + id:id/validlocale.id.8 add_id:id/addendum.id fr:fr/validlocale.fr.8 \ + add_fr:fr/addendum.fr pl:pl/validlocale.pl.8 \ + pt_BR:pt_BR/validlocale.pt_BR.8 --- glibc-2.3.6.orig/debian/local/manpages/rpcgen.1 +++ glibc-2.3.6/debian/local/manpages/rpcgen.1 @@ -0,0 +1,443 @@ +.\" @(#)rpcgen.new.1 1.1 90/11/09 TIRPC 1.0; from 40.10 of 10/10/89 +.\" Copyright (c) 1988,1990 Sun Microsystems, Inc. - All Rights Reserved. +.nr X +.if \nX=0 .ds x} rpcgen 1 "" "\&" +.if \nX=1 .ds x} rpcgen 1 "" +.if \nX=2 .ds x} rpcgen 1 "" "\&" +.if \nX=3 .ds x} rpcgen "" "" "\&" +.TH \*(x} +.SH NAME +\f4rpcgen\f1 \- an RPC protocol compiler +.SH SYNOPSIS +.ft 4 +.nf +rpcgen \f2infile\f4 +.fi +.ft 1 +.br +.ft 4 +.nf +rpcgen [\-D\f2name\f4[=\f2value\f4]] [\-T] [\-K \f2secs\fP] \f2infile\f4 +.fi +.ft 1 +.br +.ft 4 +.nf +rpcgen \-c|\-h|\-l|\-m|\-M|\-t [\-o \f2outfile\f4 ] \f2infile\f4 +.fi +.ft 1 +.br +.ft 4 +.nf +rpcgen [\-I] \-s \f2nettype\f4 [\-o \f2outfile\f4] \f2infile\f4 +.fi +.ft 1 +.br +.ft 4 +.nf +rpcgen \-n \f2netid\f4 [\-o \f2outfile\f4] \f2infile\f4 +.ft 1 +.SH DESCRIPTION +.P +\f4rpcgen\f1 +is a tool that generates C code to implement an RPC protocol. +The input to +\f4rpcgen\f1 +is a language similar to C known as +RPC Language (Remote Procedure Call Language). +.P +\f4rpcgen\f1 +is normally used as in the first synopsis where +it takes an input file and generates up to four output files. +If the +\f2infile\f1 +is named +\f4proto.x\f1, +then +\f4rpcgen\f1 +will generate a header file in +\f4proto.h\f1, +XDR routines in +\f4proto_xdr.c\f1, +server-side stubs in +\f4proto_svc.c\f1, +and client-side stubs in +\f4proto_clnt.c\f1. +With the +\f4\-T\f1 +option, +it will also generate the RPC dispatch table in +\f4proto_tbl.i\f1. +With the +\f4\-Sc\f1 +option, +it will also generate sample code which would illustrate how to use the +remote procedures on the client side. This code would be created in +\f4proto_client.c\f1. +With the +\f4\-Ss\f1 +option, +it will also generate a sample server code which would illustrate how to write +the remote procedures. This code would be created in +\f4proto_server.c\f1. +.P +The server created can be started both by the port monitors +(for example, \f4inetd\f1 or \f4listen\f1) +or by itself. +When it is started by a port monitor, +it creates servers only for the transport for which +the file descriptor \f40\fP was passed. +The name of the transport must be specified +by setting up the environmental variable +\f4PM_TRANSPORT\f1. +When the server generated by +\f4rpcgen\f1 +is executed, +it creates server handles for all the transports +specified in +\f4NETPATH\f1 +environment variable, +or if it is unset, +it creates server handles for all the visible transports from +\f4/etc/netconfig\f1 +file. +Note: +the transports are chosen at run time and not at compile time. +When the server is self-started, +it backgrounds itself by default. +A special define symbol +\f4RPC_SVC_FG\f1 +can be used to run the server process in foreground. +.P +The second synopsis provides special features which allow +for the creation of more sophisticated RPC servers. +These features include support for user provided +\f4#defines\f1 +and RPC dispatch tables. +The entries in the RPC dispatch table contain: +.RS +.PD 0 +.TP 3 +\(bu +pointers to the service routine corresponding to that procedure, +.TP +\(bu +a pointer to the input and output arguments +.TP +\(bu +the size of these routines +.PD +.RE +A server can use the dispatch table to check authorization +and then to execute the service routine; +a client library may use it to deal with the details of storage +management and XDR data conversion. +.P +The other three synopses shown above are used when +one does not want to generate all the output files, +but only a particular one. +Some examples of their usage is described in the +EXAMPLE +section below. +When +\f4rpcgen\f1 +is executed with the +\f4\-s\f1 +option, +it creates servers for that particular class of transports. +When +executed with the +\f4\-n\f1 +option, +it creates a server for the transport specified by +\f2netid\f1. +If +\f2infile\f1 +is not specified, +\f4rpcgen\f1 +accepts the standard input. +.P +The C preprocessor, +\f4cc \-E\f1 +[see \f4cc\fP(1)], +is run on the input file before it is actually interpreted by +\f4rpcgen\f1. +For each type of output file, +\f4rpcgen\f1 +defines a special preprocessor symbol for use by the +\f4rpcgen\f1 +programmer: +.P +.PD 0 +.TP 12 +\f4RPC_HDR\f1 +defined when compiling into header files +.TP +\f4RPC_XDR\f1 +defined when compiling into XDR routines +.TP +\f4RPC_SVC\f1 +defined when compiling into server-side stubs +.TP +\f4RPC_CLNT\f1 +defined when compiling into client-side stubs +.TP +\f4RPC_TBL\f1 +defined when compiling into RPC dispatch tables +.PD +.P +Any line beginning with +`\f4%\f1' +is passed directly into the output file, +uninterpreted by +\f4rpcgen\f1. +.P +For every data type referred to in +\f2infile\f1, +\f4rpcgen\f1 +assumes that there exists a +routine with the string +\f4xdr_\f1 +prepended to the name of the data type. +If this routine does not exist in the RPC/XDR +library, it must be provided. +Providing an undefined data type +allows customization of XDR routines. +.br +.ne 10 +.P +The following options are available: +.TP +\f4\-a\f1 +Generate all the files including sample code for client and server side. +.TP +\f4\-b\f1 +This generates code for the SunOS4.1 style of rpc. It is +for backward compatibilty. This is the default. +.TP +\f4\-5\f1 +This generates code for the SysVr4 style of rpc. It is used by the +Transport Independent RPC that is in Svr4 systems. +By default rpcgen generates code for SunOS4.1 stype of rpc. +.TP +\f4\-c\f1 +Compile into XDR routines. +.TP +\f4\-C\f1 +Generate code in ANSI C. This option also generates code that could be +compiled with the C++ compiler. This is the default. +.TP +\f4\-k\f1 +Generate code in K&R C. The default is ANSI C. +.TP +\f4\-D\f2name\f4[=\f2value\f4]\f1 +Define a symbol +\f2name\f1. +Equivalent to the +\f4#define\f1 +directive in the source. +If no +\f2value\f1 +is given, +\f2value\f1 +is defined as \f41\f1. +This option may be specified more than once. +.TP +\f4\-h\f1 +Compile into +\f4C\f1 +data-definitions (a header file). +\f4\-T\f1 +option can be used in conjunction to produce a +header file which supports RPC dispatch tables. +.TP +\f4\-I\f1 +Generate a service that can be started from inetd. The default is +to generate a static service that handles transports selected with \f4\-s\f1. +Using \f4\-I\f1 allows starting a service by either method. +.TP +\f4-K\f2 secs\f1 +By default, services created using \f4rpcgen\fP wait \f4120\fP seconds +after servicing a request before exiting. +That interval can be changed using the \f4-K\fP flag. +To create a server that exits immediately upon servicing a request, +\f4-K\ 0\fP can be used. +To create a server that never exits, the appropriate argument is +\f4-K\ -1\fP. +.IP +When monitoring for a server, +some portmonitors, like +\f4listen\fP(1M), +.I always +spawn a new process in response to a service request. +If it is known that a server will be used with such a monitor, the +server should exit immediately on completion. +For such servers, \f4rpcgen\fP should be used with \f4-K\ -1\fP. +.TP +\f4\-l\f1 +Compile into client-side stubs. +.TP +\f4\-m\f1 +Compile into server-side stubs, +but do not generate a \(lqmain\(rq routine. +This option is useful for doing callback-routines +and for users who need to write their own +\(lqmain\(rq routine to do initialization. +.TP +\f4\-M\f1 +Generate multithread-safe stubs for passing arguments +and results between rpcgen-generated code and user written code. +This option is useful for users who want to use threads in their code. +.TP +\f4\-n \f2netid\f1 +Compile into server-side stubs for the transport +specified by +\f2netid\f1. +There should be an entry for +\f2netid\f1 +in the +netconfig database. +This option may be specified more than once, +so as to compile a server that serves multiple transports. +.TP +\f4\-N\f1 +Use the newstyle of rpcgen. This allows procedures to have multiple arguments. +It also uses the style of parameter passing that closely resembles C. So, when +passing an argument to a remote procedure you do not have to pass a pointer to +the argument but the argument itself. This behaviour is different from the oldstyle +of rpcgen generated code. The newstyle is not the default case because of +backward compatibility. +.TP +\f4\-o \f2outfile\f1 +Specify the name of the output file. +If none is specified, +standard output is used +(\f4\-c\f1, +\f4\-h\f1, +\f4\-l\f1, +\f4\-m\f1, +\f4\-n\f1, +\f4\-s\f1, +\f4\-Sc\f1, +\f4\-Sm\f1, +\f4\-Ss\f1, +and +\f4\-t\f1 +modes only). +.TP +\f4\-s \f2nettype\f1 +Compile into server-side stubs for all the +transports belonging to the class +\f2nettype\f1. +The supported classes are +\f4netpath\f1, +\f4visible\f1, +\f4circuit_n\f1, +\f4circuit_v\f1, +\f4datagram_n\f1, +\f4datagram_v\f1, +\f4tcp\f1, +and +\f4udp\f1 +[see \f4rpc\fP(3N) +for the meanings associated with these classes]. +This option may be specified more than once. +Note: +the transports are chosen at run time and not at compile time. +.TP +\f4\-Sc\f1 +Generate sample code to show the use of remote procedure and how to bind +to the server before calling the client side stubs generated by rpcgen. +.TP +\f4\-Sm\f1 +Generate a sample Makefile which can be used for compiling the application. +.TP +\f4\-Ss\f1 +Generate skeleton code for the remote procedures on the server side. You would need +to fill in the actual code for the remote procedures. +.TP +\f4\-t\f1 +Compile into RPC dispatch table. +.TP +\f4\-T\f1 +Generate the code to support RPC dispatch tables. +.P +The options +\f4\-c\f1, +\f4\-h\f1, +\f4\-l\f1, +\f4\-m\f1, +\f4\-s\f1 +and +\f4\-t\f1 +are used exclusively to generate a particular type of file, +while the options +\f4\-D\f1 +and +\f4\-T\f1 +are global and can be used with the other options. +.br +.ne 5 +.SH NOTES +The RPC Language does not support nesting of structures. +As a work-around, +structures can be declared at the top-level, +and their name used inside other structures in +order to achieve the same effect. +.P +Name clashes can occur when using program definitions, +since the apparent scoping does not really apply. +Most of these can be avoided by giving +unique names for programs, +versions, +procedures and types. +.P +The server code generated with +\f4\-n\f1 +option refers to the transport indicated by +\f2netid\f1 +and hence is very site specific. +.SH EXAMPLE +The following example: +.IP +.ft 4 +$ rpcgen \-T prot.x +.ft 1 +.P +generates the five files: +\f4prot.h\f1, +\f4prot_clnt.c\f1, +\f4prot_svc.c\f1, +\f4prot_xdr.c\f1 +and +\f4prot_tbl.i\f1. +.P +The following example sends the C data-definitions (header file) +to the standard output. +.IP +.ft 4 +$ rpcgen \-h prot.x +.ft 1 +.P +To send the test version of the +\f4-DTEST\f1, +server side stubs for +all the transport belonging to the class +\f4datagram_n\f1 +to standard output, use: +.IP +.ft 4 +$ rpcgen \-s datagram_n \-DTEST prot.x +.ft 1 +.P +To create the server side stubs for the transport indicated +by +\f2netid\f1 +\f4tcp\f1, +use: +.IP +.ft 4 +$ rpcgen \-n tcp \-o prot_svc.c prot.x +.ft 1 +.SH "SEE ALSO" +\f4cc\fP(1). --- glibc-2.3.6.orig/debian/local/manpages/rpcinfo.8 +++ glibc-2.3.6/debian/local/manpages/rpcinfo.8 @@ -0,0 +1,166 @@ +.\" from: @(#)rpcinfo.8c 2.2 88/08/03 4.0 RPCSRC; from 1.24 88/02/25 SMI +.\" $Id: rpcinfo.8,v 1.1.2.1 2003/09/22 21:33:35 jbailey Exp $ +.\" +.Dd December 17, 1987 +.Dt RPCINFO 8 +.Os +.Sh NAME +.Nm rpcinfo +.Nd report RPC information +.Sh SYNOPSIS +.Nm rpcinfo +.Fl p +.Op Ar host +.Nm rpcinfo +.Op Fl n Ar portnum +.Fl u Ar host +.Ar program +.Op Ar version +.Nm rpcinfo +.Op Fl n Ar portnum +.Fl t Ar host +.Ar program +.Op Ar version +.Nm rpcinfo +.Fl b +.Ar program version +.Nm rpcinfo +.Fl d +.Ar program version +.Sh DESCRIPTION +.Nm rpcinfo +makes an +.Tn RPC +call to an +.Tn RPC +server and reports what it finds. +.Sh OPTIONS +.Bl -tag -width indent +.It Fl p +Probe the portmapper on +.Ar host , +and print a list of all registered +.Tn RPC +programs. If +.Ar host +is not specified, it defaults to the value returned by +.Xr hostname 1 . +.It Fl u +Make an +.Tn RPC +call to procedure 0 of +.Ar program +on the specified +.Ar host +using +.Tn UDP , +and report whether a response was received. +.It Fl t +Make an +.Tn RPC +call to procedure 0 of +.Ar program +on the specified +.Ar host +using +.Tn TCP , +and report whether a response was received. +.It Fl n +Use +.Ar portnum +as the port number for the +.Fl t +and +.Fl u +options instead of the port number given by the portmapper. +.It Fl b +Make an +.Tn RPC +broadcast to procedure 0 of the specified +.Ar program +and +.Ar version +using +.Tn UDP +and report all hosts that respond. +.It Fl d +Delete registration for the +.Tn RPC +service of the specified +.Ar program +and +.Ar version . +This option can be exercised only by the super-user. +.El +.Pp +The +.Ar program +argument can be either a name or a number. +.Pp +If a +.Ar version +is specified, +.Nm rpcinfo +attempts to call that version of the specified +.Ar program . +Otherwise, +.Nm rpcinfo +attempts to find all the registered version +numbers for the specified +.Ar program +by calling version 0 (which is presumed not +to exist; if it does exist, +.Ar rpcinfo +attempts to obtain this information by calling +an extremely high version +number instead) and attempts to call each registered version. +Note: the version number is required for +.Fl b +and +.Fl d +options. +.Sh EXAMPLES +To show all of the +.Tn RPC +services registered on the local machine use: +.Pp +.Dl example% rpcinfo -p +.Pp +To show all of the +.Tn RPC +services registered on the machine named +.Ar klaxon +use: +.Pp +.Dl example% rpcinfo -p klaxon +.Pp +To show all machines on the local net that are running the Yellow Pages +service use: +.Pp +.Dl example% rpcinfo -b ypserv 'version' | uniq +.Pp +where 'version' is the current Yellow Pages version obtained from the +results of the +.Fl p +switch above. +.Pp +To delete the registration for version 1 of the +.Nm walld +service use: +.Pp +.Dl example% rpcinfo -d walld 1 +.Sh SEE ALSO +.Xr rpc 5 , +.Xr portmap 8 +.Rs +.%T "RPC Programming Guide" +.Re +.Sh BUGS +In releases prior to SunOS 3.0, the Network File System (NFS) did not +register itself with the portmapper; +.Nm rpcinfo +cannot be used to make +.Tn RPC +calls to the +.Tn NFS +server on hosts running such releases. --- glibc-2.3.6.orig/debian/local/manpages/sprof.1 +++ glibc-2.3.6/debian/local/manpages/sprof.1 @@ -0,0 +1,230 @@ +.rn '' }` +''' $RCSfile: sprof.1,v $$Revision: 1.1.2.1 $$Date: 2003/09/22 21:33:35 $ +''' +''' $Log: sprof.1,v $ +''' Revision 1.1.2.1 2003/09/22 21:33:35 jbailey +''' New directory for things we add to the package +''' +''' +.de Sh +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp +.if t .sp .5v +.if n .sp +.. +.de Ip +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.de Vb +.ft CW +.nf +.ne \\$1 +.. +.de Ve +.ft R + +.fi +.. +''' +''' +''' Set up \*(-- to give an unbreakable dash; +''' string Tr holds user defined translation string. +''' Bell System Logo is used as a dummy character. +''' +.tr \(*W-|\(bv\*(Tr +.ie n \{\ +.ds -- \(*W- +.ds PI pi +.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +.ds L" "" +.ds R" "" +''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of +''' \*(L" and \*(R", except that they are used on ".xx" lines, +''' such as .IP and .SH, which do another additional levels of +''' double-quote interpretation +.ds M" """ +.ds S" """ +.ds N" """"" +.ds T" """"" +.ds L' ' +.ds R' ' +.ds M' ' +.ds S' ' +.ds N' ' +.ds T' ' +'br\} +.el\{\ +.ds -- \(em\| +.tr \*(Tr +.ds L" `` +.ds R" '' +.ds M" `` +.ds S" '' +.ds N" `` +.ds T" '' +.ds L' ` +.ds R' ' +.ds M' ` +.ds S' ' +.ds N' ` +.ds T' ' +.ds PI \(*p +'br\} +.\" If the F register is turned on, we'll generate +.\" index entries out stderr for the following things: +.\" TH Title +.\" SH Header +.\" Sh Subsection +.\" Ip Item +.\" X<> Xref (embedded +.\" Of course, you have to process the output yourself +.\" in some meaninful fashion. +.if \nF \{ +.de IX +.tm Index:\\$1\t\\n%\t"\\$2" +.. +.nr % 0 +.rr F +.\} +.TH SPROF 1 "woody" "7/Jan/2001" "Debian GNU/Linux" +.UC +.if n .hy 0 +.if n .na +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.de CQ \" put $1 in typewriter font +.ft CW +'if n "\c +'if t \\&\\$1\c +'if n \\&\\$1\c +'if n \&" +\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 +'.ft R +.. +.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 +. \" AM - accent mark definitions +.bd B 3 +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds ? ? +. ds ! ! +. ds / +. ds q +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' +. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] +.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' +.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' +.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +.ds oe o\h'-(\w'o'u*4/10)'e +.ds Oe O\h'-(\w'O'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds v \h'-1'\o'\(aa\(ga' +. ds _ \h'-1'^ +. ds . \h'-1'. +. ds 3 3 +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +. ds oe oe +. ds Oe OE +.\} +.rm #[ #] #H #V #F C +.SH "NAME" +sprof \- Read and display shared object profiling data +.SH "SYNOPSIS" +\fBsprof\fR \fB\-p\fR|\fB\-c\fR [\fB\-q\fR] +.SH "DESCRIPTION" +\fB--call-pairs\fR, \fB\-c\fR +.PP +.Vb 1 +\& print list of count paths and their number of use +.Ve +\fB--flat-profile\fR, \fB\-p\fR +.PP +.Vb 1 +\& generate flat profile with counts and ticks +.Ve +\fB--graph\fR, \fB\-q\fR +.PP +.Vb 1 +\& generate call graph +.Ve +.SH "AUTHOR" +\fIsprof\fR was written by Ulrich Drepper for the GNU C Library +.PP +This man page was written by Joel Klecker for +the Debian GNU/Linux system. + +.rn }` '' +.IX Title "SPROF 1" +.IX Name "sprof - Read and display shared object profiling data" + +.IX Header "NAME" + +.IX Header "SYNOPSIS" + +.IX Header "DESCRIPTION" + +.IX Header "AUTHOR" + --- glibc-2.3.6.orig/debian/local/manpages/sprof.pod +++ glibc-2.3.6/debian/local/manpages/sprof.pod @@ -0,0 +1,28 @@ +=head1 NAME + +sprof - Read and display shared object profiling data + +=head1 SYNOPSIS + +B B<-p>|B<-c> [B<-q>] + +=head1 DESCRIPTION + +B<--call-pairs>, B<-c> + + print list of count paths and their number of use + +B<--flat-profile>, B<-p> + + generate flat profile with counts and ticks + +B<--graph>, B<-q> + + generate call graph + +=head1 AUTHOR + +I was written by Ulrich Drepper for the GNU C Library + +This man page was written by Joel Klecker Eespy@debian.orgE for +the Debian GNU/Linux system. --- glibc-2.3.6.orig/debian/local/manpages/tzconfig.8 +++ glibc-2.3.6/debian/local/manpages/tzconfig.8 @@ -0,0 +1,111 @@ +.\" Copyright 1998 Marcus Brinkmann (brinkmd@debian.org) +.\" +.\" Permission is granted to make and distribute verbatim copies of this +.\" manual provided the copyright notice and this permission notice are +.\" preserved on all copies. +.\" +.\" Permission is granted to copy and distribute modified versions of this +.\" manual under the conditions for verbatim copying, provided that the +.\" entire resulting derived work is distributed under the terms of a +.\" permission notice identical to this one +.\" +.\" Since the Linux kernel and libraries are constantly changing, this +.\" manual page may be incorrect or out-of-date. The author(s) assume no +.\" responsibility for errors or omissions, or for damages resulting from +.\" the use of the information contained herein. The author(s) may not +.\" have taken the same level of care in the production of this manual, +.\" which is licensed free of charge, as they might when working +.\" professionally. +.\" +.\" Formatted or processed versions of this manual, if unaccompanied by +.\" the source, must acknowledge the copyright and authors of this work. +.\" +.\" Modified Mon Jul 12 18:40:00 1998 by Marcus Brinkmann +.TH TZCONFIG 8 "12 June 1998" "Debian" "Debian Timezone Configuration" +.SH NAME +tzconfig \- set the local timezone +.SH SYNOPSIS +.B tzconfig +.SH DESCRIPTION +This manual page explains how you can use the +.B "tzconfig" +utility to set the local timezone. This is necessary to let your system know about the +difference between system time and local time (the time in the real world). It is also +necessary to make your system behave nicely when your location uses Daylight Savings Time. + +A valid system time together with the correct local time zone will give you best performance +and highest reliability. It is especially important in a network environment, where even small +time differences can make a mirror refetch a whole ftp site, or where time stamps on +external file systems are used. + +.B tzconfig +is called without any parameters from the shell. First it presents the current setting and asks +for verification to change it. + +You may press +.B Ctrl-C +to interrupt the script at any time. + +After you made your choice, +.B tzconfig +will try to change the timezone for you. See the +.B Internals +section below for technical details. You must have root privileges to actually change +anything. Please use +.BR tzselect (1) +as a user space command to just look at the timezones. It will print the local time in any +timezone recognized by the system. +.SH "A WORD OF WARNING" +What timezone is correct for your system? It depends on the geographical location of the machine. +Getting the correct location is important, but +the system must also know how your hardware clock is set. Most DOS based PCs set their hardware +clock on Local Time, while most UNIX systems set their hardware clock to UTC. + +The Debian GNU/Linux system gains its knowledge of this setting +from the file +.IR /etc/default/rcS . +This file contains either the line +.BR UTC=yes , +which indicates that the hardware clock is set to UTC, or it contains the line +.BR UTC=no , +which declares the hardware clock is set to Local Time. If these setting are correct, and the hardware +clock is truly set as indicated, then configuring the proper timezone for the machine +will cause the proper date and time to be displayed. If these are not set correctly, the the +reported time will be quite incorrect. See +.BR hwclock (8) +for more details on this topic. + +.SH Internals +The work done by +.B tzconfig +is actually pretty simple. It just updates the link +.I /etc/localtime +to point to the correct timezone installed in +.IR /usr/share/zoneinfo/ . + +There is nothing wrong with doing this manually. However, using +.B tzconfig +you don't have to remember the path to the timezones. +.SH FILES +.I /etc/timezone +.BR +.I /etc/localtime +.BR +.I /usr/share/zoneinfo +.SH "SEE ALSO" +.BR hwclock (8) +.BR tzselect (1) +.BR rcS (5) +.SH AUTHOR +Copyright 1998 Marcus Brinkmann +.BR +Edits Copyright 1998 Dale Scheetz + +Please see nroff source for legal notice. + + + + + + + --- glibc-2.3.6.orig/debian/local/manpages/tzselect.1 +++ glibc-2.3.6/debian/local/manpages/tzselect.1 @@ -0,0 +1,70 @@ +.\" Copyright 1998 Marcus Brinkmann (brinkmd@debian.org) +.\" +.\" Permission is granted to make and distribute verbatim copies of this +.\" manual provided the copyright notice and this permission notice are +.\" preserved on all copies. +.\" +.\" Permission is granted to copy and distribute modified versions of this +.\" manual under the conditions for verbatim copying, provided that the +.\" entire resulting derived work is distributed under the terms of a +.\" permission notice identical to this one +.\" +.\" Since the Linux kernel and libraries are constantly changing, this +.\" manual page may be incorrect or out-of-date. The author(s) assume no +.\" responsibility for errors or omissions, or for damages resulting from +.\" the use of the information contained herein. The author(s) may not +.\" have taken the same level of care in the production of this manual, +.\" which is licensed free of charge, as they might when working +.\" professionally. +.\" +.\" Formatted or processed versions of this manual, if unaccompanied by +.\" the source, must acknowledge the copyright and authors of this work. +.\" +.\" Modified Mon Jul 12 18:40:00 1998 by Marcus Brinkmann (brinkmd@debian.org) +.TH TZSELECT 1 "12 June 1998" "Debian" "Debian Timezone Configuration" +.SH NAME +tzselect \- view timezones +.SH SYNOPSIS +.B tzselect +.SH DESCRIPTION +This manual page explains how you can use the +.B "tzselect" +utility to view the installed timezone. It comes handy when you want to know what time it is in +other countries, or if you just wonder what timezones exist. + +.B tzselect +is called without any parameters from the shell. It shows a list of about one dozen geographic +areas one can roughly recognize as continents. After choosing a geographic area by number, a +list of countries and cities in this area will be shown. + +You can press the +.B Enter +key to reprint the list. To choose a timezone, just press the number left to it. +If your input is invalid, the list will be reprinted. + +You may press +.B Ctrl-C +to interrupt the script at any time. + +Nothe that +.B tzselect +will not actually change the timezone for you. Use the +.BR tzconfig (8) +utility to achieve this. +.SH FILES +.I /usr/share/zoneinfo/ +.SH "SEE ALSO" +.BR hwclock (8) +.BR tzconfig (8) +.SH AUTHOR +Copyright 1998 Marcus Brinkmann + +Please see nroff source for legal notice. + + + + + + + + --- glibc-2.3.6.orig/debian/local/manpages/validlocale.8 +++ glibc-2.3.6/debian/local/manpages/validlocale.8 @@ -0,0 +1,49 @@ +.TH "validlocale" "8" "0.1" "Petter Reinholdtsen" "" +.SH "NAME" +.LP +validlocale \- Test if a given locale is available +.SH "SYNTAX" +.LP +validlocale <\fIlocale\fP> +.SH "DESCRIPTION" +.LP +Test if the locale given as argument is a valid locale. If it +isn't, print on stdout the string to add to /etc/locale.gen to make +locale\-gen generate the locale (if it exists at all). +.SH "FILES" +.LP +\fI/usr/sbin/validlocale\fP +.br +\fI/usr/share/i18n/SUPPORTED\fP +.SH "ENVIRONMENT VARIABLES" +.LP +.TP +\fBDEFAULTCHARSET\fP +Which charset to assume if the given locale is missing from the +list of supported locales. +.SH "EXAMPLES" +.LP +If you give a valid locale as parameter, it outputs a string +specifying this on stderr: +.LP +.IP +% validlocale C +.br +locale 'C' valid and available +.LP +When given a invalid (not generated or just nonexistent), it +outputs a string on stderr telling that this is an invalid locale, and a string to stdout with the string to add to /etc/locale.gen +to have this locale generated: +.LP +.IP +% validlocale de_AU@euro +.br +locale 'de_AT@euro' not available +.br +de_AT@euro ISO\-8859\-15 +.SH "AUTHORS" +.LP +Petter Reinholdtsen +.SH "SEE ALSO" +.LP +locale\-gen(8), localedef(1), locale(1) --- glibc-2.3.6.orig/debian/local/manpages/zdump.1 +++ glibc-2.3.6/debian/local/manpages/zdump.1 @@ -0,0 +1,43 @@ +.TH ZDUMP 1 +.SH NAME +zdump \- time zone dumper +.SH SYNOPSIS +.B zdump +[ +.B \-v +] [ +.B \-c +cutoffyear ] [ zonename ... ] +.SH DESCRIPTION +.I Zdump +prints the current time in each +.I zonename +named on the command line. +.PP +These options are available: +.TP +.B \-v +For each +.I zonename +on the command line, +print the time at the lowest possible time value, +the time one day after the lowest possible time value, +the times both one second before and exactly at +each detected time discontinuity, +the time at one day less than the highest possible time value, +and the time at the highest possible time value, +Each line ends with +.B isdst=1 +if the given time is Daylight Saving Time or +.B isdst=0 +otherwise. +.I zonename +should be the relative path file name from +.B /usr/share/zoneinfo/ +which directory contains all zone data. +.TP +.BI "\-c " cutoffyear +Cut off the verbose output near the start of the given year. +.SH "SEE ALSO" +ctime(3), zic(8) +.\" @(#)zdump.8 7.3 --- glibc-2.3.6.orig/debian/local/manpages/zic.8 +++ glibc-2.3.6/debian/local/manpages/zic.8 @@ -0,0 +1,413 @@ +.TH ZIC 8 +.SH NAME +zic \- time zone compiler +.SH SYNOPSIS +.B zic +[ +.B \-v +] [ +.B \-d +.I directory +] [ +.B \-l +.I localtime +] [ +.B \-p +.I posixrules +] [ +.B \-L +.I leapsecondfilename +] [ +.B \-s +] [ +.B \-y +.I command +] [ +.I filename +\&... ] +.SH DESCRIPTION +.if t .ds lq `` +.if t .ds rq '' +.if n .ds lq \&"\" +.if n .ds rq \&"\" +.de q +\\$3\*(lq\\$1\*(rq\\$2 +.. +.I Zic +reads text from the file(s) named on the command line +and creates the time conversion information files specified in this input. +If a +.I filename +is +.BR \- , +the standard input is read. +.PP +These options are available: +.TP +.BI "\-d " directory +Create time conversion information files in the named directory rather than +in the standard directory named below. +.TP +.BI "\-l " timezone +Use the given time zone as local time. +.I Zic +will act as if the input contained a link line of the form +.sp +.ti +.5i +Link \fItimezone\fP localtime +.TP +.BI "\-p " timezone +Use the given time zone's rules when handling POSIX-format +time zone environment variables. +.I Zic +will act as if the input contained a link line of the form +.sp +.ti +.5i +Link \fItimezone\fP posixrules +.TP +.BI "\-L " leapsecondfilename +Read leap second information from the file with the given name. +If this option is not used, +no leap second information appears in output files. +.TP +.B \-v +Complain if a year that appears in a data file is outside the range +of years representable by +.IR time (2) +values. +.TP +.B \-s +Limit time values stored in output files to values that are the same +whether they're taken to be signed or unsigned. +You can use this option to generate SVVS-compatible files. +.TP +.BI "\-y " command +Use the given +.I command +rather than +.B yearistype +when checking year types (see below). +.PP +Input lines are made up of fields. +Fields are separated from one another by any number of white space characters. +Leading and trailing white space on input lines is ignored. +An unquoted sharp character (#) in the input introduces a comment which extends +to the end of the line the sharp character appears on. +White space characters and sharp characters may be enclosed in double quotes +(") if they're to be used as part of a field. +Any line that is blank (after comment stripping) is ignored. +Non-blank lines are expected to be of one of three types: +rule lines, zone lines, and link lines. +.PP +A rule line has the form +.nf +.ti +.5i +.ta \w'Rule\0\0'u +\w'NAME\0\0'u +\w'FROM\0\0'u +\w'1973\0\0'u +\w'TYPE\0\0'u +\w'Apr\0\0'u +\w'lastSun\0\0'u +\w'2:00\0\0'u +\w'SAVE\0\0'u +.sp +Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +.sp +For example: +.ti +.5i +.sp +Rule US 1967 1973 \- Apr lastSun 2:00 1:00 D +.sp +.fi +The fields that make up a rule line are: +.TP "\w'LETTER/S'u" +.B NAME +Gives the (arbitrary) name of the set of rules this rule is part of. +.TP +.B FROM +Gives the first year in which the rule applies. +Any integer year can be supplied; the Gregorian calendar is assumed. +The word +.B minimum +(or an abbreviation) means the minimum year representable as an integer. +The word +.B maximum +(or an abbreviation) means the maximum year representable as an integer. +Rules can describe times that are not representable as time values, +with the unrepresentable times ignored; this allows rules to be portable +among hosts with differing time value types. +.TP +.B TO +Gives the final year in which the rule applies. +In addition to +.B minimum +and +.B maximum +(as above), +the word +.B only +(or an abbreviation) +may be used to repeat the value of the +.B FROM +field. +.TP +.B TYPE +Gives the type of year in which the rule applies. +If +.B TYPE +is +.B \- +then the rule applies in all years between +.B FROM +and +.B TO +inclusive. +If +.B TYPE +is something else, then +.I zic +executes the command +.ti +.5i +\fByearistype\fP \fIyear\fP \fItype\fP +.br +to check the type of a year: +an exit status of zero is taken to mean that the year is of the given type; +an exit status of one is taken to mean that the year is not of the given type. +.TP +.B IN +Names the month in which the rule takes effect. +Month names may be abbreviated. +.TP +.B ON +Gives the day on which the rule takes effect. +Recognized forms include: +.nf +.in +.5i +.sp +.ta \w'Sun<=25\0\0'u +5 the fifth of the month +lastSun the last Sunday in the month +lastMon the last Monday in the month +Sun>=8 first Sunday on or after the eighth +Sun<=25 last Sunday on or before the 25th +.fi +.in -.5i +.sp +Names of days of the week may be abbreviated or spelled out in full. +Note that there must be no spaces within the +.B ON +field. +.TP +.B AT +Gives the time of day at which the rule takes effect. +Recognized forms include: +.nf +.in +.5i +.sp +.ta \w'1:28:13\0\0'u +2 time in hours +2:00 time in hours and minutes +15:00 24-hour format time (for times after noon) +1:28:14 time in hours, minutes, and seconds +.fi +.in -.5i +.sp +where hour 0 is midnight at the start of the day, +and hour 24 is midnight at the end of the day. +Any of these forms may be followed by the letter +.B w +if the given time is local +.q "wall clock" +time, +.B s +if the given time is local +.q standard +time, or +.B u +(or +.B g +or +.BR z ) +if the given time is universal time; +in the absence of an indicator, +wall clock time is assumed. +.TP +.B SAVE +Gives the amount of time to be added to local standard time when the rule is in +effect. +This field has the same format as the +.B AT +field +(although, of course, the +.B w +and +.B s +suffixes are not used). +.TP +.B LETTER/S +Gives the +.q "variable part" +(for example, the +.q S +or +.q D +in +.q EST +or +.q EDT ) +of time zone abbreviations to be used when this rule is in effect. +If this field is +.BR \- , +the variable part is null. +.PP +A zone line has the form +.sp +.nf +.ti +.5i +.ta \w'Zone\0\0'u +\w'Australia/Adelaide\0\0'u +\w'GMTOFF\0\0'u +\w'RULES/SAVE\0\0'u +\w'FORMAT\0\0'u +Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL] +.sp +For example: +.sp +.ti +.5i +Zone Australia/Adelaide 9:30 Aus CST 1971 Oct 31 2:00 +.sp +.fi +The fields that make up a zone line are: +.TP "\w'GMTOFF'u" +.B NAME +The name of the time zone. +This is the name used in creating the time conversion information file for the +zone. +.TP +.B GMTOFF +The amount of time to add to UTC to get standard time in this zone. +This field has the same format as the +.B AT +and +.B SAVE +fields of rule lines; +begin the field with a minus sign if time must be subtracted from UTC. +.TP +.B RULES/SAVE +The name of the rule(s) that apply in the time zone or, +alternately, an amount of time to add to local standard time. +If this field is +.B \- +then standard time always applies in the time zone. +.TP +.B FORMAT +The format for time zone abbreviations in this time zone. +The pair of characters +.B %s +is used to show where the +.q "variable part" +of the time zone abbreviation goes. +Alternately, +a slash (/) +separates standard and daylight abbreviations. +.TP +.B UNTIL +The time at which the UTC offset or the rule(s) change for a location. +It is specified as a year, a month, a day, and a time of day. +If this is specified, +the time zone information is generated from the given UTC offset +and rule change until the time specified. +The month, day, and time of day have the same format as the IN, ON, and AT +columns of a rule; trailing columns can be omitted, and default to the +earliest possible value for the missing columns. +.IP +The next line must be a +.q continuation +line; this has the same form as a zone line except that the +string +.q Zone +and the name are omitted, as the continuation line will +place information starting at the time specified as the +.B UNTIL +field in the previous line in the file used by the previous line. +Continuation lines may contain an +.B UNTIL +field, just as zone lines do, indicating that the next line is a further +continuation. +.PP +A link line has the form +.sp +.nf +.ti +.5i +.ta \w'Link\0\0'u +\w'Europe/Istanbul\0\0'u +Link LINK-FROM LINK-TO +.sp +For example: +.sp +.ti +.5i +Link Europe/Istanbul Asia/Istanbul +.sp +.fi +The +.B LINK-FROM +field should appear as the +.B NAME +field in some zone line; +the +.B LINK-TO +field is used as an alternate name for that zone. +.PP +Except for continuation lines, +lines may appear in any order in the input. +.PP +Lines in the file that describes leap seconds have the following form: +.nf +.ti +.5i +.ta \w'Leap\0\0'u +\w'YEAR\0\0'u +\w'MONTH\0\0'u +\w'DAY\0\0'u +\w'HH:MM:SS\0\0'u +\w'CORR\0\0'u +.sp +Leap YEAR MONTH DAY HH:MM:SS CORR R/S +.sp +For example: +.ti +.5i +.sp +Leap 1974 Dec 31 23:59:60 + S +.sp +.fi +The +.BR YEAR , +.BR MONTH , +.BR DAY , +and +.B HH:MM:SS +fields tell when the leap second happened. +The +.B CORR +field +should be +.q + +if a second was added +or +.q - +if a second was skipped. +.\" There's no need to document the following, since it's impossible for more +.\" than one leap second to be inserted or deleted at a time. +.\" The C Standard is in error in suggesting the possibility. +.\" See Terry J Quinn, The BIPM and the accurate measure of time, +.\" Proc IEEE 79, 7 (July 1991), 894-905. +.\" or +.\" .q ++ +.\" if two seconds were added +.\" or +.\" .q -- +.\" if two seconds were skipped. +The +.B R/S +field +should be (an abbreviation of) +.q Stationary +if the leap second time given by the other fields should be interpreted as UTC +or +(an abbreviation of) +.q Rolling +if the leap second time given by the other fields should be interpreted as +local wall clock time. +.SH NOTE +For areas with more than two types of local time, +you may need to use local standard time in the +.B AT +field of the earliest transition time's rule to ensure that +the earliest transition time recorded in the compiled file is correct. +.SH FILE +/usr/share/zoneinfo standard directory used for created files +.SH "SEE ALSO" +ctime(3), zdump(1) +.\" @(#)zic.8 7.18 --- glibc-2.3.6.orig/debian/sysdeps/sparc.mk +++ glibc-2.3.6/debian/sysdeps/sparc.mk @@ -0,0 +1,54 @@ +GLIBC_PASSES += sparcv9b sparcv9v sparc64 sparc64b sparc64v +DEB_ARCH_REGULAR_PACKAGES += libc6-sparc64 libc6-sparc64b libc6-sparc64v libc6-sparcv9b libc6-sparcv9v libc6-dev-sparc64 + +sparc64_MIN_KERNEL_SUPPORTED = 2.4.18 +sparc64_configure_build=sparc64-linux +sparc64_configure_target=sparc64-linux +sparc64_CC = $(BUILD_CC) -m64 -mcpu=ultrasparc +sparc64_extra_cflags = -g2 -O3 +sparc64_extra_config_options = $(extra_config_options) --disable-profile --without-tls --without-__thread +sparc64_add-ons = linuxthreads $(add-ons) +libc6-sparc64_shlib_dep = libc6-sparc64 (>= $(shlib_dep_ver)) +sparc64_LIBDIR = 64 + +sparc64b_MIN_KERNEL_SUPPORTED = 2.6.0 +sparc64b_configure_build=sparc64-linux +sparc64b_configure_target=sparc64b-linux +sparc64b_CC = $(BUILD_CC) -m64 -mcpu=ultrasparc3 +sparc64b_extra_cflags = -g2 -O3 +sparc64b_extra_config_options = $(extra_config_options) --disable-profile --without-tls --without-__thread +sparc64b_add-ons = linuxthreads $(add-ons) +libc6-sparc64b_shlib_dep = libc6-sparc64b (>= $(shlib_dep_ver)) +sparc64b_LIBDIR = 64/ultra3 + +sparc64v_MIN_KERNEL_SUPPORTED = 2.6.0 +sparc64v_configure_build=sparc64-linux +sparc64v_configure_target=sparc64v-linux +sparc64v_CC = $(BUILD_CC) -m64 -mcpu=ultrasparc3 +sparc64v_extra_cflags = -g2 -O3 +sparc64v_extra_config_options = $(extra_config_options) --disable-profile --without-tls --without-__thread +sparc64v_add-ons = linuxthreads $(add-ons) +libc6-sparc64v_shlib_dep = libc6-sparc64v (>= $(shlib_dep_ver)) +sparc64v_LIBDIR = 64/v9v + +libc_MIN_KERNEL_SUPPORTED = 2.6.0 +libc_add-ons = nptl $(add-ons) +libc_extra_config_options := $(extra_config_options) --with-tls --with-__thread +libc_extra_cflags = -O3 +libc_configure_build=sparcv9-linux +libc_configure_target=sparcv9-linux + +sparcv9b_MIN_KERNEL_SUPPORTED = 2.6.0 +sparcv9b_configure_target=sparcv9b-linux +sparcv9b_extra_cflags = -O3 -mtune=ultrasparc3 +sparcv9b_extra_config_options = $(extra_config_options) --disable-profile --with-tls --with-__thread +sparcv9b_add-ons = nptl $(add-ons) +sparcv9b_LIBDIR = /ultra3 + +sparcv9v_MIN_KERNEL_SUPPORTED = 2.6.0 +sparcv9v_configure_target=sparcv9v-linux +sparcv9v_extra_cflags = -O3 -mtune=ultrasparc3 +sparcv9v_extra_config_options = $(extra_config_options) --disable-profile --with-tls --with-__thread +sparcv9v_add-ons = nptl $(add-ons) +sparcv9v_LIBDIR = /v9v + --- glibc-2.3.6.orig/debian/sysdeps/depflags.pl +++ glibc-2.3.6/debian/sysdeps/depflags.pl @@ -0,0 +1,173 @@ +#!/usr/bin/perl + +# These get export by debian/sysdeps/depflags.mk +$DEB_HOST_GNU_SYSTEM = $ENV{'DEB_HOST_GNU_SYSTEM'}; +$DEB_HOST_GNU_TYPE = $ENV{'DEB_HOST_GNU_TYPE'}; +$libc = $ENV{'libc'}; +$glibc = $ENV{'glibc'}; +@deptypes = ('Depends', 'Replaces', 'Conflicts', 'Provides', + 'Suggests'); + +# Let's make sure we are sane +if (!defined($DEB_HOST_GNU_SYSTEM) or !defined($DEB_HOST_GNU_TYPE) or + !defined($libc) or !defined($glibc)) { + die "Could not get all parameters"; +} + +@ARGV == 1 or die "Usage: depflags "; +$type = $ARGV[0]; + +# OS specific stuff +if ($DEB_HOST_GNU_SYSTEM eq "gnu") { + push @{$libc_dev_c{'Depends'}}, ('gnumach-dev', 'hurd-dev'); + push @{$libc_dev_c{'Replaces'}}, 'glibc2-dev'; + push @{$libc_dev_c{'Conflicts'}}, 'glibc2-dev'; + push @{$libc_c{'Replaces'}}, 'glibc2'; + push @{$libc_c{'Conflicts'}}, 'glibc2'; + push @{$libc_c{'Depends'}}, 'hurd (>= 20010718-1)'; +} +if ($DEB_HOST_GNU_SYSTEM eq "linux-gnu") { + push @{$libc_c{'Suggests'}}, 'locales'; + push @{$libc_dev_c{'Recommends'}}, 'c-compiler'; + push @{$libc_dev_c{'Replaces'}}, ('man-db (<= 2.3.10-41)', 'gettext (<= 0.10.26-1)', + 'ppp (<= 2.2.0f-24)', 'libgdbmg1-dev (<= 1.7.3-24)'); + push @{$libc_dev_c{'Depends'}}, 'linux-kernel-headers (>= 2.6.11.2-0)'; +} + +# ${glibc}-doc is suggested by $libc_c and $libc_dev_c. +push @{$libc_c{'Suggests'}}, "${glibc}-doc"; +push @{$libc_dev_c{'Suggests'}}, "${glibc}-doc"; +push @{$libc_dev_c{'Suggests'}}, "manpages-dev"; + +# nss-db is now seperate +push @{$libc_c{'Recommends'}}, 'libnss-db'; + +# Old strace doesn't work with current libc6 +push @{$libc_c{'Conflicts'}}, 'strace (<< 4.0-0)'; + +# 2.1.94 required a patch, applied in gcc -15, so c++ compiles will work again +push @{$libc_dev_c{'Conflicts'}}, 'libstdc++2.10-dev (<< 1:2.95.2-15)'; + +# 2.2.2+CVS requires a newer gcc. For non-i386, we just worry about the +# weak-sym patch, since on i386 we need an even newer one because of the +# pic-kludge that breaks libc_nonshared.a inclusion. +if ($DEB_HOST_GNU_TYPE =~ m/^i486-linux-gnu$/) { + push @{$libc_dev_c{'Conflicts'}}, 'gcc-2.95 (<< 1:2.95.3-9)'; +} else { + push @{$libc_dev_c{'Conflicts'}}, 'gcc-2.95 (<< 1:2.95.3-8)'; +} + +# The db2 changes left libnss-db broken, except for the newer version +# which uses db3 +push @{$libc_c{'Conflicts'}}, 'libnss-db (<= 2.2-6.1.1)'; + +# From now on we provide our own ldconfig and ldd, so we don't need ldso +push @{$libc_dev_c{'Replaces'}}, 'ldso (<= 1.9.11-9)'; +push @{$libc_c{'Replaces'}}, 'ldso (<= 1.9.11-9)'; + +# Some old packages from glibc that don't get built, but need to be handled +push @{$libc_c{'Replaces'}}, ('timezone', 'timezones', 'gconv-modules', + 'libtricks'); +push @{$libc_c{'Conflicts'}}, ('timezone', 'timezones', 'gconv-modules', + 'libtricks', "${libc}-doc"); + +# conflicts from libc5 days +if ($DEB_HOST_GNU_TYPE =~ m/^(i486|m68k)-linux-gnu$/) { + push @{$libc_c{'Conflicts'}}, ('libc5 (<< 5.4.33-7)', 'libpthread0 (<< 0.7-10)'); +} elsif ($DEB_HOST_GNU_TYPE eq 'sparc-linux-gnu') { + push @{$libc_c{'Conflicts'}}, ('libc5 (<< 5.3.12-2)', 'libpthread0 (<< 0.7-10)'); +} +if ($DEB_HOST_GNU_TYPE =~ m/^(alpha|i486|m68k|sparc)-linux-gnu$/) { + push @{$libc_dev_c{'Conflicts'}}, ('libpthread0-dev', 'libdl1-dev', + 'libdb1-dev', 'libgdbm1-dev'); + # Add this here too, old package + push @{$libc_c{'Conflicts'}}, ("${libc}-bin", 'libwcsmbs'); + push @{$libc_c{'Replaces'}}, "${libc}-bin"; +} + +# Old, Pre glibc 2.1 +if ($DEB_HOST_GNU_TYPE =~ m/^(alpha|i486|m68k|sparc|powerpc|arm)-linux-gnu$/) { + push @{$libc_dev_c{'Conflicts'}}, ("${libc}-dev (<< 2.0.110-1)", + 'locales (<< 2.1.3-5)'); +} + +# XXX: Not sure why this conflict is here, maybe broken c++? +if ($DEB_HOST_GNU_TYPE =~ m/^(i486|m68k|alpha)-linux-gnu$/) { + push @{$libc_c{'Conflicts'}}, ('apt (<< 0.3.0)', 'libglib1.2 (<< 1.2.1-2)'); +} + +# Some old c++ libs +if ($DEB_HOST_GNU_TYPE =~ m/^(alpha|i486)-linux-gnu$/) { + push @{$libc_dev_c{'Conflicts'}}, 'libstdc++2.9-dev'; +} elsif ($DEB_HOST_GNU_TYPE eq "powerpc-linux-gnu") { + push @{$libc_dev_c{'Conflicts'}}, ('libstdc++2.9 (<< 2.91.58-2.1)', + 'libstdc++2.8 (<< 2.90.29-1)'); +} elsif ($DEB_HOST_GNU_TYPE eq "m68k-linux-gnu") { + push @{$libc_dev_c{'Conflicts'}}, 'libstdc++2.9-dev'; +} + +# XXX: What is this!? +if ($DEB_HOST_GNU_TYPE eq "alpha-linux-gnu") { + push @{$libc_dev_c{'Conflicts'}}, ('libncurses4-dev (<< 4.2-3.1)', + 'libreadlineg2-dev (<< 2.1-13.1)'); +} + +# Conflict/Replace netkit-rpc, and its manpages +push @{$libc_c{'Conflicts'}}, 'netkit-rpc'; +push @{$libc_c{'Replaces'}}, 'netkit-rpc'; +push @{$libc_dev_c{'Conflicts'}}, 'netkit-rpc'; +push @{$libc_dev_c{'Replaces'}}, 'netkit-rpc'; +push @{$libc_c{'Replaces'}}, 'netbase (<< 4.0)'; +push @{$libc_dev_c{'Replaces'}}, 'netbase (<< 4.0)'; + +# Conflict old wine - didn't like NPTL +push @{$libc_c{'Conflicts'}}, 'wine (<< 0.0.20031118-1)'; + +# Conflict some packages because of bad errno handling +push @{$libc_c{'Conflicts'}}, 'cyrus-imapd (<< 1.5.19-15)'; + +# Conflict old gcc because they have /usr/hppa64-linux/include symlink +# (Bug#239020) +if ($DEB_HOST_GNU_TYPE eq "hppa-linux-gnu") { + push @{$libc_dev_c{'Conflicts'}}, ('gcc-3.3-hppa64 (<= 1:3.3.3-6)', + 'gcc-3.4-hppa64 (<= 3.4-0pre4)'); +} + +# Replace kerberos4kth-dev (<< 1.2.2-10) for fixing #234347. +push @{$libc_dev_c{'Replaces'}}, 'kerberos4kth-dev (<< 1.2.2-10)'; + +# Replace libc-dev (<< 2.3.2.ds1-14) for fixing #239170. +# Replace libc-dev (<< 2.3.5-2) for fixing #280030. +push @{$libc_dev_c{'Replaces'}}, "${libc}-prof (<< 2.3.5-2)"; + +# Conflict old initrd-tools (<< 0.1.79) and e2fsprogs (<< 1.35-7) +# that cannot work with new ldd. +push @{$libc_c{'Conflicts'}}, 'initrd-tools (<< 0.1.79)'; +push @{$libc_c{'Conflicts'}}, 'e2fsprogs (<< 1.35-7)'; + +# Ubuntu hack until Dapper releases: Hard depend on locales to make sure +# that timezones pieces get pulled in for upgrades +push @{$libc_c{'Depends'}}, 'locales (>= 2.3.11)'; + +# Make sure we only have one version of libc-dev installed +push @{$libc_dev_c{'Provides'}}, 'libc-dev'; +push @{$libc_dev_c{'Conflicts'}}, 'libc-dev'; +if ($libc ne "libc6") { + push @{$libc_dev_c{'Provides'}}, 'libc6-dev'; +} + +# Conflict with broken libterm-readline-gnu-perl to avoid #326856. +push @{$libc_c{'Conflicts'}}, 'libterm-readline-gnu-perl (<< 1.15-2)'; + +if ($type eq "libc") { + %pkg = %libc_c; +} elsif ($type eq "libc_dev") { + %pkg = %libc_dev_c; +} else { + die "Unknown package $type"; +} + +foreach $dep (@deptypes) { + next if not defined($pkg{$dep}); + print "-D${dep}=\"" . join(', ', @{$pkg{$dep}}) . "\" "; +} --- glibc-2.3.6.orig/debian/sysdeps/hppa.mk +++ glibc-2.3.6/debian/sysdeps/hppa.mk @@ -0,0 +1,19 @@ +# hppa64 needs symlink /usr/hppa64-linux/include to /usr/include +# (See: Bug#239020) In future we may drop this file with supporting hppa64. + +NJOBS = 1 + +define libc6-dev_extra_pkg_install +mkdir -p debian/$(curpass)/usr +mkdir -p debian/$(curpass)/usr/hppa64-linux +ln -sf /usr/include debian/$(curpass)/usr/hppa64-linux/include +mkdir -p debian/$(curpass)/usr/hppa64-linux-gnu +ln -sf /usr/include debian/$(curpass)/usr/hppa64-linux-gnu/include +endef + +libc_extra_config_options = $(extra_config_options) --without-tls --without-__thread + +# some hppa linuxthreads tests: ex* do not work currently even if +# TIMEOUTSCALE is set - SIGALRM from the program is just ignored. +RUN_TESTSUITE = no + --- glibc-2.3.6.orig/debian/sysdeps/powerpc.mk +++ glibc-2.3.6/debian/sysdeps/powerpc.mk @@ -0,0 +1,16 @@ +GLIBC_PASSES += ppc64 +DEB_ARCH_REGULAR_PACKAGES += libc6-ppc64 libc6-dev-ppc64 +MIN_KERNEL_SUPPORTED = 2.6.0 + +libc_add-ons = nptl $(add-ons) +libc_extra_config_options := $(extra_config_options) --with-tls --with-__thread +libc_extra_cflags = -O3 + +ppc64_extra_cflags = -O3 +ppc64_MIN_KERNEL_SUPPORTED = 2.6.0 +ppc64_configure_target = powerpc64-linux +ppc64_CC = $(CC) -m64 +ppc64_add-ons = nptl $(add-ons) +libc6-ppc64_shlib_dep = libc6-ppc64 (>= $(shlib_dep_ver)) +ppc64_LIBDIR = 64 +ppc64_extra_config_options := $(extra_config_options) --with-tls --with-__thread --disable-profile --- glibc-2.3.6.orig/debian/sysdeps/kfreebsd-gnu.mk +++ glibc-2.3.6/debian/sysdeps/kfreebsd-gnu.mk @@ -0,0 +1,11 @@ +# This is for a Glibc-using FreeBSD system. + +GLIBC_OVERLAYS ?= $(shell ls glibc-linuxthreads* glibc-ports* glibc-libidn*) + +libc = libc1 + +# Linuxthreads Config +threads = yes +libc_add-ons = linuxthreads $(add-ons) + +extra_config_options = $(extra_config_options) --disable-compatible-utmp --enable-kernel-include=4.6 --- glibc-2.3.6.orig/debian/sysdeps/i386.mk +++ glibc-2.3.6/debian/sysdeps/i386.mk @@ -0,0 +1,45 @@ +GLIBC_PASSES += nptl i686 +DEB_ARCH_REGULAR_PACKAGES += libc6-i686 + +# NPTL requires at least i486 assembly. We don't need to take +# special measures for i386 systems, since Debian kernel images now +# emulate the missing instructions on the i386. +nptl_configure_target=i486-linux +nptl_configure_build=i486-linux +nptl_extra_cflags = -march=i486 -mtune=i686 -g2 -O3 + +# We use -march=i686 and glibc's i686 routines use cmov, so require it. +# A Debian-local glibc patch adds cmov to the search path. +# The optimized libraries also use NPTL! +i686_add-ons = nptl $(add-ons) +i686_configure_target=i686-linux +i686_configure_build=i686-linux +i686_extra_cflags = -march=i686 -mtune=i686 -g2 -O3 +i686_LIBDIR = /tls/i686/cmov +i686_MIN_KERNEL_SUPPORTED = 2.6.0 +i686_extra_config_options = $(extra_config_options) --disable-profile --with-tls --with-__thread + +libc_extra_config_options = $(extra_config_options) --with-tls --without-__thread + +# build 64-bit (amd64) alternative library +GLIBC_PASSES += amd64 +DEB_ARCH_REGULAR_PACKAGES += libc6-amd64 libc6-dev-amd64 +libc6-amd64_shlib_dep = libc6-amd64 (>= $(shlib_dep_ver)) + +amd64_configure_target = x86_64-linux +amd64_CC = $(BUILD_CC) -m64 -march=x86-64 -mtune=x86-64 +amd64_add-ons = nptl $(add-ons) +amd64_extra_cflags = -O3 +amd64_extra_config_options = $(extra_config_options) --disable-profile \ + --includedir=/usr/include/x86_64-linux-gnu +amd64_LIBDIR = 64 +amd64_MIN_KERNEL_SUPPORTED = 2.6.0 + +define amd64_extra_install +cp debian/tmp-amd64/usr/bin/ldd debian/tmp-libc/usr/bin +endef + +define libc6-dev-amd64_extra_pkg_install +dh_install -plibc6-dev-amd64 debian/tmp-amd64/usr/include/x86_64-linux-gnu \ + usr/include +endef --- glibc-2.3.6.orig/debian/sysdeps/ia64.mk +++ glibc-2.3.6/debian/sysdeps/ia64.mk @@ -0,0 +1,7 @@ +libc = libc6.1 +MIN_KERNEL_SUPPORTED = 2.6.0 + +libc_add-ons = nptl $(add-ons) +libc_extra_config_options := $(extra_config_options) --with-tls --with-__thread +libc_extra_cflags = -O3 + --- glibc-2.3.6.orig/debian/sysdeps/linux.mk +++ glibc-2.3.6/debian/sysdeps/linux.mk @@ -0,0 +1,70 @@ +GLIBC_OVERLAYS ?= $(shell ls glibc-linuxthreads* glibc-ports* glibc-libidn*) +MIN_KERNEL_SUPPORTED := 2.2.0 +libc = libc6 + +# Support multiple makes at once based on number of processors +# Common wisdom says parallel make can be up to 2n+1. +# Should we do that to get faster builds? +NJOBS:=$(shell getconf _NPROCESSORS_ONLN 2>/dev/null || echo 1) +ifeq ($(NJOBS),-1) + NJOBS:=1 +endif + +ifeq ($(NJOBS),0) + NJOBS=1 +endif + +# We can override its value by SETNJOBS environment variable. +ifdef SETNJOBS + NJOBS:=$(SETNJOBS) +endif + +# Linuxthreads Config +threads = yes +libc_add-ons = linuxthreads $(add-ons) + +ifndef LINUX_SOURCE + LINUX_HEADERS := /usr/include +else + LINUX_HEADERS := $(LINUX_SOURCE)/include +endif + +# Minimum Kernel supported +with_headers = --with-headers=$(shell pwd)/debian/include --enable-kernel=$(call xx,MIN_KERNEL_SUPPORTED) + +# NPTL Config +nptl_add-ons = nptl $(add-ons) +nptl_extra_config_options = $(extra_config_options) --with-tls --with-__thread --disable-profile +nptl_extra_cflags = -g2 -O3 +nptl_MIN_KERNEL_SUPPORTED = 2.6.0 +nptl_LIBDIR = /tls + +LINUX_HEADER_DIR = $(stamp)mkincludedir +$(stamp)mkincludedir: + rm -rf debian/include + mkdir debian/include + ln -s $(LINUX_HEADERS)/linux debian/include + # Link all asm directories. We can't just link asm and asm-generic + # because of explicit references to and + # . + find $(LINUX_HEADERS) -maxdepth 1 -xtype d -name asm\* \ + -exec ln -s '{}' debian/include ';' + + # To make configure happy if libc6-dev is not installed. + touch debian/include/assert.h + + touch $@ + +# Also to make configure happy. +export CPPFLAGS = -isystem $(shell pwd)/debian/include + +# This round of ugliness decomposes the Linux kernel version number +# into an integer so it can be easily compared and then does so. +CURRENT_KERNEL_VERSION=$(shell uname -r) +define kernel_check +(minimum=$$((`echo $(1) | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1 \* 65536 + \2 \* 256 + \3/'`)); \ +current=$$((`echo $(CURRENT_KERNEL_VERSION) | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1 \* 65536 + \2 \* 256 + \3/'`)); \ +if [ $$current -lt $$minimum ]; then \ + false; \ +fi) +endef --- glibc-2.3.6.orig/debian/sysdeps/depflags.mk +++ glibc-2.3.6/debian/sysdeps/depflags.mk @@ -0,0 +1,25 @@ +depflags = libc=$(libc) glibc=glibc \ + DEB_HOST_GNU_SYSTEM=$(DEB_HOST_GNU_SYSTEM) \ + DEB_HOST_GNU_TYPE=$(DEB_HOST_GNU_TYPE) \ + perl debian/sysdeps/depflags.pl + +libc_control_flags = $(shell $(depflags) libc) +libc_dev_control_flags = $(shell $(depflags) libc_dev) + +# If there's a -DDepends for libc-dev, add this to it. If there isn't +# then the control file's depends line (which contains this) will be used. +# This is gross and another reason why depflags.pl must die. +libc_dev_dep = $(libc) (= $(DEB_VERSION)), +libc_dev_control_flags := $(subst Depends=",Depends="$(libc_dev_dep) ,$(libc_dev_control_flags)) + +$(libc)_control_flags = $(libc_control_flags) +$(libc)-dev_control_flags = $(libc_dev_control_flags) + +test_depflags: + @echo + @echo "$(libc):" + @echo ' $(libc_control_flags)' + @echo + @echo "$(libc)-dev:" + @echo ' $(libc_dev_control_flags)' + @echo --- glibc-2.3.6.orig/debian/sysdeps/s390.mk +++ glibc-2.3.6/debian/sysdeps/s390.mk @@ -0,0 +1,16 @@ +GLIBC_PASSES += nptl s390x +DEB_ARCH_REGULAR_PACKAGES += libc6-s390x libc6-dev-s390x + +s390x_MIN_KERNEL_SUPPORTED = 2.4.1 +s390x_configure_target = s390x-linux +s390x_CC = $(CC) -m64 +s390x_add-ons = linuxthreads $(add-ons) +libc6-s390x_shlib_dep = libc6-s390x (>= $(shlib_dep_ver)) +s390x_extra_cflags = -g1 -O3 +s390x_LIBDIR = 64 +s390x_extra_config_options := $(extra_config_options) --disable-profile + +define libc6-s390x_extra_pkg_install +mkdir -p debian/$(curpass)/lib +ln -s /lib64/ld64.so.1 debian/$(curpass)/lib +endef --- glibc-2.3.6.orig/debian/sysdeps/alpha.mk +++ glibc-2.3.6/debian/sysdeps/alpha.mk @@ -0,0 +1,8 @@ +libc = libc6.1 + +# disabled because alpha linuxthreads ex7, ex9, ex10, ex18 stopps eternally +# even if TIMEOUTSCALE is set - SIGALRM from the program is just ignored. +RUN_TESTSUITE = no + +# disabled for static linked pthread programs. +libc_extra_config_options = $(extra_config_options) --with-tls --without-__thread --- glibc-2.3.6.orig/debian/sysdeps/hurd.mk +++ glibc-2.3.6/debian/sysdeps/hurd.mk @@ -0,0 +1,26 @@ +# This is for the GNU OS. Commonly known as the Hurd. + +GLIBC_OVERLAYS ?= $(shell ls glibc-linuxthreads* glibc-ports* glibc-libidn*) + +threads = no +libc = libc0.3 +slibdir = /lib + +# work around to build, gcc-3.4/gcc-4.0 are not tested yet. +CC = gcc-3.3 +BUILD_CC = gcc-3.3 + +# Glibc should really do this for us. +define libc_extra_install +mkdir -p debian/tmp-$(curpass)/lib +ln -s ld.so.1 debian/tmp-$(curpass)/lib/ld.so +endef + +# Do not care about kernel versions for now. +define kernel_check +true +endef + +# TLS is broken currently and results in Mach panicing +libc_extra_config_options := $(extra_config_options) --without-tls + --- glibc-2.3.6.orig/debian/sysdeps/amd64.mk +++ glibc-2.3.6/debian/sysdeps/amd64.mk @@ -0,0 +1,40 @@ +GLIBC_PASSES += i386 +DEB_ARCH_REGULAR_PACKAGES += libc6-i386 libc6-dev-i386 + +# build libc with nptl instead of linuxthreads +libc_MIN_KERNEL_SUPPORTED = 2.6.0 +libc_add-ons = nptl $(add-ons) +libc_extra_cflags = -O3 +libc_extra_config_options := $(extra_config_options) --with-tls --with-__thread + +#i386lt_add-ons = linuxthreads $(add-ons) +#i386lt_configure_target=i486-linux +#i386lt_configure_build=i486-linux +#i386lt_CC = $(BUILD_CC) -m32 +#i386lt_extra_cflags = -march=i486 -mtune=i486 -g2 -O3 +#i386lt_LIBDIR = 32 +#i386lt_MIN_KERNEL_SUPPORTED = 2.6.0 +#i386lt_extra_config_options = $(extra_config_options) --disable-profile --with-tls --without-__thread --includedir=/usr/include/i386-linux-gnu + +# This only looks like i386. It's really i686, fine for compatability. +i386_add-ons = nptl $(add-ons) +i386_configure_target=i686-linux +i386_configure_build=i686-linux +i386_CC = $(BUILD_CC) -m32 +i386_MAKEFLAGS = MAKEFLAGS="gconvdir=/usr/lib32/gconv" +i386_extra_cflags = -march=i686 -mtune=i686 -g2 -O3 +i386_LIBDIR = 32 +i386_MIN_KERNEL_SUPPORTED = 2.6.0 +i386_extra_config_options = $(extra_config_options) --disable-profile --with-tls --with-__thread --includedir=/usr/include/i386-linux-gnu +libc6-i386_shlib_dep = libc6-i386 (>= $(shlib_dep_ver)) + +define libc6-i386_extra_pkg_install +mkdir -p debian/libc6-i386/lib +ln -s /lib32/ld-linux.so.2 debian/libc6-i386/lib/ld-linux.so.2 +endef + +define extra_debhelper +echo debian/tmp-i386/usr/lib32/gconv/gconv-modules usr/lib32/gconv >>debian/libc6-i386.install +echo debian/tmp-i386/usr/include/i386-linux-gnu usr/include >>debian/libc6-dev-i386.install +endef + --- glibc-2.3.6.orig/debian/debhelper.in/nscd.dirs +++ glibc-2.3.6/debian/debhelper.in/nscd.dirs @@ -0,0 +1,2 @@ +var/run/nscd +var/db/nscd --- glibc-2.3.6.orig/debian/debhelper.in/libc-otherbuild.postinst +++ glibc-2.3.6/debian/debhelper.in/libc-otherbuild.postinst @@ -0,0 +1,64 @@ +#!/bin/bash + +set -e + +checkpkgver () { + local status pkg + pkg=$1 + status=$(dpkg -s $pkg 2>/dev/null | grep ^Status: | sed -e 's/^Status: \(.*\) \(.*\) \(.*\)/\3/g') + if [ -n "$status" ] && [ "$status" != "not-installed" ] && [ "$status" != "config-files" ]; then + echo $(dpkg -s $pkg 2>/dev/null | grep ^Version: | sed -e 's/^Version: *//'); + fi +} + +if [ "$1" = "configure" ] +then + opt=OPT + curver=CURRENT_VER + + if [ -f /etc/ld.so.hwcappkgs ]; then + rm -f /etc/ld.so.hwcappkgs.tmp + oldset="$@" + while read LINE; do + case $LINE in + \#*|"") continue + esac + set -- $LINE + pkg=$1 + if [ "$pkg" = "$opt" ]; then + # this package + ver=$curver + isrecorded=yes + else + # other packages + ver=$(checkpkgver $pkg) + if [ -n "$ver" ]; then + dpkg --compare-versions $curver ne $ver && optunmatch=yes + fi + fi + echo "$pkg $ver" >> /etc/ld.so.hwcappkgs.tmp + done < /etc/ld.so.hwcappkgs + set -- $oldset + if [ "$isrecorded" != yes ]; then + echo "$opt $curver" >> /etc/ld.so.hwcappkgs.tmp + fi + mv /etc/ld.so.hwcappkgs.tmp /etc/ld.so.hwcappkgs + else + # libc6 did not create ld.so.hwcappkgs correctly or ld.so.hwcappkgs + # was unexpectedly removed. Don't remove ld.so.nohwcap. + optunmatch=yes + fi + + # nohwcap during upgrade. + if [ -f /etc/ld.so.nohwcap ]; then + grep -v "^$opt\$" /etc/ld.so.nohwcap > /etc/ld.so.nohwcap.tmp || true + mv -f /etc/ld.so.nohwcap.tmp /etc/ld.so.nohwcap + if [ "$optunmatch" != "yes" ]; then + test -s /etc/ld.so.nohwcap || rm -f /etc/ld.so.nohwcap + fi + fi +fi + +#DEBHELPER# + +exit 0 --- glibc-2.3.6.orig/debian/debhelper.in/libc.postinst +++ glibc-2.3.6/debian/debhelper.in/libc.postinst @@ -0,0 +1,432 @@ +#!/bin/bash +set -e +export LC_ALL=C + +type=$1 +preversion=$2 + +package_name() +{ + echo LIBC +} + +zone_banner() { + TZBase=$(LC_ALL=C TZ=UTC0 date) + UTdate=$(TZ=UTC0 date -d "$TZBase") + TZdate=$(TZ="$timezone" date -d "$TZBase") + extra_info=" +Local time is now: $TZdate. +Universal Time is now: $UTdate." + echo "Current default timezone: '$timezone'.$extra_info" + echo "Run 'tzconfig' if you wish to change it." +} + +set_timezone() { + frontend=`echo "$DEBIAN_FRONTEND" | tr '[:upper:]' '[:lower:]'` + if [ "$frontend" = noninteractive ]; then + echo "Non-interactive mode, setting timezone to UTC. Run tzconfig to change." + echo "UTC" >/etc/timezone + ln -sf /usr/share/zoneinfo/UTC /etc/localtime + else + echo "Running 'tzconfig' to set this system's timezone." + /usr/sbin/tzconfig + fi +} + +# Borrowed from sysvinit's postinst. +# Function like update-rc.d but simpler & faster. +# Usage: updatercd basename start|stop NN runlevel . +# +# Now we use the real update-rc.d, so now this function should +# be equivalent to /usr/sbin/update-rc.d. +# +updatercd() { + + if [ ! -f /etc/init.d/$1 ] + then + return + fi + + if [ -x /usr/sbin/update-rc.d ] + then + update-rc.d "$@" > /dev/null + return $? + fi + + base=$1 + shift + while [ "$1" != "" ] + do + if [ "$1" = stop ] + then + tlet=K + else + tlet=S + fi + lev=$2 + shift 2 + while [ "$1" != "." ] + do + cd /etc/rc$1.d + tmp="`echo $tlet??$base`" + case "$tmp" in + "$tlet??$base") + # Not present yet. + ln -s ../init.d/$base $tlet$lev$base + ;; + *) + # Already present. + ;; + esac + shift + done + shift + done +} + +realpath() +{ + fname=${1%/} # strips trailing '/' + while [ -L "$fname" ]; do + oldfname="$fname" + fname="$(command ls -l $fname)" + fname="${fname#*\> }" + if [ "$fname" = . ] ; then + fname="$(dirname $oldfname)" + elif echo $fname | grep -vq '^/' - ; then + fname="$(dirname $oldfname)/$fname" + fi + done + pushd $(dirname $fname) > /dev/null + fname=$(pwd -P)/$(basename $fname) + popd > /dev/null + echo $fname +} + +# element() is a helper function for file-rc: +element() { + local element list IFS + + element="$1" + + [ "$2" = "in" ] && shift + list="$2" + [ "$list" = "-" ] && return 1 + [ "$list" = "*" ] && return 0 + + IFS="," + set -- $list + case $element in + "$1"|"$2"|"$3"|"$4"|"$5"|"$6"|"$7"|"$8"|"$9") + return 0 + esac + return 1 +} + +# filerc (runlevel, service) returns /etc/init.d/service, if service is +# running in $runlevel: +filerc() { + local runlevel basename + runlevel=$1 + basename=$2 + while read LINE + do + case $LINE in + \#*|"") continue + esac + + set -- $LINE + SORT_NO="$1"; STOP="$2"; START="$3"; CMD="$4" + [ "$CMD" = "/etc/init.d/$basename" ] || continue + + if element "$runlevel" in "$START" || element "S" in "$START" + then + echo "/etc/init.d/$basename" + return 0 + fi + done < /etc/runlevel.conf + echo "" +} + +checkpkgver () { + local status pkg + pkg=$1 + status=$(dpkg -s $pkg 2>/dev/null | grep ^Status: | sed -e 's/^Status: \(.*\) \(.*\) \(.*\)/\3/g') + if [ -n "$status" ] && [ "$status" != "not-installed" ] && [ "$status" != "config-files" ]; then + echo $(dpkg -s $pkg 2>/dev/null | grep ^Version: | sed -e 's/^Version: *//'); + fi +} + +# We remove a relic of the past /usr/doc/ symlinks. +# This script should keep at least until sarge release. +package=LIBC +if [ -L "/usr/doc/$package" ]; then + rm -f "/usr/doc/$package" +fi +# I'm so lazy that libc6-{dbg,dev,pic,prof} are removed in this file - gotom. +for suffix in -dbg -dev -pic -prof; do + package_name="$package""$suffix" + if [ -L "/usr/doc/$package_name" ]; then + rm -f "/usr/doc/$package_name" + fi +done + +if [ "$type" = "configure" ] +then + # Handle upgrades for libdb.so.3. We do this before calling ldconfig, + # since it will create a symlink for us. Just move everything over. We + # use `cat' because I feel it is simpler and safer. Make sure that + # libdb.so.3 is either a symlink, or non-existent, just in case + # something weird happened and the new libdb2 is unpacked before we + # get here. + if [ -e /lib/libdb.so.3.old ]; then + if [ -L /lib/libdb.so.3 -o ! -e /lib/libdb.so.3 ]; then + rm -f /lib/libdb.so.3 + cat /lib/libdb.so.3.old > /lib/libdb.so.3 + fi + rm -f /lib/libdb.so.3.old + fi + + # Handle upgrades when libc-opt package has been installed. + # We check the version between the current installed libc and libc-opt. + # If they're unmatched, we keep /etc/ld.so.nohwcap file until libc-opt + # package is installed or removed. + if [ -f /etc/ld.so.nohwcap ]; then + # We check the availability of ld.so.hwcappkgs. If it's not existed, + # it's first time to install ld.so.hwcappkgs aware packages. We record + # all current hwcap package status. + if [ ! -f /etc/ld.so.hwcappkgs ]; then + case $(dpkg --print-architecture) in + i386) + hwcappkgs="libc6 libc6-i686" + ;; + sparc) + hwcappkgs="libc6 libc6-sparcv9 libc6-sparcv9b libc6-sparcv9v libc6-sparc64b libc6-sparc64v" + ;; + esac + if [ -n "$hwcappkgs" ]; then + for pkg in $hwcappkgs; do + ver=$(checkpkgver $pkg) + if [ -n "$ver" ]; then + echo "$pkg $ver" >> /etc/ld.so.hwcappkgs + new_hwcappkgs=yes + fi + done + fi + fi + + # If ld.so.hwcappkgs is existed, it may have one or more opt packages. + # Update the current package's version, and compare the consistency of + # those optimized packages. If inconsistency is found, keep + # /etc/ld.so.nohwcap. + if [ -f /etc/ld.so.hwcappkgs ]; then + curver=CURRENT_VER + rm -f /etc/ld.so.hwcappkgs.tmp + oldset="$@" + while read LINE; do + case $LINE in + \#*|"") continue + esac + set -- $LINE + pkg=$1; ver=$2 + if [ "$pkg" = "$package" ]; then + # libc6 + ver=$curver + isrecorded=yes + else + if [ "$new_hwcappkgs" != yes ]; then + ver=$(checkpkgver $pkg) + fi + if [ -z "$ver" ]; then + continue + fi + dpkg --compare-versions $curver ne $ver && optunmatch=yes + fi + echo "$pkg $ver" >> /etc/ld.so.hwcappkgs.tmp + done < /etc/ld.so.hwcappkgs + set -- $oldset + if [ "$isrecorded" != yes ]; then + echo "$package $curver" >> /etc/ld.so.hwcappkgs.tmp + fi + mv /etc/ld.so.hwcappkgs.tmp /etc/ld.so.hwcappkgs + fi + + # nohwcap during upgrade. + egrep -v '^glibc$|^downgrade-to-old-glibc$' /etc/ld.so.nohwcap > /etc/ld.so.nohwcap.tmp || true + mv /etc/ld.so.nohwcap.tmp /etc/ld.so.nohwcap + if [ "$optunmatch" != "yes" ]; then + test -s /etc/ld.so.nohwcap || rm -f /etc/ld.so.nohwcap + fi + fi + + if [ ! -z $preversion ]; then + if [ ! -d /var/mail ] && [ ! -L /var/mail ]; then + ln -sf spool/mail /var/mail + fi + if dpkg --compare-versions $preversion lt 2.3.5-1; then + echo -n "Checking for services that may need to be restarted..." + + check="nis smail sendmail exim ssh netbase" + check="$check ssh-nonfree postfix-tls wu-ftpd boa cron postfix" + check="$check wu-ftpd-academ vsftpd slapd openldapd wwwoffle" + check="$check cupsys lprng lpr lpr-ppd autofs snmpd ssh-krb5" + check="$check courier-authdaemon mysql-server spamassassin" + check="$check apache apache-ssl apache-perl apache2-common" + check="$check proftpd proftpd-ldap proftpd-mysql proftpd-pgsql" + check="$check dovecot-common cucipop rsync samba saslauthd" + # Only get the ones that are installed, and configured + check=$(dpkg -s $check 2> /dev/null | egrep '^Package:|^Status:' | awk '{if ($1 ~ /^Package:/) { package=$2 } else if ($0 ~ /^Status: .* installed$/) { print package }}') + # apache2 ships its init script in apache2-common, but the + # script is apache2 + check=$(echo $check | sed 's/apache2-common/apache2/g') + # The name of proftpd-{ldap,mysql,pgsql} init script is + # same as "proftpd". + check=$(echo $check | sed 's/proftpd-.*/proftpd/g') + # dovecot-common ships its init script, but the + # script name is dovecot for dovecot-{imapd,pop3d}. + check=$(echo $check | sed 's/dovecot-common/dovecot/g') + # lpr and lpr-ppd ship its init script, but the + # script name is lpd and lpd-ppd. The inserted space is + # intentional to not replace lprng. + check=$(echo $check | sed 's/lpr /lpd /g') + check=$(echo $check | sed 's/lpr-ppd /lpd-ppd /g') + # We have to list inetd and atd explicitly, because the packages + # have different names to their init scripts + check="$check inetd atd" + rl=$(runlevel | awk '{print $2}') + oldset="$@" + for service in $check; do + if [ -f /usr/share/file-rc/rc -o -f /usr/lib/file-rc/rc ] && [ -f /etc/runlevel.conf ]; then + idl=$(filerc $rl $service) + else + idl=$(ls /etc/rc${rl}.d/S??${service} 2> /dev/null | head -1) + fi + if [ -n "$idl" ] && [ -x $idl ]; then + services="$service $services" + fi + done + set -- $oldset + echo "done." + if [ -n "$services" ]; then + echo + echo "Name Service Switch update in the C Library: post-installation question." + echo + echo "Running services and programs that are using NSS need to be restarted," + echo "otherwise they might not be able to do lookup or authentication any more" + echo "(for services such as ssh, this can affect your ability to login)." + echo "Note: restarting sshd/telnetd should not affect any existing connections." + echo + echo "The services detected are: " + echo " $services" + echo + echo "If other services have begun to fail mysteriously after this upgrade, it is" + echo "probably necessary to restart them too. We recommend you to reboot your" + echo "machine after the upgrade to avoid the NSS related trouble." + echo + frontend=`echo "$DEBIAN_FRONTEND" | tr '[:upper:]' '[:lower:]'` + if [ "$frontend" = noninteractive ]; then + echo "Non-interactive mode, restarting services" + answer=yes + else + echo -n "Do you wish to restart services? [Y/n] " + read answer + case $answer in + Y*|y*) answer=yes ;; + N*|n*) answer=no ;; + *) answer=yes ;; + esac + fi + echo + if [ "$answer" = yes ] && [ "$services" != "" ]; then + echo "Restarting services possibly affected by the upgrade:" + failed="" + oldset="$@" + for service in $services; do + if [ -f /usr/share/file-rc/rc -o -f /usr/lib/file-rc/rc ] && [ -f /etc/runlevel.conf ]; then + idl=$(filerc $rl $service) + else + idl=$(ls /etc/rc${rl}.d/S??${service} 2> /dev/null | head -1) + fi + echo -n " $service: stopping..." + $idl stop > /dev/null 2>&1 || true + sleep 2 + echo -n "starting..." + if $idl start > /dev/null 2>&1; then + echo "done." + else + echo "FAILED! ($?)" + failed="$service $failed" + fi + done + set -- $oldset + echo + if [ -n "$failed" ]; then + # Ruh roh, George + echo "The following services failed to start: $failed" + echo + echo "You will need to start these manually by running \`/etc/init.d/ start'" + echo "If the service still fails to start, you may need to file a bug on" + echo "$(package_name) or the service involved." + if [ "$DEBIAN_FRONTEND" != noninteractive ]; then + echo + echo -n "Press ENTER to continue: " + read foo + fi + else + echo "Services restarted successfully." + fi + echo + fi + fi + fi # end upgrading and $preversion lt 2.3.5-1 + fi # Upgrading + + # In Ubuntu, timezone work is handled inside the locales package. + + # Don't run the init script in ubuntu. Boot-time is not the place to + # print such messages as it is usually unattended, and besides this + # message will be entirely hidden under usplash. + update-rc.d -f glibc.sh remove >/dev/null 2>&1 +# # DO NOT FOLLOW THIS EXAMPLE IN OTHER PACKAGES +# updatercd glibc.sh start 01 S . +# if [ -x /usr/sbin/invoke-rc.d ]; then +# invoke-rc.d glibc.sh start +# else +# /etc/init.d/glibc.sh 2>/dev/null || true +# fi +fi + +if [ "`uname -s`" = Linux ]; then +# +# Upgrade init if possible. There was a bug in all versions +# up to and including 2.75-4, which didn't affect i386 but +# did affect most other architectures. +# +sysvinitver="`dpkg -s sysvinit 2>/dev/null | grep ^Version: | sed -e 's/^Version: *//'`" +case "`uname -m`" in + i?86) + badsysvinitver="2.[0-6]*|2.7[0-3]*" + ;; + *) + badsysvinitver="2.[0-6]*|2.7[0-4]*|2.75-*" + ;; +esac +# Black magic. If we are in a chroot, then /proc/1/exe will not resolve to +# a file (will return EPERM). This keeps us from breaking things in +# debootstrap, and the like. +case "$sysvinitver" in + $badsysvinitver) + ;; + *) + if [ -x /sbin/init -a -x /bin/readlink ]; then + if [ "$(readlink /proc/1/exe 2>/dev/null)" = "/sbin/init" ]; then + (init u ; sleep 1) + fi + fi + ;; +esac +fi + +#DEBHELPER# + +exit 0 --- glibc-2.3.6.orig/debian/debhelper.in/libc-otherbuild.postrm +++ glibc-2.3.6/debian/debhelper.in/libc-otherbuild.postrm @@ -0,0 +1,55 @@ +#!/bin/sh + +set -e + +checkpkgver () { + local status pkg + pkg=$1 + status=$(dpkg -s $pkg 2>/dev/null | grep ^Status: | sed -e 's/^Status: \(.*\) \(.*\) \(.*\)/\3/g') + if [ -n "$status" ] && [ "$status" != "not-installed" ] && [ "$status" != "config-files" ]; then + echo $(dpkg -s $pkg 2>/dev/null | grep ^Version: | sed -e 's/^Version: *//'); + fi +} + +if [ "$1" = "remove" ]; then + opt=OPT + curver=CURRENT_VER + + if [ -f /etc/ld.so.hwcappkgs ]; then + # Remove this package's entry + grep -v "^$opt " /etc/ld.so.hwcappkgs > /etc/ld.so.hwcappkgs.tmp + mv /etc/ld.so.hwcappkgs.tmp /etc/ld.so.hwcappkgs + + # Check other hwcap packges are consistent. + oldset="$@" + while read LINE; do + case $LINE in + \#*|"") continue + esac + set -- $LINE + pkg=$1 + if [ -z "$prever" ]; then + prever=$(checkpkgver $pkg) + else + ver=$(checkpkgver $pkg) + if [ -n "$ver" ]; then + dpkg --compare-versions $prever ne $ver && optunmatch=yes + fi + fi + done < /etc/ld.so.hwcappkgs + set -- $oldset + else + # libc6 did not create ld.so.hwcappkgs correctly or ld.so.hwcappkgs + # was unexpectedly removed. Don't remove ld.so.nohwcap. + optunmatch=yes + fi + + # Remove ld.so.nohwcap + if [ -f /etc/ld.so.nohwcap ] && [ ! -s /etc/ld.so.nohwcap ] && [ "$optunmatch" != yes ]; then + rm -f /etc/ld.so.nohwcap + fi +fi + +#DEBHELPER# + +exit 0 --- glibc-2.3.6.orig/debian/debhelper.in/libc-prof.install +++ glibc-2.3.6/debian/debhelper.in/libc-prof.install @@ -0,0 +1 @@ +debian/tmp-libc/usr/lib/*_p.a usr/lib --- glibc-2.3.6.orig/debian/debhelper.in/libc.install +++ glibc-2.3.6/debian/debhelper.in/libc.install @@ -0,0 +1,20 @@ +debian/tmp-libc/lib/*.so* lib +debian/tmp-libc/usr/lib/gconv/*.so usr/lib/gconv +debian/tmp-libc/usr/lib/gconv/gconv-modules usr/lib/gconv +debian/tmp-libc/usr/bin/iconv usr/bin +debian/tmp-libc/usr/bin/getent usr/bin +debian/tmp-libc/usr/bin/getconf usr/bin +debian/tmp-libc/usr/bin/catchsegv usr/bin +debian/tmp-libc/usr/bin/tzselect usr/bin +debian/tmp-libc/usr/bin/ldd* usr/bin +debian/tmp-libc/usr/sbin/zdump usr/bin +debian/tmp-libc/usr/sbin/rpcinfo usr/bin + +debian/tmp-libc/usr/sbin/zic usr/sbin +debian/tmp-libc/usr/sbin/iconvconfig usr/sbin + +debian/tmp-libc/sbin/ldconfig sbin + +debian/tmp-libc/usr/lib/pt_chown usr/lib + +debian/local/usr_sbin/tzconfig usr/sbin --- glibc-2.3.6.orig/debian/debhelper.in/libc.dirs +++ glibc-2.3.6/debian/debhelper.in/libc.dirs @@ -0,0 +1,3 @@ +sys +etc/init.d +usr/share/zoneinfo --- glibc-2.3.6.orig/debian/debhelper.in/libc.manpages +++ glibc-2.3.6/debian/debhelper.in/libc.manpages @@ -0,0 +1,12 @@ +debian/local/manpages/catchsegv.1 +debian/local/manpages/getent.1 +debian/local/manpages/getconf.1 +debian/local/manpages/iconv.1 +debian/local/manpages/iconvconfig.8 +debian/local/manpages/ldconfig.8 +debian/local/manpages/ldd.1 +debian/local/manpages/rpcinfo.8 +debian/local/manpages/tzselect.1 +debian/local/manpages/tzconfig.8 +debian/local/manpages/zdump.1 +debian/local/manpages/zic.8 --- glibc-2.3.6.orig/debian/debhelper.in/libc.preinst +++ glibc-2.3.6/debian/debhelper.in/libc.preinst @@ -0,0 +1,350 @@ +#!/bin/bash +set -e +export LC_ALL=C + +dpkg --assert-support-predepends + +if [ "$1" = upgrade ] +then + if [ -f /var/lib/dpkg/info/timezone.postrm ]; then + rm -f /var/lib/dpkg/info/timezone.postrm + fi + if [ -f /var/lib/dpkg/info/timezones.postrm ]; then + rm -f /var/lib/dpkg/info/timezones.postrm + fi + if dpkg --compare-versions "$2" lt 2.1.3-8; then + if [ -s /etc/timezone ]; then + cp -a /etc/timezone /etc/timezone.save + fi + fi + if dpkg --compare-versions "$2" le 2.2.2-4 && test -e /lib/libdb.so.3; then + # Make upgrades to newer libdb.so.3 easier + cat /lib/libdb.so.3 > /lib/libdb.so.3.old + fi + if dpkg --compare-versions "$2" le 2.1.1-0.1; then + if [ -f /var/run/utmpd.pid ]; then + if kill -TERM `cat /var/run/utmpd.pid` > /dev/null 2>&1 + then + if [ -f /var/run/utmp ]; then + cp /dev/null /var/run/utmp + if grep '^utmp:' /etc/group; then + chown root:utmp /var/run/utmp + chmod 664 /var/run/utmp + else + chown root:root /var/run/utmp + chmod 644 /var/run/utmp + fi + fi + if [ -f /var/log/wtmp ]; then + savelog /var/log/wtmp + touch /var/log/wtmp + if grep '^utmp:' /etc/group; then + chown root:utmp /var/log/wtmp + chmod 664 /var/log/wtmp + else + chown root:root /var/log/wtmp + chmod 644 /var/log/wtmp + fi + fi + rm -f /etc/init.d/utmpd + update-rc.d utmpd remove > /dev/null + fi + fi + if [ -f /var/run/utmpx ]; then rm -f /var/run/utmpx; fi + if [ -f /var/log/wtmpx ]; then rm -f /var/log/wtmpx*; fi + if [ -e /var/run/utmpd.ro ]; then rm -f /var/run/utmpd.ro; fi + if [ -e /var/run/utmpd.rw ]; then rm -f /var/run/utmpd.rw; fi + fi + + # NSS authentication trouble guard + if dpkg --compare-versions $2 lt 2.3.2-2; then + check="xdm kdm gdm postgresql xscreensaver" + # Only get the ones that are installed, and configured + service=$(dpkg -s $check 2> /dev/null | awk 'BEGIN{RS="\n\n";FS="\n"}{if ( $2 ~ /Status: .* installed$/ ) { print $1 } }' | cut -f 2 -d ' ') + + echo + echo "Name Service Switch update in the C Library: pre-installation question." + echo + echo "Running services and programs that are using NSS need to be restarted," + echo "otherwise they might not be able to do lookup or authentication any more." + echo "The installation process is able to restart some services (such as ssh or" + echo "telnetd), but other programs cannot be restarted automatically. One such" + echo "program that needs manual stopping and restart after the glibc upgrade by" + echo "yourself is xdm - because automatic restart might disconnect your active" + echo "X11 sessions." + echo + echo "Known packages that need to be stopped before the glibc upgrade are:" + echo " $check" + + if [ -n "$service" ]; then + echo "This script detects the following services which you are required" + echo "to stop before the upgrade:" + echo " $service" + else + echo "This script does not detect any services to stop now." + fi + echo + echo "If you want to interrupt the upgrade now and continue later, please" + echo "answer No to the question below." + echo + frontend=`echo "$DEBIAN_FRONTEND" | tr '[:upper:]' '[:lower:]'` + if [ "$frontend" = noninteractive ]; then + echo "Non-interactive mode, upgrade glibc forcedly" + answer=yes + else + echo -n "Do you want to upgrade glibc now? [Y/n] " + read answer + case $answer in + Y*|y*) answer=yes ;; + N*|n*) answer=no ;; + *) answer=yes ;; + esac + fi + echo + if [ "$answer" = no ]; then + echo "Stopped glibc upgrade. Please retry the upgrade after you have" + echo "checked or stopped services by hand." + exit 1 + fi + fi + + # This will keep us from using hwcap libs (optimized) during an + # upgrade. + touch /etc/ld.so.nohwcap + echo glibc >> /etc/ld.so.nohwcap +fi + +# Sanity check. +# If there are versions of glibc outside of the normal installation +# location (/lib, /lib64, etc.) then things may break very badly +# as soon as ld.so is replaced by a new version. This check is not +# foolproof, but it's pretty accurate. This script ignores old +# libc4 or libc5. +check_dirs () { + for dir in $*; do + # Handle /lib in LD_LIBRARY_PATH. + if expr $dir : "/lib.*" > /dev/null; then + continue + fi + # Skip ia32-libs package on ia64, and similar libraries + # (not sure why these get added to /etc/ld.so.conf) + if expr $dir : "/emul/.*" > /dev/null; then + continue + fi + if test -d $dir; then + output=$(ls $dir | egrep '^lib(c|m|pthread|rt|dl)\.so\.[^/]*$' |\ + egrep -v '^lib[cm]\.so\.[45].*$' 2>/dev/null) + if test -n "$output"; then + echo "These libraries were found in $dir:" + echo "$output" + return 0 + fi + fi + done + return 1 +} + +if [ "$1" != abort-upgrade ] +then + dirs="/usr/local/lib /usr/local/lib32 /usr/local/lib64" + if ! test -L /usr; then + dirs="$dirs /usr/lib /usr/lib32 /usr/lib64" + fi + if check_dirs $dirs; then + echo + echo "A copy of glibc was found in an unexpected directory." + echo "It is not safe to upgrade the C library in this situation;" + echo "please remove that copy of the C library and try again." + exit 1 + fi + + if test -n "$LD_LIBRARY_PATH"; then + dirs=$(echo $LD_LIBRARY_PATH | sed 's/:/ /') + if check_dirs $dirs; then + echo + echo "Another copy of the C library was found via LD_LIBRARY_PATH." + echo "It is not safe to upgrade the C library in this situation;" + echo "please remove the directory from LD_LIBRARY_PATH and try again." + exit 1 + fi + fi + if test -e /etc/ld.so.conf; then + dirs=$(echo $(cat /etc/ld.so.conf)) + if check_dirs $dirs; then + echo + echo "Another copy of the C library was found via /etc/ld.so.conf." + echo "It is not safe to upgrade the C library in this situation;" + echo "please remove the directory from /etc/ld.so.conf and try again." + exit 1 + fi + fi +fi + +if [ "$1" != abort-upgrade ] && [ "`uname -s`" = Linux ] +then + # Test to make sure z < 255, in x.y.z-n form of kernel version + # Also make sure we don't trip on x.y.zFOO-n form + #kernel_rev=$(uname -r | tr -- - . | cut -d. -f3 | tr -d '[:alpha:]') + kernel_rev=$(uname -r | sed 's/\([0-9]*\.[0-9]*\.\)\([0-9]*\)\(.*\)/\2/') + if [ "$kernel_rev" -ge 255 ] + then + echo WARNING: Your kernel version indicates a revision number + echo of 255 or greater. Glibc has a number of built in + echo assumptions that this revision number is less than 255. + echo If you\'ve built your own kernel, please make sure that any + echo custom version numbers are appended to the upstream + echo kernel number with a dash or some other delimiter. + + exit 1 + fi + + # sanity checking for the appropriate kernel on each architecture. + realarch=`uname -m` + kernel_ver=`uname -r` + + # intel i386 requires a recent kernel + if [ "$realarch" = i386 ] + then + if dpkg --compare-versions "$kernel_ver" lt 2.4.24 + then + echo WARNING: This machine has i386 class processor. + echo Debian sarge and later, you need to use at least a 2.4.24 + echo or 2.6.0 kernel on i386. Please upgrade your kernel + echo before installing glibc. + echo The reason is that "bswap" instruction is not supported + echo on i386 class processors, and newer kernel can emulate + echo such lacking instructions. + exit 1 + fi + fi + + # SPARC sun4m requires a recent kernel + if [ "$realarch" = sparc ] + then + cputype=`egrep '^type.*:.*sun4m' /proc/cpuinfo 2> /dev/null` || true + + if [ "$cputype" != "" ] + then + if dpkg --compare-versions "$kernel_ver" lt 2.4.21 + then + echo WARNING: You have a cpu which requires kernel 2.4.21 + echo or greater in order to install this version of glibc. + echo Please upgrade the kernel before installing this package. + echo + echo You should be able to install the latest version of the + echo sparc kernel-image in order to satisfy this need. You + echo can also download and compile the latest kernel source + echo yourself from a kernel mirror \(see http://www.kernel.org/\). + exit 1 + fi + else + if dpkg --compare-versions "$kernel_ver" lt 2.2.0 #should be safe + then + echo WARNING: This version of glibc suggests atleast a + echo 2.2.0 kernel in order to work properly. 2.0.x kernels + echo will not be able to support certain functions and + echo may cause problems. 2.2 kernels have proven to be much + echo more reliable than 2.0.x kernels on the sparc platform + echo anyway, so an upgrade is suggested. If you have a 2.1.x + echo kernel is is suggested you upgrade to the latest 2.2 + echo release, since it is more stable and fixes many bugs. + exit 1 + fi + fi + fi + # HPPA boxes require latest fixes in the kernel to function properly. + if [ "$realarch" = parisc ] + then + if dpkg --compare-versions "$kernel_ver" lt 2.4.17 + then + echo WARNING: This version of glibc requires that you be running + echo atleast a 2.4.17 kernel in order to work properly. Earlier + echo kernels did not provide the proper functionality in order + echo for the system to be stable. + exit 1 + fi + fi + # parisc64 boxes require latest fixes in the kernel 2.4.19-pa17 or later + # (in 2.4.x), 2.5.53-pa3 or later (in 2.5.x), to function properly. + # Note that parisc64 kernel version scheme is "`uname -r`-64". + if [ "$realarch" = parisc64 ] + then + if [ $kernel_ver = ${kernel_ver/pa/} ] + then + if dpkg --compare-versions "$kernel_ver" lt 2.4.19-64 + then + echo WARNING: This version of glibc requires that you be + echo running at least a 2.4.19-64 to work properly. + echo Earlier kernels did not provide the proper functionality + echo in order for the system to be stable. + exit 1 + fi + else + if dpkg --compare-versions "$kernel_ver" lt 2.4.19-pa17 + then + echo WARNING: This version of glibc requires that you be + echo running at least a 2.4.19-pa17 in \(2.4\) or 2.5.53-pa3 + echo \(in 2.5\) to work properly. + echo Earlier kernels did not provide the proper functionality + echo in order for the system to be stable. + exit 1 + fi + fi + fi + + if [ "$realarch" = mips ] \ + && [ "`dpkg --print-installation-architecture`" = mips ] + then + # MIPS (but not mipsel) require a kernel update for the msq fixes. + if dpkg --compare-versions "$kernel_ver" lt 2.4.22 + then + echo WARNING: System V message queues require kernel 2.4.22 to + echo work correctly on this architecture. Some programs + echo "(including perl) may not operate correctly." + exit 1 + fi + fi + + # ia64 requires 2.6 kernel because we drop to support linuxthreads + if [ "$realarch" = ia64 ] \ + && [ "`dpkg --print-installation-architecture`" = ia64 ] + then + if dpkg --compare-versions "$kernel_ver" lt 2.6.0 + then + echo WARNING: POSIX threads library NPTL requires 2.6 and + echo later kernel on ia64. If you use 2.4 kernel, please + echo upgrade your kernel before installing glibc. + exit 1 + fi + fi + + # powerpc requires 2.6 kernel because we drop to support linuxthreads + if [ "$realarch" = ppc ] \ + && [ "`dpkg --print-installation-architecture`" = powerpc ] + then + if dpkg --compare-versions "$kernel_ver" lt 2.6.0 + then + echo WARNING: POSIX threads library NPTL requires 2.6 and + echo later kernel on powerpc. If you use 2.4 kernel, please + echo upgrade your kernel before installing glibc. + exit 1 + fi + fi + + # amd64 requires 2.6 kernel because we drop to support linuxthreads + if [ "$realarch" = x86_64 ] \ + && [ "`dpkg --print-installation-architecture`" = amd64 ] + then + if dpkg --compare-versions "$kernel_ver" lt 2.6.0 + then + echo WARNING: POSIX threads library NPTL requires 2.6 and + echo later kernel on amd64. If you use 2.4 kernel, please + echo upgrade your kernel before installing glibc. + exit 1 + fi + fi +fi + +#DEBHELPER# + +exit 0 --- glibc-2.3.6.orig/debian/debhelper.in/libc.postrm +++ glibc-2.3.6/debian/debhelper.in/libc.postrm @@ -0,0 +1,45 @@ +#! /bin/sh +set -e + +if [ "$1" = remove ]; then + if command -v suidunregister >/dev/null 2>&1 && [ -e /etc/suid.conf ]; then + if [ -x /usr/lib/pt_chown ]; then + suidunregister -s LIBC /usr/lib/pt_chown + elif [ -x /usr/libexec/pt_chown ]; then + suidunregister -s LIBC /usr/libexec/pt_chown + fi + fi +fi + +if [ "$1" = upgrade ]; then + case $(dpkg --print-installation-architecture) in + i386|sparc) + if dpkg --compare-versions "$2" lt 2.3.4-3; then + hwcappkgs=remove + fi + ;; + esac + if [ "$hwcappkgs" = remove ]; then + # Make sure the downgraded package does not support + # ld.so.hwcappkgs mechanism on i686 and sparc. + rm -f /etc/ld.so.hwcappkgs + echo "downgrade-to-old-glibc" >> /etc/ld.so.nohwcap + + echo You are trying to downgrade to glibc 2.3.4-2 or earlier. + echo Such version does not support /etc/ld.so.hwcappkgs + echo mechanism on i386 and sparc. Hwcap libraries are + echo disabled until glibc 2.3.4-3 and later is installed. + fi +fi + +if [ "$1" = deconfigure ]; then + :; # blah, do something useful with ldso +fi + +#if [ "$1" = purge ]; then +# update-rc.d mountkernfs remove > /dev/null +#fi + +#DEBHELPER# + +exit 0 --- glibc-2.3.6.orig/debian/debhelper.in/libc-pic.dirs +++ glibc-2.3.6/debian/debhelper.in/libc-pic.dirs @@ -0,0 +1 @@ +usr/lib/libc_pic --- glibc-2.3.6.orig/debian/debhelper.in/libc-dev.install +++ glibc-2.3.6/debian/debhelper.in/libc-dev.install @@ -0,0 +1,27 @@ +debian/tmp-libc/usr/bin/gencat usr/bin +debian/tmp-libc/usr/bin/mtrace usr/bin +debian/tmp-libc/usr/bin/rpcgen usr/bin +debian/tmp-libc/usr/bin/sprof usr/bin + +debian/tmp-libc/usr/lib/*.o usr/lib +debian/tmp-libc/usr/lib/*.so usr/lib +debian/tmp-libc/usr/lib/nptl* usr/lib +debian/tmp-libc/usr/include/* usr/include +debian/tmp-libc/usr/lib/libBrokenLocale.a usr/lib +debian/tmp-libc/usr/lib/libanl.a usr/lib +debian/tmp-libc/usr/lib/libbsd-compat.a usr/lib +debian/tmp-libc/usr/lib/libc.a usr/lib +debian/tmp-libc/usr/lib/libc_nonshared.a usr/lib +debian/tmp-libc/usr/lib/libcrypt.a usr/lib +debian/tmp-libc/usr/lib/libdl.a usr/lib +debian/tmp-libc/usr/lib/libg.a usr/lib +debian/tmp-libc/usr/lib/libieee.a usr/lib +debian/tmp-libc/usr/lib/libm.a usr/lib +debian/tmp-libc/usr/lib/libmcheck.a usr/lib +debian/tmp-libc/usr/lib/libnsl.a usr/lib +debian/tmp-libc/usr/lib/libpthread.a usr/lib +debian/tmp-libc/usr/lib/libpthread_nonshared.a usr/lib +debian/tmp-libc/usr/lib/libresolv.a usr/lib +debian/tmp-libc/usr/lib/librpcsvc.a usr/lib +debian/tmp-libc/usr/lib/librt.a usr/lib +debian/tmp-libc/usr/lib/libutil.a usr/lib --- glibc-2.3.6.orig/debian/debhelper.in/locales.dirs +++ glibc-2.3.6/debian/debhelper.in/locales.dirs @@ -0,0 +1 @@ +usr/lib/locale --- glibc-2.3.6.orig/debian/debhelper.in/libc-dev.install.hurd-i386 +++ glibc-2.3.6/debian/debhelper.in/libc-dev.install.hurd-i386 @@ -0,0 +1,27 @@ +debian/tmp-libc/usr/bin/gencat usr/bin +debian/tmp-libc/usr/bin/mtrace usr/bin +debian/tmp-libc/usr/bin/rpcgen usr/bin +debian/tmp-libc/usr/bin/sprof usr/bin + +debian/tmp-libc/usr/lib/libBrokenLocale.a usr/lib +debian/tmp-libc/usr/lib/libbsd-compat.a usr/lib +debian/tmp-libc/usr/lib/libc.a usr/lib +debian/tmp-libc/usr/lib/libcrt.a usr/lib +debian/tmp-libc/usr/lib/libcrt_nonshared.a usr/lib +debian/tmp-libc/usr/lib/libcrypt.a usr/lib +debian/tmp-libc/usr/lib/libdl.a usr/lib +debian/tmp-libc/usr/lib/libg.a usr/lib +debian/tmp-libc/usr/lib/libhurduser.a usr/lib +debian/tmp-libc/usr/lib/libieee.a usr/lib +debian/tmp-libc/usr/lib/libm.a usr/lib +debian/tmp-libc/usr/lib/libmachuser.a usr/lib +debian/tmp-libc/usr/lib/libmcheck.a usr/lib +debian/tmp-libc/usr/lib/libnsl.a usr/lib +debian/tmp-libc/usr/lib/libresolv.a usr/lib +debian/tmp-libc/usr/lib/librpcsvc.a* usr/lib +debian/tmp-libc/usr/lib/librt.a usr/lib +debian/tmp-libc/usr/lib/libutil.a usr/lib + +debian/tmp-libc/usr/lib/*.o usr/lib +debian/tmp-libc/usr/lib/*.so usr/lib +debian/tmp-libc/usr/include/* usr/include --- glibc-2.3.6.orig/debian/debhelper.in/locales.config +++ glibc-2.3.6/debian/debhelper.in/locales.config @@ -0,0 +1,61 @@ +#!/bin/sh +set -e + +. /usr/share/debconf/confmodule +db_version 2.0 +db_capb backup multiselect + +# Initializes debconf default values from the ones found in +# configuration files +if [ -e /etc/locale.gen ]; then + LG=/etc/locale.gen + # Debconf templates in locales < 2.3.2 were completely different, + # the locales/locales_to_be_generated question could have a "Leave alone" + # value in which case locale-gen was not run. + # With current implementation, this string has to be removed. + grep -q "Leave alone" $LG && sed -e '/^Leave alone/d' $LG > $LG.tmp && mv $LG.tmp $LG + + SELECTED_LOCALES=$(LC_ALL=C sed -e '/^[a-zA-Z]/!d' $LG | tr '\n' ',' | sed -e 's/,/, /g' -e 's/, *$//') + db_set locales/locales_to_be_generated "${SELECTED_LOCALES}" +else + LG=/dev/null +fi +if [ -e /etc/environment ]; then + db_set locales/default_environment_locale $(awk 'BEGIN {lang="None"} /^LANG=/ {gsub("\"", ""); sub("LANG=", ""); lang=$0;} END {print lang}' /etc/environment) +else + db_set locales/default_environment_locale None +fi + +# Add a newline in case /etc/locale.gen has no trailing newline at EOF +SUPPORTED_LOCALES=" +__SUPPORTED_LOCALES__" +SUPPORTED_LOCALES=$( (cat $LG && echo "$SUPPORTED_LOCALES") | LC_ALL=C sed -e '/^[a-zA-Z]/!d' | LC_ALL=C sort -u | tr '\n' ',' | sed -e 's/,/, /g' -e 's/, *$//') +db_subst locales/locales_to_be_generated locales "${SUPPORTED_LOCALES}" + +STATE=1 +while [ "$STATE" -ge 0 ]; do + case "$STATE" in + 0) + exit 1 + ;; + 1) + db_input medium locales/locales_to_be_generated || true + ;; + 2) + db_get locales/locales_to_be_generated && DEFAULT_LOCALES=$(echo $RET | sed -e 's/None,*//g' -e 's/ [^ ]*,/,/g' -e 's/ [^ ]*$//') + + if test -n "$DEFAULT_LOCALES"; then + db_subst locales/default_environment_locale locales $DEFAULT_LOCALES + db_input medium locales/default_environment_locale || true + fi + ;; + *) + break + ;; + esac + if db_go; then + STATE=$(($STATE + 1)) + else + STATE=$(($STATE - 1)) + fi +done --- glibc-2.3.6.orig/debian/debhelper.in/glibc-doc.install +++ glibc-2.3.6/debian/debhelper.in/glibc-doc.install @@ -0,0 +1,2 @@ +DEB_SRCDIR/manual/libc/*.html usr/share/doc/glibc-doc/html + --- glibc-2.3.6.orig/debian/debhelper.in/libc-udeb.install +++ glibc-2.3.6/debian/debhelper.in/libc-udeb.install @@ -0,0 +1,13 @@ +# FIXME: someday we may need to handle installing into non-lib. +debian/tmp-libc/lib/ld*.so* lib +debian/tmp-libc/lib/libm-*.so* lib +debian/tmp-libc/lib/libm.so* lib +debian/tmp-libc/lib/libdl*.so* lib +debian/tmp-libc/lib/libresolv*.so* lib +debian/tmp-libc/lib/libc-*.so* lib +debian/tmp-libc/lib/libc.so* lib +debian/tmp-libc/lib/libutil* lib +debian/tmp-libc/lib/libcrypt* lib +# FIXME: This should be with_threads arch's only. +debian/tmp-libc/lib/libpthread*.so* lib + --- glibc-2.3.6.orig/debian/debhelper.in/libc-alt.install +++ glibc-2.3.6/debian/debhelper.in/libc-alt.install @@ -0,0 +1,4 @@ +# This file is used for 32-bit and 64-bit libraries. +TMPDIR/lib*/*.so* libDESTLIBDIR +TMPDIR/usr/lib*/gconv/*.so* usr/libDESTLIBDIR/gconv +TMPDIR/usr/lib*/gconv/gconv-modules usr/libDESTLIBDIR/gconv --- glibc-2.3.6.orig/debian/debhelper.in/libnss-files-udeb.install +++ glibc-2.3.6/debian/debhelper.in/libnss-files-udeb.install @@ -0,0 +1,3 @@ +# FIXME: someday we may need to handle installing into non-lib. +debian/tmp-libc/lib/libnss_files*.so* lib + --- glibc-2.3.6.orig/debian/debhelper.in/libnss-dns-udeb.install +++ glibc-2.3.6/debian/debhelper.in/libnss-dns-udeb.install @@ -0,0 +1,3 @@ +# FIXME: someday we may need to handle installing into non-lib. +debian/tmp-libc/lib/libnss_dns*.so* lib + --- glibc-2.3.6.orig/debian/debhelper.in/glibc-doc.doc-base +++ glibc-2.3.6/debian/debhelper.in/glibc-doc.doc-base @@ -0,0 +1,24 @@ +Document: glibc-manual +Title: The GNU C Library Reference Manual +Author: Sandra Loosemore with Richard M. Stallman, Roland McGrath, + Andrew Oram, and Ulrich Drepper +Abstract: The GNU C Library Reference Manual + The GNU C library, described in this document, defines all of the + library functions that are specified by the ISO C standard, as well as + additional features specific to POSIX and other derivatives of the Unix + operating system, and extensions specific to the GNU system. + . + The purpose of this manual is to tell you how to use the facilities + of the GNU library. We have mentioned which features belong to which + standards to help you identify things that are potentially non-portable + to other systems. But the emphasis in this manual is not on strict + portability. +Section: Apps/Programming + +Format: info +Index: /usr/share/info/libc.info.gz +Files: /usr/share/info/libc.* + +Format: HTML +Index: /usr/share/doc/glibc-doc/html/index.html +Files: /usr/share/doc/glibc-doc/html/* --- glibc-2.3.6.orig/debian/debhelper.in/libc.docs +++ glibc-2.3.6/debian/debhelper.in/libc.docs @@ -0,0 +1,12 @@ +log-test-* +DEB_SRCDIR/BUGS +DEB_SRCDIR/FAQ +DEB_SRCDIR/INTERFACE +DEB_SRCDIR/NEWS +DEB_SRCDIR/NOTES +DEB_SRCDIR/PROJECTS +DEB_SRCDIR/README +DEB_SRCDIR/hesiod/README.hesiod +DEB_SRCDIR/CONFORMANCE +DEB_SRCDIR/NAMESPACE +debian/TODO --- glibc-2.3.6.orig/debian/debhelper.in/locales.links +++ glibc-2.3.6/debian/debhelper.in/locales.links @@ -0,0 +1,2 @@ +etc/locale.alias usr/share/locale/locale.alias + --- glibc-2.3.6.orig/debian/debhelper.in/locales.postrm +++ glibc-2.3.6/debian/debhelper.in/locales.postrm @@ -0,0 +1,14 @@ +#!/bin/sh +set -e + +case "$1" in + purge) + rm -f /etc/locale.gen + ;; + *) + ;; +esac + +#DEBHELPER# + +exit 0 --- glibc-2.3.6.orig/debian/debhelper.in/locales.prerm +++ glibc-2.3.6/debian/debhelper.in/locales.prerm @@ -0,0 +1,14 @@ +#!/bin/sh +set -e + +case "$1" in + remove|purge) + rm -f /usr/lib/locale/locale-archive + ;; + *) + ;; +esac + +#DEBHELPER# + +exit 0 --- glibc-2.3.6.orig/debian/debhelper.in/nscd.postinst +++ glibc-2.3.6/debian/debhelper.in/nscd.postinst @@ -0,0 +1,26 @@ +#!/bin/sh + +set -e + +# We remove a relic of the past /usr/doc/ symlinks. +# This script should keep at least until sarge release. +if [ -L "/usr/doc/nscd" ]; then + rm -f "/usr/doc/nscd" +fi + +# Move our old init script links to the new location: +for i in 2 3 4 5; do + if [ -L /etc/rc"$i".d/S20nscd ]; then + mv /etc/rc"$i".d/S20nscd /etc/rc"$i".d/S09nscd + fi +done + +for i in 0 1 6; do + if [ -L /etc/rc"$i".d/K20nscd ]; then + mv /etc/rc"$i".d/K20nscd /etc/rc"$i".d/K91nscd + fi +done + +#DEBHELPER# + +exit 0 --- glibc-2.3.6.orig/debian/debhelper.in/glibc-doc.docs +++ glibc-2.3.6/debian/debhelper.in/glibc-doc.docs @@ -0,0 +1 @@ +DEB_SRCDIR/ChangeLog* --- glibc-2.3.6.orig/debian/debhelper.in/libc-dev.manpages +++ glibc-2.3.6/debian/debhelper.in/libc-dev.manpages @@ -0,0 +1,4 @@ +debian/local/manpages/gencat.1 +debian/local/manpages/mtrace.1 +debian/local/manpages/rpcgen.1 +debian/local/manpages/sprof.1 --- glibc-2.3.6.orig/debian/debhelper.in/glibc-doc.info +++ glibc-2.3.6/debian/debhelper.in/glibc-doc.info @@ -0,0 +1 @@ +debian/tmp-libc/usr/share/info/libc.info* --- glibc-2.3.6.orig/debian/debhelper.in/libc-otherbuild.install +++ glibc-2.3.6/debian/debhelper.in/libc-otherbuild.install @@ -0,0 +1,3 @@ +# This file is used for making NPTL and other +# optimized libraries. +TMPDIR/lib*/*.so* libDESTLIBDIR --- glibc-2.3.6.orig/debian/debhelper.in/locales.templates +++ glibc-2.3.6/debian/debhelper.in/locales.templates @@ -0,0 +1,25 @@ +Template: locales/locales_to_be_generated +Type: multiselect +Choices: ${locales} +_Description: Select locales to be generated. + Locale is a framework to switch between multiple languages for users who can + select to use their language, country, characters, collation order, etc. + . + Choose which locales to generate. The selection will be saved to + `/etc/locale.gen', which you can also edit manually (you need to run + `locale-gen' afterwards). + +Template: locales/default_environment_locale +Type: select +_Choices: None, ${locales} +Default: None +_Description: Which locale should be the default in the system environment? + Many packages in Debian use locales to display text in the correct + language for users. You can change the default locale if you're not + a native English speaker. + These choices are based on which locales you have chosen to generate. + . + Note: This will select the language for your whole system. If you're + running a multi-user system where not all of your users speak the language + of your choice, then they will run into difficulties and you might want + not to set a default locale. --- glibc-2.3.6.orig/debian/debhelper.in/nscd.manpages +++ glibc-2.3.6/debian/debhelper.in/nscd.manpages @@ -0,0 +1,3 @@ +debian/local/manpages/nscd.conf.5 +debian/local/manpages/nscd.8 +debian/local/manpages/nscd_nischeck.8 --- glibc-2.3.6.orig/debian/debhelper.in/locales.install +++ glibc-2.3.6/debian/debhelper.in/locales.install @@ -0,0 +1,7 @@ +debian/tmp-libc/usr/share/locale/[a-z][a-z] usr/share/locale +debian/tmp-libc/usr/share/locale/[a-z][a-z]_[A-Z][A-Z] usr/share/locale +debian/tmp-libc/usr/share/locale/locale.alias usr/share/locale +debian/tmp-libc/usr/share/i18n/* usr/share/i18n +debian/local/usr_sbin/locale-gen usr/sbin +debian/local/usr_sbin/validlocale usr/sbin +DEB_SRCDIR/localedata/README usr/share/doc/locales --- glibc-2.3.6.orig/debian/debhelper.in/libc.links +++ glibc-2.3.6/debian/debhelper.in/libc.links @@ -0,0 +1 @@ +etc/localtime usr/share/zoneinfo/localtime --- glibc-2.3.6.orig/debian/debhelper.in/nscd.init +++ glibc-2.3.6/debian/debhelper.in/nscd.init @@ -0,0 +1,75 @@ +#!/bin/sh +# +# nscd: Starts the Name Service Cache Daemon +# +# description: This is a daemon which handles passwd and group lookups +# for running programs and caches the results for the next +# query. You should start this daemon only if you use +# slow Services like NIS or NIS+ + +# Sanity checks. +[ -f /etc/nscd.conf ] || exit 0 +[ -x /usr/sbin/nscd ] || exit 0 + +# nscd does not run on any kernel lower than 2.2.0 because of threading +# problems, so we require that in first place. +case `uname -r` in + 2.[0-1].*|1.*) + # This is not ok + exit 0 + ;; +esac + +RETVAL=0 +case "$1" in + start) + secure="" + for table in passwd group + do + if egrep '^'$table':.*nisplus' /etc/nsswitch.conf >/dev/null + then + /usr/sbin/nscd_nischeck $table || + secure="$secure -S $table,yes" + fi + done + echo -n "Starting Name Service Cache Daemon: nscd" + install -o root -g root -m 755 -d /var/run/nscd + start-stop-daemon --start --quiet --exec /usr/sbin/nscd -- $secure + RETVAL=$? + echo "." + ;; + stop) + echo -n "Stopping Name Service Cache Daemon: nscd" + /usr/sbin/nscd -K + RETVAL=$? + echo "." + ;; + reload) + echo "Reloading Name Service Cache Daemon configuration... " + start-stop-daemon --stop --signal 1 --quiet --oknodo --exec /usr/sbin/nscd + RETVAL=$? + echo "done." + ;; + force-reload) + $0 stop + $0 start + ;; + restart) + $0 force-reload + ;; + status) + echo -n "Status of $(basename $0) service: " + if pidof /usr/sbin/nscd > /dev/null ; then + echo "running." + RETVAL=0 + else + echo "not running." + RETVAL=3 + fi + ;; + *) + echo "Usage: /etc/init.d/nscd {start|stop|reload|force-reload|restart|status}" + RETVAL=1 + ;; +esac +exit $RETVAL --- glibc-2.3.6.orig/debian/debhelper.in/libc-otherbuild.preinst +++ glibc-2.3.6/debian/debhelper.in/libc-otherbuild.preinst @@ -0,0 +1,13 @@ +#!/bin/bash + +set -e + +if [ "$1" != abort-upgrade ] && [ "`uname -s`" = Linux ]; then + opt=OPT + touch /etc/ld.so.nohwcap + echo $opt >> /etc/ld.so.nohwcap +fi + +#DEBHELPER# + +exit 0 --- glibc-2.3.6.orig/debian/debhelper.in/nscd.install +++ glibc-2.3.6/debian/debhelper.in/nscd.install @@ -0,0 +1,4 @@ +debian/tmp-libc/usr/sbin/nscd usr/sbin +debian/tmp-libc/usr/sbin/nscd_nischeck usr/sbin +DEB_SRCDIR/nscd/nscd.conf /etc + --- glibc-2.3.6.orig/debian/debhelper.in/glibc-doc.links +++ glibc-2.3.6/debian/debhelper.in/glibc-doc.links @@ -0,0 +1,23 @@ +usr/share/doc/glibc-doc/html/libc.html usr/share/doc/glibc-doc/html/index.html +usr/share/man/man3/pthread_key_create.3.gz usr/share/man/man3/pthread_getspecific.3.gz +usr/share/man/man3/pthread_key_create.3.gz usr/share/man/man3/pthread_key_delete.3.gz +usr/share/man/man3/pthread_key_create.3.gz usr/share/man/man3/pthread_setspecific.3.gz +usr/share/man/man3/pthread_cond_init.3.gz usr/share/man/man3/pthread_cond_signal.3.gz +usr/share/man/man3/pthread_cond_init.3.gz usr/share/man/man3/pthread_cond_broadcast.3.gz +usr/share/man/man3/pthread_cond_init.3.gz usr/share/man/man3/pthread_cond_wait.3.gz +usr/share/man/man3/pthread_cond_init.3.gz usr/share/man/man3/pthread_cond_timedwait.3.gz +usr/share/man/man3/pthread_cond_init.3.gz usr/share/man/man3/pthread_cond_destroy.3.gz +usr/share/man/man3/pthread_condattr_init.3.gz usr/share/man/man3/pthread_condattr_destroy.3.gz +usr/share/man/man3/pthread_mutex_init.3.gz usr/share/man/man3/pthread_mutex_lock.3.gz +usr/share/man/man3/pthread_mutex_init.3.gz usr/share/man/man3/pthread_mutex_trylock.3.gz +usr/share/man/man3/pthread_mutex_init.3.gz usr/share/man/man3/pthread_mutex_unlock.3.gz +usr/share/man/man3/pthread_mutex_init.3.gz usr/share/man/man3/pthread_mutex_destroy.3.gz +usr/share/man/man3/pthread_mutexattr_init.3.gz usr/share/man/man3/pthread_mutexattr_destroy.3.gz +usr/share/man/man3/pthread_mutexattr_init.3.gz usr/share/man/man3/pthread_mutexattr_settype.3.gz +usr/share/man/man3/pthread_mutexattr_init.3.gz usr/share/man/man3/pthread_mutexattr_gettype.3.gz +usr/share/man/man3/sem_init.3.gz usr/share/man/man3/sem_wait.3.gz +usr/share/man/man3/sem_init.3.gz usr/share/man/man3/sem_trywait.3.gz +usr/share/man/man3/sem_init.3.gz usr/share/man/man3/sem_post.3.gz +usr/share/man/man3/sem_init.3.gz usr/share/man/man3/sem_getvalue.3.gz +usr/share/man/man3/sem_init.3.gz usr/share/man/man3/sem_destroy.3.gz + --- glibc-2.3.6.orig/debian/debhelper.in/locales.postinst +++ glibc-2.3.6/debian/debhelper.in/locales.postinst @@ -0,0 +1,83 @@ +#! /bin/sh +set -e + +LG="/etc/locale.gen" +EE="/etc/environment" + +if [ "$1" = configure ]; then + + . /usr/share/debconf/confmodule + db_version 2.0 + + db_get locales/locales_to_be_generated && SELECTED_LOCALES=$RET + db_get locales/default_environment_locale && SELECTED="$RET" + + if [ -n "$SELECTED_LOCALES" ]; then + if [ -e $LG ]; then + # Comment previous defined locales + LC_ALL=C sed -e 's/^[a-zA-Z]/#&/' $LG > $LG.tmp || true + mv -f $LG.tmp $LG + last=`tail -n 1 "$LG"` + if test -n "$last"; then echo >> $LG; fi + else + cat > $LG << EOF +# This file lists locales that you wish to have built. You can find a list +# of valid supported locales at /usr/share/i18n/SUPPORTED. Other +# combinations are possible, but may not be well tested. If you change +# this file, you need to rerun locale-gen. +# + +EOF + fi + list=`echo $SELECTED_LOCALES | sed -e 's/, /,/g'` + save_IFS=$IFS + IFS=, + for locale in $list; do + if grep -q "^$locale *\$" $LG; then + # This locale has already been inserted, do nothing + : + elif grep -q "^#$locale *\$" $LG; then + # Uncomment previous defined locales + sed -e "s,#$locale *\$,$locale," $LG > $LG.tmp || true + mv -f $LG.tmp $LG + else + # Add a new locale + echo $locale >> $LG + fi + done + IFS=$save_IFS + else + if [ -e $LG ]; then + LC_ALL=C sed -e 's/^[a-zA-Z]/#&/' $LG > $LG.tmp || true + mv -f $LG.tmp $LG + fi + fi + # Update requested locales. + /usr/sbin/locale-gen + + # Set default LANG environment variable + if [ -e $EE ]; then + sed -e '/^ *LANG=/d' $EE > $EE.tmp || true + # $EE has to be updated if $SELECTED is empty or 'None' + cp -f $EE.tmp $EE + else + :> $EE.tmp + fi + if [ -n "$SELECTED" ] && [ "$SELECTED" != "None" ]; then + # Add a newline in case last line does not have one + echo >> $EE.tmp + echo "LANG=$SELECTED" >> $EE.tmp + # Consecutive blank lines are replaced by a single line + cat -s $EE.tmp > $EE + fi + rm -f $EE.tmp +fi + +# We remove a relic of the past /usr/doc/ symlinks. +# This script should keep at least until sarge release. +if [ -L "/usr/doc/locales" ]; then + rm -f "/usr/doc/locales" +fi + +#DEBHELPER# + --- glibc-2.3.6.orig/debian/debhelper.in/glibc-doc.postinst +++ glibc-2.3.6/debian/debhelper.in/glibc-doc.postinst @@ -0,0 +1,11 @@ +#!/bin/sh + +set -e + +# We remove a relic of the past /usr/doc/ symlinks. +# This script should keep at least until sarge release. +if [ -L "/usr/doc/glibc-doc" ]; then + rm -f "/usr/doc/glibc-doc" +fi + +#DEBHELPER# --- glibc-2.3.6.orig/debian/debhelper.in/libc-alt-dev.install +++ glibc-2.3.6/debian/debhelper.in/libc-alt-dev.install @@ -0,0 +1,4 @@ +# This file is used for making 64-bit libraries development packages. +TMPDIR/usr/lib*/*.a usr/libDESTLIBDIR +TMPDIR/usr/lib*/*.o usr/libDESTLIBDIR +TMPDIR/usr/lib*/*.so usr/libDESTLIBDIR --- glibc-2.3.6.orig/debian/debhelper.in/libc-dbg.install +++ glibc-2.3.6/debian/debhelper.in/libc-dbg.install @@ -0,0 +1 @@ +TMPDIR/lib/*.so* usr/lib/debug --- glibc-2.3.6.orig/debian/debhelper.in/locales.manpages +++ glibc-2.3.6/debian/debhelper.in/locales.manpages @@ -0,0 +1,3 @@ +debian/local/manpages/locale-gen.8 +debian/local/manpages/locale.gen.5 +debian/local/manpages/validlocale.8 --- glibc-2.3.6.orig/debian/debhelper.in/glibc-doc.manpages +++ glibc-2.3.6/debian/debhelper.in/glibc-doc.manpages @@ -0,0 +1 @@ +DEB_SRCDIR/linuxthreads/man/*.man --- glibc-2.3.6.orig/debian/debhelper.in/zoneinfo-udeb.dirs +++ glibc-2.3.6/debian/debhelper.in/zoneinfo-udeb.dirs @@ -0,0 +1 @@ +/usr/share/zoneinfo --- glibc-2.3.6.orig/debian/debhelper.in/zoneinfo-udeb.install +++ glibc-2.3.6/debian/debhelper.in/zoneinfo-udeb.install @@ -0,0 +1 @@ +debian/tmp-libc/usr/share/zoneinfo/zone.tab usr/share/zoneinfo --- glibc-2.3.6.orig/debian/rules.d/debhelper.mk +++ glibc-2.3.6/debian/rules.d/debhelper.mk @@ -0,0 +1,272 @@ +# This is so horribly wrong. libc-pic does a whole pile of gratuitous +# renames. There's very little we can do for now. Maybe after +# Sarge releases we can consider breaking packages, but certainly not now. + +$(stamp)binaryinst_$(libc)-pic:: $(stamp)debhelper + @echo Running special kludge for $(libc)-pic + dh_testroot + dh_installdirs -p$(curpass) + install --mode=0644 build-tree/$(DEB_HOST_ARCH)-libc/libc_pic.a debian/$(libc)-pic/usr/lib/. + install --mode=0644 build-tree/$(DEB_HOST_ARCH)-libc/libc.map debian/$(libc)-pic/usr/lib/libc_pic.map + install --mode=0644 build-tree/$(DEB_HOST_ARCH)-libc/elf/soinit.os debian/$(libc)-pic/usr/lib/libc_pic/soinit.o + install --mode=0644 build-tree/$(DEB_HOST_ARCH)-libc/elf/sofini.os debian/$(libc)-pic/usr/lib/libc_pic/sofini.o + + install --mode=0644 build-tree/$(DEB_HOST_ARCH)-libc/math/libm_pic.a debian/$(libc)-pic/usr/lib/. + install --mode=0644 build-tree/$(DEB_HOST_ARCH)-libc/libm.map debian/$(libc)-pic/usr/lib/libm_pic.map + install --mode=0644 build-tree/$(DEB_HOST_ARCH)-libc/resolv/libresolv_pic.a debian/$(libc)-pic/usr/lib/. + install --mode=0644 build-tree/$(DEB_HOST_ARCH)-libc/libresolv.map debian/$(libc)-pic/usr/lib/libresolv_pic.map + +$(stamp)binaryinst_zoneinfo-udeb:: $(stamp)debhelper + dh_testroot + dh_installdirs -p$(curpass) + # The udeb only needs to know the list of timezones, not their contents. + find debian/tmp-libc/usr/share/zoneinfo -name posix -prune -o -name right -prune -o -name \*.tab -o -type f -printf '%P\n' | sort > debian/zoneinfo-udeb/usr/share/zoneinfo/list.tab + chmod 644 debian/zoneinfo-udeb/usr/share/zoneinfo/list.tab + +# Some per-package extra files to install. +define $(libc)_extra_debhelper_pkg_install + install --mode=0644 $(DEB_SRCDIR)/ChangeLog debian/$(curpass)/usr/share/doc/$(curpass)/changelog + install --mode=0644 $(DEB_SRCDIR)/linuxthreads/README debian/$(curpass)/usr/share/doc/$(curpass)/README.linuxthreads + install --mode=0644 $(DEB_SRCDIR)/linuxthreads/ChangeLog debian/$(curpass)/usr/share/doc/$(curpass)/ChangeLog.linuxthreads + case " $(GLIBC_PASSES) " in \ + *" nptl "*) \ + install --mode=0644 $(DEB_SRCDIR)/nptl/ChangeLog debian/$(curpass)/usr/share/doc/$(curpass)/ChangeLog.nptl; \ + ;; \ + esac + sed -e "/KERNEL_VERSION_CHECK/r debian/script.in/kernelcheck.sh" \ + debian/local/etc_init.d/glibc.sh | \ + sed -e "s/EXIT_CHECK/sleep 5/" > debian/glibc.sh.generated + install --mode=0755 debian/glibc.sh.generated debian/$(curpass)/etc/init.d/glibc.sh + # dh_installmanpages thinks that .so is a language. + install --mode=0644 debian/local/manpages/ld.so.8 debian/$(curpass)/usr/share/man/man8/ld.so.8 + + install --mode=0644 debian/FAQ debian/$(curpass)/usr/share/doc/$(curpass)/README.Debian +endef + +define locales_extra_debhelper_pkg_install + install --mode=0644 $(DEB_SRCDIR)/localedata/ChangeLog debian/$(curpass)/usr/share/doc/$(curpass)/changelog +endef + +define glibc-doc_extra_debhelper_pkg_install + install --mode=0644 $(DEB_SRCDIR)/ChangeLog debian/$(curpass)/usr/share/doc/$(curpass)/changelog + install --mode=0644 $(DEB_SRCDIR)/linuxthreads/FAQ.html debian/$(curpass)/usr/share/doc/$(curpass)/FAQ.linuxthreads.html +endef + +# Should each of these have per-package options? + +$(patsubst %,binaryinst_%,$(DEB_ARCH_REGULAR_PACKAGES) $(DEB_INDEP_REGULAR_PACKAGES)) :: binaryinst_% : $(stamp)binaryinst_% + +# Make sure the debug packages are built last, since other packages may add +# files to them. +debug-packages = $(filter %-dbg,$(DEB_ARCH_REGULAR_PACKAGES)) +non-debug-packages = $(filter-out %-dbg,$(DEB_ARCH_REGULAR_PACKAGES)) +$(patsubst %,$(stamp)binaryinst_%,$(debug-packages)):: $(patsubst %,$(stamp)binaryinst_%,$(non-debug-packages)) + +$(patsubst %,$(stamp)binaryinst_%,$(DEB_ARCH_REGULAR_PACKAGES) $(DEB_INDEP_REGULAR_PACKAGES)):: $(stamp)debhelper + @echo Running debhelper for $(curpass) + dh_testroot + dh_installdirs -p$(curpass) + dh_install -p$(curpass) + dh_installman -p$(curpass) + dh_installinfo -p$(curpass) + dh_installdebconf -p$(curpass) + dh_installchangelogs -p$(curpass) + dh_installinit -p$(curpass) $(DEB_INIT_PARAMS_$(curpass)) + dh_installdocs -p$(curpass) + dh_link -p$(curpass) + + # extra_debhelper_pkg_install is used for debhelper.mk only. + # when you want to install extra packages, use extra_pkg_install. + $(call xx,extra_debhelper_pkg_install) + $(call xx,extra_pkg_install) + +ifeq ($(filter nostrip,$(DEB_BUILD_OPTIONS)),) + # libpthread must be stripped specially; GDB needs the + # non-dynamic symbol table in order to load the thread + # debugging library. We keep a full copy of the symbol + # table in libc6-dbg but basic thread debugging should + # work even without that package installed. + + # We use a wrapper script so that we only include the bare + # minimum in /usr/lib/debug/lib for backtraces; anything + # else takes too long to load in GDB. + + if test "$(NOSTRIP_$(curpass))" != 1; then \ + chmod a+x debian/wrapper/objcopy; \ + export PATH=$(shell pwd)/debian/wrapper:$$PATH; \ + dh_strip -p$(curpass) -Xlibpthread --keep-debug; \ + mkdir -p debian/$(libc)-dbg/usr/lib/debug; \ + if test -d debian/$(curpass)/usr/lib/debug; then \ + cd debian/$(curpass)/usr/lib/debug; \ + find . -type f -name \*.so\* \ + | cpio -pd $(shell pwd)/debian/$(libc)-dbg/usr/lib/debug; \ + cd ../../../../..; \ + rm -rf debian/$(curpass)/usr/lib/debug; \ + fi; \ + (cd debian/$(curpass); \ + find . -name libpthread-\*.so -exec \ + ../../debian/wrapper/objcopy --only-keep-debug '{}' \ + ../$(libc)-dbg/usr/lib/debug/'{}' ';' || true; \ + find . -name libpthread-\*.so -exec objcopy \ + --add-gnu-debuglink=../$(libc)-dbg/usr/lib/debug/'{}' \ + '{}' ';' || true); \ + find debian/$(curpass) -name libpthread-\*.so -exec \ + strip --strip-debug --remove-section=.comment \ + --remove-section=.note '{}' ';' || true; \ + fi +endif + + dh_compress -p$(curpass) + dh_fixperms -p$(curpass) -Xpt_chown + # Use this instead of -X to dh_fixperms so that we can use + # an unescaped regular expression. ld.so must be executable; + # libc.so and NPTL's libpthread.so print useful version + # information when executed. + # FIXME: LinuxThread's libpthread.so doesn't. It would be good + # to either fix that, or use a more robust method than searching + # for /tls/ in the path to identify NPTL. + find debian/$(curpass) -type f \( -regex '.*lib.*/ld.*so.*' \ + -o -regex '.*lib.*/tls/.*libpthread.*so.*' \ + -o -regex '.*lib.*/libc[.-].*so.*' \) \ + -exec chmod a+x '{}' ';' + dh_makeshlibs -p$(curpass) -V "$(call xx,shlib_dep)" + + dh_installdeb -p$(curpass) + # dh_shlibdeps -p$(curpass) + dh_gencontrol -p$(curpass) -- $($(curpass)_control_flags) + dh_md5sums -p$(curpass) + dh_builddeb -p$(curpass) + + touch $@ + +$(patsubst %,binaryinst_%,$(DEB_UDEB_PACKAGES)) :: binaryinst_% : $(stamp)binaryinst_% +$(patsubst %,$(stamp)binaryinst_%,$(DEB_UDEB_PACKAGES)):: $(stamp)debhelper + @echo Running debhelper for $(curpass) + dh_testroot + dh_installdirs -p$(curpass) + dh_install -p$(curpass) + dh_strip -p$(curpass) + dh_compress -p$(curpass) + dh_fixperms -p$(curpass) + find debian/$(curpass) -type f \( -regex '.*lib.*/ld.*so.*' \ + -o -regex '.*lib.*/tls/.*libpthread.*so.*' \ + -o -regex '.*lib.*/libc[.-].*so.*' \) \ + -exec chmod a+x '{}' ';' + # dh_makeshlibs -p$(curpass) -V "$(call xx,shlib_dep)" + dh_installdeb -p$(curpass) + # dh_shlibdeps -p$(curpass) + dh_gencontrol -p$(curpass) + dh_builddeb -p$(curpass) + + touch $@ + +#Ugly kludge: +# I'm running out of time to get this sorted out properly. Basically +# the problem is that nptl is like an optimised library, but not quite. +# So we'll filter it out of the passes list and deal with it specifically. +# +# Ideally, there should be some way of having an optimisation pass and +# say "include this in the main library" by setting a variable. +# But after 10 hours of staring at this thing, I can't figure it out. + +OPT_PASSES = $(filter-out libc nptl,$(GLIBC_PASSES)) +OPT_DESTDIRS = $(foreach pass,$(OPT_PASSES),$($(pass)_LIBDIR)) +NPTL = $(filter nptl,$(GLIBC_PASSES)) + +debhelper: $(stamp)debhelper +$(stamp)debhelper: + + for x in `find debian/debhelper.in -type f -maxdepth 1`; do \ + y=debian/`basename $$x`; \ + z=`echo $$y | sed -e 's#/libc#/$(libc)#'`; \ + cp $$x $$z; \ + sed -e "s#TMPDIR#debian/tmp-libc#" -i $$z; \ + sed -e "s#DEB_SRCDIR#$(DEB_SRCDIR)#" -i $$z; \ + sed -e "s#LIBC#$(libc)#" -i $$z; \ + sed -e "s#CURRENT_VER#$(DEB_VERSION)#" -i $$z; \ + sed -e "/KERNEL_VERSION_CHECK/r debian/script.in/kernelcheck.sh" -i $$z; \ + sed -e "s#EXIT_CHECK##" -i $$z; \ + done + + # Hack: special-case passes whose destdir is 64 (i.e. /lib64) + # or 32 (i.e. /lib32) + # to use a different install template, which includes more + # libraries. Also generate a -dev. Non-64 libraries get scripts + # to temporarily disable hwcap. This needs some cleaning up. + set -- $(OPT_DESTDIRS); \ + for x in $(OPT_PASSES); do \ + destdir=$$1; \ + shift; \ + z=debian/$(libc)-$$x.install; \ + if [ $$destdir = 64 ] || [ $$destdir = 32 ]; then \ + cp debian/debhelper.in/libc-alt.install $$z; \ + zd=debian/$(libc)-dev-$$x.install; \ + cp debian/debhelper.in/libc-alt-dev.install $$zd; \ + sed -e "s#TMPDIR#debian/tmp-$$x#" -i $$zd; \ + sed -e "s#DEB_SRCDIR#$(DEB_SRCDIR)#" -i $$zd; \ + sed -e "s#LIBC#$(libc)#" -i $$z; \ + sed -e "s#DESTLIBDIR#$$destdir#" -i $$zd; \ + else \ + cp debian/debhelper.in/libc-otherbuild.install $$z; \ + cp debian/debhelper.in/libc-otherbuild.preinst debian/$(libc)-$$x.preinst ; \ + cp debian/debhelper.in/libc-otherbuild.postinst debian/$(libc)-$$x.postinst ; \ + cp debian/debhelper.in/libc-otherbuild.postrm debian/$(libc)-$$x.postrm ; \ + sed -e "s#OPT#$(libc)-$$x#" -i debian/$(libc)-$$x.preinst; \ + sed -e "s#OPT#$(libc)-$$x#" -i debian/$(libc)-$$x.postinst; \ + sed -e "s#OPT#$(libc)-$$x#" -i debian/$(libc)-$$x.postrm; \ + sed -e "s#CURRENT_VER#$(DEB_VERSION)#" -i debian/$(libc)-$$x.postinst; \ + sed -e "s#CURRENT_VER#$(DEB_VERSION)#" -i debian/$(libc)-$$x.postrm; \ + fi; \ + sed -e "s#TMPDIR#debian/tmp-$$x#" -i $$z; \ + sed -e "s#DEB_SRCDIR#$(DEB_SRCDIR)#" -i $$z; \ + sed -e "s#DESTLIBDIR#$$destdir#" -i $$z; \ + done + + # We use libc-otherbuild for this, since it's just a special case of + # an optimised library that needs to wind up in /lib/tls + # FIXME: We do not cover the case of processor optimised + # nptl libraries, like /lib/i686/tls + # We probably don't care for now. + for x in $(NPTL); do \ + z=debian/$(libc).install; \ + cat debian/debhelper.in/libc-otherbuild.install >>$$z; \ + sed -e "s#TMPDIR#debian/tmp-$$x#" -i $$z; \ + sed -e "s#DEB_SRCDIR#$(DEB_SRCDIR)#" -i $$z; \ + sed -e "s#DESTLIBDIR#/tls#" -i $$z; \ + done + + # Substitute __SUPPORTED_LOCALES__. + perl -i -pe 'BEGIN {undef $$/; open(IN, "debian/tmp-libc/usr/share/i18n/SUPPORTED"); $$j=;} s/__SUPPORTED_LOCALES__/$$j/g;' debian/locales.config + + # Generate common substvars files. + echo "locale:Depends=$(shell perl debian/debver2localesdep.pl $(LOCALES_DEP_VER))" > tmp.substvars + + for pkg in $(DEB_ARCH_REGULAR_PACKAGES) $(DEB_INDEP_REGULAR_PACKAGES) $(DEB_UDEB_PACKAGES); do \ + cp tmp.substvars debian/$$pkg.substvars; \ + done + rm -f tmp.substvars + + touch $(stamp)debhelper + +debhelper-clean: + dh_clean + + rm -f debian/*.install* + rm -f debian/*.install.* + rm -f debian/*.manpages + rm -f debian/*.links + rm -f debian/*.postinst + rm -f debian/*.preinst + rm -f debian/*.postinst + rm -f debian/*.prerm + rm -f debian/*.postrm + rm -f debian/*.info + rm -f debian/*.init + rm -f debian/*.config + rm -f debian/*.templates + rm -f debian/*.dirs + rm -f debian/*.docs + rm -f debian/*.doc-base + rm -f debian/*.generated + + rm -f $(stamp)binaryinst* --- glibc-2.3.6.orig/debian/rules.d/control.mk +++ glibc-2.3.6/debian/rules.d/control.mk @@ -0,0 +1,38 @@ +control_deps := $(addprefix debian/control.in/, libc6 libc6.1 libc0.3 libc1 sparc64 s390x ppc64 amd64 i386 opt libnss-dns-udeb libnss-files-udeb zoneinfo-udeb) + +threads_archs := alpha amd64 arm armeb i386 m68k mips mipsel powerpc sparc ia64 hppa s390 sh3 sh4 sh3eb sh4eb freebsd-i386 + +debian/control.in/libc6: debian/control.in/libc debian/rules.d/control.mk + sed -e 's%@libc@%libc6%g' \ + -e 's%@archs@%amd64 arm armeb i386 m68k mips mipsel powerpc sparc s390 hppa sh3 sh4 sh3eb sh4eb%g' < $< > $@ + +debian/control.in/libc6.1: debian/control.in/libc debian/rules.d/control.mk + sed -e 's%@libc@%libc6.1%g;s%@archs@%alpha ia64%g' < $< > $@ + +debian/control.in/libc0.3: debian/control.in/libc debian/rules.d/control.mk + sed -e 's%@libc@%libc0.3%g;s%@archs@%hurd-i386%g;s/nscd, //' < $< > $@ + +debian/control.in/libc1: debian/control.in/libc debian/rules.d/control.mk + sed -e 's%@libc@%libc1%g;s%@archs@%freebsd-i386%g' < $< > $@ + +debian/control: debian/control.in/main $(control_deps) \ + debian/rules.d/control.mk # debian/sysdeps/depflags.pl + cat debian/control.in/main > $@T + cat debian/control.in/libc6 >> $@T + cat debian/control.in/libc6.1 >> $@T + cat debian/control.in/libc0.3 >> $@T + cat debian/control.in/libc1 >> $@T + cat debian/control.in/sparc64 >> $@T + cat debian/control.in/s390x >> $@T + cat debian/control.in/amd64 >> $@T + cat debian/control.in/ppc64 >> $@T + cat debian/control.in/i386 >> $@T + cat debian/control.in/opt >> $@T + cat debian/control.in/libnss-dns-udeb >> $@T + cat debian/control.in/libnss-files-udeb >> $@T + cat debian/control.in/zoneinfo-udeb >> $@T + sed -e 's%@libc@%$(libc)%g;s%@glibc@%glibc%g' \ + -e 's%@threads_archs@%$(threads_archs)%g' < $@T > $@ + rm $@T + +.PHONY: debian/control --- glibc-2.3.6.orig/debian/rules.d/tarball.mk +++ glibc-2.3.6/debian/rules.d/tarball.mk @@ -0,0 +1,16 @@ +unpack: $(stamp)unpack +$(stamp)unpack: $(DEB_TARBALL) $(patsubst %,$(stamp)%,$(GLIBC_OVERLAYS)) + touch $(stamp)unpack + +# FIXME: Support gzip as well! +$(DEB_TARBALL): $(stamp)$(DEB_TARBALL) +$(stamp)$(DEB_TARBALL): + mkdir -p $(build-tree) + cd $(build-tree) && tar -xjvf $(CURDIR)/$(DEB_TARBALL) + touch $@ + +$(patsubst %,$(stamp)%,$(GLIBC_OVERLAYS)): + cd $(DEB_SRCDIR) && tar -xjvf $(CURDIR)/$(notdir $@) + touch $@ + + --- glibc-2.3.6.orig/debian/rules.d/dpatch.mk +++ glibc-2.3.6/debian/rules.d/dpatch.mk @@ -0,0 +1,74 @@ +# Stolen from the 'dpatch' package, and modified to support srcdir != . builds +# Also supports stampdir +# Tell patch target to depend on unpack +# Use DEB_SOURCE_PACKAGE instead of PACKAGE + +# Also now respects $(stamp-dir) +# -*- Makefile -*-, you silly Emacs! +# vim: set ft=make: + +DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH) +DPATCH_ARCH := ${DEB_BUILD_ARCH} +PATCHLIST_ALL = $(shell test -f debian/patches/00list && grep -v ^\# debian/patches/00list) +PATCHLIST_ARCH = $(shell test -f debian/patches/00list.${DPATCH_ARCH} && grep -v ^\# debian/patches/00list.${DPATCH_ARCH}) +PATCHLIST ?= $(shell echo ${PATCHLIST_ALL} ${PATCHLIST_ARCH}) + +UNPATCHLIST = $(shell echo ${PATCHLIST} | tr ' ' '\n' | tac) + +# Expand them right now +PATCHLIST := ${PATCHLIST} +UNPATCHLIST := ${UNPATCHLIST} + +patched-dir := $(stamp)patched + +patch: $(stamp)patch-stamp +$(stamp)patch-stamp: $(stamp)unpack + test -d $(patched-dir) || install -d $(patched-dir) + @echo "Patches applied in the Debian version of ${DEB_SOURCE_PACKAGE}:" > $@T + @for patch in ${PATCHLIST}; do \ + patchdir=$${patch%/*}; \ + test "x$$patchdir" = "x$$patch" || \ + install -d $(patched-dir)/$$patchdir; \ + stamp=$(patched-dir)/$${patch%%.dpatch}.dpatch; \ + test -e debian/patches/$$patch || ext=.dpatch; \ + patch=debian/patches/$$patch$$ext; \ + author=`sed -n "s,^#* *.*dpatch by *,,p" $$patch`; \ + test -x $$patch || chmod +x $$patch; \ + if test -f $$stamp; then \ + echo "$$patch already applied."; \ + echo -e "\n$$patch ($$author):" >> $@T; \ + sed -n 's/^#* *DP: */ /p' $$patch >> $@T; \ + else \ + echo -n "applying patch $$patch..."; \ + if $$patch -patch $(DEB_SRCDIR) >$$stamp.new 2>&1; then \ + mv $$stamp.new $$stamp; \ + touch $$stamp; \ + echo -e "\n$$patch ($$author):" >> $@T; \ + sed -n 's/^#* *DP: */ /p' $$patch >> $@T; \ + echo " ok."; \ + else \ + echo " failed."; \ + exit 1; \ + fi; \ + fi; \ + done + mv -f $@T $@ + +unpatch: + @for patch in ${UNPATCHLIST}; do \ + stamp=$(patched-dir)/$${patch%%.dpatch}.dpatch; \ + test -e debian/patches/$$patch || ext=.dpatch; \ + patch=debian/patches/$$patch$$ext; \ + test -x $$patch || chmod +x $$patch; \ + if test -f $$stamp; then \ + echo -n "reverting patch $$patch..."; \ + if $$patch -unpatch $(DEB_SRCDIR) 2>&1 >/dev/null; then \ + rm -f $$stamp; \ + echo " ok."; \ + else \ + echo " failed."; \ + exit 1; \ + fi; \ + fi; \ + done + rm -rf $(stamp)patch-stamp $(stamp)patch-stampT $(debian-patched) --- glibc-2.3.6.orig/debian/rules.d/build.mk +++ glibc-2.3.6/debian/rules.d/build.mk @@ -0,0 +1,129 @@ +# Because variables can be masked at anypoint by declaring +# PASS_VAR, we need to call all variables as $(call xx,VAR) +# This little bit of magic makes it possible: +xx=$(if $($(curpass)_$(1)),$($(curpass)_$(1)),$($(1))) + +# We want to log output to a logfile but we also need to preserve the +# return code of the command being run. +# This little bit of magic makes it possible: +# $(call logme, [-a] , ) +define logme +(exec 3>&1; exit `( ( ( $(2) ) 2>&1 3>&-; echo $$? >&4) | tee $(1) >&3) 4>&1`) +endef + + +$(patsubst %,mkbuilddir_%,$(GLIBC_PASSES)) :: mkbuilddir_% : $(stamp)mkbuilddir_% +$(stamp)mkbuilddir_%: $(stamp)patch-stamp $(LINUX_HEADER_DIR) + @echo Making builddir for $(curpass) + test -d $(DEB_BUILDDIR) || mkdir $(DEB_BUILDDIR) + touch $@ + +$(patsubst %,configure_%,$(GLIBC_PASSES)) :: configure_% : $(stamp)configure_% +$(stamp)configure_%: $(stamp)mkbuilddir_% + + @echo Configuring $(curpass) + rm -f $(DEB_BUILDDIR)/configparms + echo "CC = $(call xx,CC)" >> $(DEB_BUILDDIR)/configparms + echo "BUILD_CC = $(BUILD_CC)" >> $(DEB_BUILDDIR)/configparms + echo "CXX = $(call xx,CXX)" >> $(DEB_BUILDDIR)/configparms + echo "CFLAGS = $(HOST_CFLAGS)" >> $(DEB_BUILDDIR)/configparms + echo "BUILD_CFLAGS = $(BUILD_CFLAGS)" >> $(DEB_BUILDDIR)/configparms + echo "BASH := /bin/bash" >> $(DEB_BUILDDIR)/configparms + echo "KSH := /bin/bash" >> $(DEB_BUILDDIR)/configparms + echo "mandir = $(mandir)" >> $(DEB_BUILDDIR)/configparms + echo "infodir = $(infodir)" >> $(DEB_BUILDDIR)/configparms + echo "libexecdir = $(libexecdir)" >> $(DEB_BUILDDIR)/configparms + echo "LIBGD = no" >> $(DEB_BUILDDIR)/configparms + echo "sysconfdir = /etc" >> $(DEB_BUILDDIR)/configparms + echo "rootsbindir = /sbin" >> $(DEB_BUILDDIR)/configparms +ifneq ($(call xx,slibdir),) + echo "slibdir = $(call xx,slibdir)" >> $(DEB_BUILDDIR)/configparms +endif + + # Prevent autoconf from running unexpectedly by setting it to false. + # Also explicitly pass CC down - this is needed to get -m64 on + # Sparc, et cetera. + + configure_build=$(call xx,configure_build); \ + if [ $(call xx,configure_target) = $$configure_build ]; then \ + echo "Checking that we're running at least kernel version: $(call xx,MIN_KERNEL_SUPPORTED)"; \ + if ! $(call kernel_check,$(call xx,MIN_KERNEL_SUPPORTED)); then \ + configure_build=`echo $$configure_build | sed 's/^\([^-]*\)-\([^-]*\)$$/\1-dummy-\2/'`; \ + echo "No. Forcing cross-compile by setting build to $$configure_build."; \ + fi; \ + fi; \ + $(call logme, -a $(log_build), \ + cd $(DEB_BUILDDIR) && \ + CC="$(call xx,CC)" \ + CXX="$(call xx,CXX)" \ + AUTOCONF=false \ + $(CURDIR)/$(DEB_SRCDIR)/configure \ + --host=$(call xx,configure_target) \ + --build=$$configure_build --prefix=/usr --without-cvs \ + --enable-add-ons=$(standard-add-ons)"$(call xx,add-ons)" \ + --without-selinux \ + $(call xx,with_headers) $(call xx,extra_config_options)) + + touch $@ + +$(patsubst %,build_%,$(GLIBC_PASSES)) :: build_% : $(stamp)build_% +$(stamp)build_%: $(stamp)configure_% + @echo Building $(curpass) + $(call logme, -a $(log_build), $(MAKE) -j$(NJOBS) $(call xx,MAKEFLAGS) -C $(DEB_BUILDDIR)) + touch $@ + +$(patsubst %,check_%,$(GLIBC_PASSES)) :: check_% : $(stamp)check_% +$(stamp)check_%: $(stamp)build_% + if [ -n "$(findstring nocheck,$(DEB_BUILD_OPTIONS))" ]; then \ + echo "DEB_BUILD_OPTIONS contains nocheck, skipping tests."; \ + elif [ $(call xx,configure_build) != $(call xx,configure_target) ]; then \ + echo "Cross compiling, skipping tests."; \ + elif ! $(call kernel_check,$(call xx,MIN_KERNEL_SUPPORTED)); then \ + echo "Kernel too old, skipping tests."; \ + elif [ $(call xx,RUN_TESTSUITE) != "yes" ]; then \ + echo "Testsuite disabled for $(curpass), skipping tests."; \ + else \ + echo Testing $(curpass); \ + $(MAKE) -C $(DEB_BUILDDIR) -j$(NJOBS) $(call xx,MAKEFLAGS) -k check 2>&1 | tee -a $(log_test); \ + fi + touch $@ + +$(patsubst %,install_%,$(GLIBC_PASSES)) :: install_% : $(stamp)install_% +$(stamp)install_%: $(stamp)check_% + @echo Installing $(curpass) + rm -rf $(CURDIR)/debian/tmp-$(curpass) + $(MAKE) -C $(DEB_BUILDDIR) -j$(NJOBS) \ + install_root=$(CURDIR)/debian/tmp-$(curpass) install + + if [ $(curpass) = libc ]; then \ + $(MAKE) -f debian/generate-supported.mk IN=$(DEB_SRCDIR)/localedata/SUPPORTED \ + OUT=debian/tmp-$(curpass)/usr/share/i18n/SUPPORTED; \ + (cd $(DEB_SRCDIR)/manual && texi2html -split_chapter libc.texinfo); \ + fi + + # /usr/include/nptl and /usr/lib/nptl. It assumes tmp-libc is already installed. + # This is here to keep debhelper happy in v5 mode. + install -d debian/tmp-libc/usr/lib/nptl; \ + if [ $(curpass) = nptl ]; then \ + for file in `find debian/tmp-$(curpass)/usr/include -type f | sed 's/^debian\/tmp-nptl\///'`; do \ + if ! [ -f debian/tmp-$(curpass)/$$file ] || \ + ! cmp -s debian/tmp-$(curpass)/$$file debian/tmp-libc/$$file; then \ + target=`echo $$file | sed 's/^usr\/include\///'`; \ + install -d `dirname debian/tmp-libc/usr/include/nptl/$$target`; \ + install -m 644 debian/tmp-$(curpass)/usr/include/$$target \ + debian/tmp-libc/usr/include/nptl/$$target; \ + fi; \ + done; \ + for file in libc.a libpthread.a libpthread_nonshared.a librt.a; do \ + install -m 644 debian/tmp-$(curpass)/usr/lib/$$file \ + debian/tmp-libc/usr/lib/nptl/$$file; \ + done; \ + for file in libc.so libpthread.so; do \ + sed 's/\/lib\//\/lib\/tls\//g' < debian/tmp-$(curpass)/usr/lib/$$file \ + > debian/tmp-libc/usr/lib/nptl/$$file; \ + done; \ + ln -sf /lib/tls/librt.so.1 debian/tmp-libc/usr/lib/nptl/; \ + fi + + $(call xx,extra_install) + touch $@ --- glibc-2.3.6.orig/debian/po/POTFILES.in +++ glibc-2.3.6/debian/po/POTFILES.in @@ -0,0 +1 @@ +[type: gettext/rfc822deb] debhelper.in/locales.templates --- glibc-2.3.6.orig/debian/po/ca.po +++ glibc-2.3.6/debian/po/ca.po @@ -0,0 +1,98 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2003-11-01 23:07-0500\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-15\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "Select locales to be generated." +msgstr "Seleccioneu els locales que voleu generar." + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Locale is a framework to switch between multiple languages for users who can " +"select to use their language, country, characters, collation order, etc." +msgstr "" + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +#, fuzzy +msgid "" +"Choose which locales to generate. The selection will be saved to `/etc/" +"locale.gen', which you can also edit manually (you need to run `locale-gen' " +"afterwards)." +msgstr "" +"Podeu elegir els locales que voleu generar seleccionant-los a continuació. " +"Els locales seleccionats es desaràn en el fitxer \"/etc/locale.gen\". També " +"podeu editar manualment aquest fitxer, i generar els locales executant " +"\"locale-gen\"." + +#. Type: select +#. Choices +#: ../debhelper.in/locales.templates:14 +msgid "None, ${locales}" +msgstr "" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "Which locale should be the default in the system environment?" +msgstr "Quin locale voleu que siga el predeterminat en el sistema?" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +#, fuzzy +msgid "" +"Many packages in Debian use locales to display text in the correct language " +"for users. You can change the default locale if you're not a native English " +"speaker. These choices are based on which locales you have chosen to " +"generate." +msgstr "" +"Molts paquets en Debian fan servir locales per a mostrar text en la llengua " +"correcta dels usuaris. El locale per defecte és C, però podeu canviar-ho si " +"la vostra llengua materna no és l'anglès." + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +#, fuzzy +msgid "" +"Note: This will select the language for your whole system. If you're running " +"a multi-user system where not all of your users speak the language of your " +"choice, then they will run into difficulties and you might want not to set a " +"default locale." +msgstr "" +"Nota: Aquesta elecció es reflexarà en la llengua per a tot el sistema. Si " +"açò és un sistema multiusuari on tots els usuaris no parlen la llengua " +"seleccionada, podrien tindre dificultats, així que potser voleu deixar \"C\" " +"com el locale per defecte." + +#~ msgid "" +#~ "These choices are based on which locales you have chosen to generate." +#~ msgstr "Només podeu triar entre els locales que heu generat." --- glibc-2.3.6.orig/debian/po/cs.po +++ glibc-2.3.6/debian/po/cs.po @@ -0,0 +1,90 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +msgid "" +msgstr "" +"Project-Id-Version: glibc\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2003-11-01 23:07-0500\n" +"PO-Revision-Date: 2004-02-03 17:46+0100\n" +"Last-Translator: Miroslav Kure \n" +"Language-Team: Czech \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "Select locales to be generated." +msgstr "Vyberte, jaké locales se mají vygenerovat." + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Locale is a framework to switch between multiple languages for users who can " +"select to use their language, country, characters, collation order, etc." +msgstr "" +"Locale je systém pro pøepínání mezi rùznými jazyky. U¾ivatelé si pak mohou " +"zvolit svùj jazyk, zemi, klávesnici, poøadí tøídìní, atd." + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Choose which locales to generate. The selection will be saved to `/etc/" +"locale.gen', which you can also edit manually (you need to run `locale-gen' " +"afterwards)." +msgstr "" +"Vyberte, které locales se mají vygenerovat. Va¹e volba se zaznamená do " +"souboru '/etc/locale.gen', který mù¾ete mìnit i ruènì (pak ale musíte " +"spustit 'locale-gen')." + +#. Type: select +#. Choices +#: ../debhelper.in/locales.templates:14 +msgid "None, ${locales}" +msgstr "®ádné, ${locales}" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "Which locale should be the default in the system environment?" +msgstr "Které locale mají být v systému standardní?" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Many packages in Debian use locales to display text in the correct language " +"for users. You can change the default locale if you're not a native English " +"speaker. These choices are based on which locales you have chosen to " +"generate." +msgstr "" +"Mnoho balíkù v Debianu pou¾ívá locales k zobrazení textu v národním jazyce. " +"Pokud zrovna nejste anglicky mluvící u¾ivatel, mù¾ete si zmìnit standardní " +"locale. Nabízené volby závisí na tom, jaké locales máte vygenerované." + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Note: This will select the language for your whole system. If you're running " +"a multi-user system where not all of your users speak the language of your " +"choice, then they will run into difficulties and you might want not to set a " +"default locale." +msgstr "" +"Poznámka: Tímto vyberete jazyk pro celý systém. Pokud se na poèítaè " +"pøihla¹ují i u¾ivatelé nemluvící vybraným jazykem, je lep¹í standardní " +"locale nenastavovat." --- glibc-2.3.6.orig/debian/po/da.po +++ glibc-2.3.6/debian/po/da.po @@ -0,0 +1,91 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +msgid "" +msgstr "" +"Project-Id-Version: glibc-2.3.2.ds1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2003-11-01 23:07-0500\n" +"PO-Revision-Date: 2004-02-01 20:30:00+0100\n" +"Last-Translator: Morten Brix Pedersen \n" +"Language-Team: Danish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "Select locales to be generated." +msgstr "Vælg lokalitetsfiler der skal genereres." + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Locale is a framework to switch between multiple languages for users who can " +"select to use their language, country, characters, collation order, etc." +msgstr "" +"Lokalitetsfilerne er lavet sÃ¥ du kan skifte imellem forskellige sprog til " +"til dit Debian system." + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Choose which locales to generate. The selection will be saved to `/etc/" +"locale.gen', which you can also edit manually (you need to run `locale-gen' " +"afterwards)." +msgstr "" +"Vælg hvilke lokaliteter der skal genereres. Dine valg vil blive gemt til '/" +"etc/locale.gen', som du ogsÃ¥ kan redigere manuelt (du skal køre 'locale-gen' " +"bagefter." + +#. Type: select +#. Choices +#: ../debhelper.in/locales.templates:14 +msgid "None, ${locales}" +msgstr "Ingen, ${locales}" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "Which locale should be the default in the system environment?" +msgstr "Hvilken lokalitet skal være standard i systemmiljøet?" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Many packages in Debian use locales to display text in the correct language " +"for users. You can change the default locale if you're not a native English " +"speaker. These choices are based on which locales you have chosen to " +"generate." +msgstr "" +"Mange pakker i Debian bruger lokaliteter til at vise tekst i det korrekt " +"sprog til brugerne. Du kan ændre standard-lokaliteten hvis engelsk ikke er " +"dit modersmÃ¥ls sprog. Dine valg er baseret pÃ¥ hvilke lokalitetsfiler du " +"valgte at generere." + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Note: This will select the language for your whole system. If you're running " +"a multi-user system where not all of your users speak the language of your " +"choice, then they will run into difficulties and you might want not to set a " +"default locale." +msgstr "" +"Bemærk: Dette vil sætte sproget for hele systemet. Hvis ikke alle brugerne " +"pÃ¥ dit system kan forstÃ¥ det sprog som du vælger, kan de løbe ind i " +"problemer." --- glibc-2.3.6.orig/debian/po/de.po +++ glibc-2.3.6/debian/po/de.po @@ -0,0 +1,101 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2003-11-01 23:07-0500\n" +"PO-Revision-Date: 2004-05-29 18:04-0200\n" +"Last-Translator: Helge Kreutzmann \n" +"Language-Team: de \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-15\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "Select locales to be generated." +msgstr "Wählen Sie die zu generierende Standorteinstellungen aus." + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Locale is a framework to switch between multiple languages for users who can " +"select to use their language, country, characters, collation order, etc." +msgstr "" +"Standorteinstellungen ist ein Rahmen, um zwischen mehreren Sprachen zu " +"wechseln, für Benutzer, die Ihre Sprache, Ihr Land, Ihren Zeichensatz, Ihre " +"Sortierreihenfolge usw. auswählen können." + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Choose which locales to generate. The selection will be saved to `/etc/" +"locale.gen', which you can also edit manually (you need to run `locale-gen' " +"afterwards)." +msgstr "" +"Sie können hier Standorteinstellungen auswählen, die jetzt generiert werden " +"sollen. Diese Einstellung wird in '/etc/locale-gen' gespeichert. Sie können " +"diese Datei auch manuell ändern. Starten Sie nach der Änderung 'locale-gen'." + +#. Type: select +#. Choices +#: ../debhelper.in/locales.templates:14 +msgid "None, ${locales}" +msgstr "Keine, ${locales}" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "Which locale should be the default in the system environment?" +msgstr "Welches soll die Standard-Standorteinstellung des Systems sein?" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Many packages in Debian use locales to display text in the correct language " +"for users. You can change the default locale if you're not a native English " +"speaker. These choices are based on which locales you have chosen to " +"generate." +msgstr "" +"Viele Debian-Pakete benutzen Standorteinstellungen, um Text in der für die " +"Benutzer korrekten Sprache anzuzeigen. Sie können die Standardeinstellunge " +"ändern, falls Sie kein English-Muttersprachler sind. Diese Auswahl basiert " +"auf den Standorteinstellungen, die Sie zur Erzeugung ausgewählt haben." + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +#, fuzzy +msgid "" +"Note: This will select the language for your whole system. If you're running " +"a multi-user system where not all of your users speak the language of your " +"choice, then they will run into difficulties and you might want not to set a " +"default locale." +msgstr "" +"Bemerkung: Dies wählt die Sprache für das gesamte System. Wenn Sie ein " +"Mehrbenutzer-System betreiben und nicht alle Benutzer sprechen die Sprache " +"Ihrer Wahl, dann werden sie in Schwierigkeiten geraten und Sie sollten keine " +"Standard-Standorteinstellung setzen." + +#~ msgid "" +#~ "These choices are based on which locales you have chosen to generate." +#~ msgstr "" +#~ "Die Auswahl kann unter den locales getroffen werden, die für das System " +#~ "zur Generierung ausgewählt wurden." --- glibc-2.3.6.orig/debian/po/el.po +++ glibc-2.3.6/debian/po/el.po @@ -0,0 +1,98 @@ +# translation of el.po to Greek +# translation of templates.po to Greek +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans# +# Developers do not need to manually edit POT or PO files. +# Konstantinos Margaritis , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: el\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2003-11-01 23:07-0500\n" +"PO-Revision-Date: 2004-01-21 22:44EEST\n" +"Last-Translator: Konstantinos Margaritis \n" +"Language-Team: Greek \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0.2\n" + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "Select locales to be generated." +msgstr "Επιλέξτε τα γλωσσικά πεÏιβάλλοντα που θέλετε να δημιουÏγηθοÏν." + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Locale is a framework to switch between multiple languages for users who can " +"select to use their language, country, characters, collation order, etc." +msgstr "" +"Το γλωσσικό πεÏιβάλλον (locale) είναι ένα πλαίσιο υποστήÏιξης εναλλαγής " +"πολλαπλών γλωσσών, ώστε οι χÏήστες να μποÏοÏν να χÏησιμοποιοÏν τη γλώσσα " +"τους, με όλα τα συνεπακόλουθα, χαÏακτήÏες, νόμισμα, τοπικές Ïυθμίσεις, κλπ." + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Choose which locales to generate. The selection will be saved to `/etc/" +"locale.gen', which you can also edit manually (you need to run `locale-gen' " +"afterwards)." +msgstr "" +"Επιλέξτε ποια γλωσσικά πεÏιβάλλοντα θέλετε να δημιουÏγηθοÏν. Η επιλογή θα " +"αποθηκευτεί στο αÏχείο '/etc/locale.gen', το οποίο μποÏείτε να " +"επεξεÏγαστείτε και χειÏοκίνητα (έπειτα θα Ï€Ïέπει να εκτελέσετε την εντολή " +"'locale-gen')." + +#. Type: select +#. Choices +#: ../debhelper.in/locales.templates:14 +msgid "None, ${locales}" +msgstr "Κανένα, ${locales}" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "Which locale should be the default in the system environment?" +msgstr "Ποιο γλωσσικό πεÏιβάλλον επιθυμείτε ως Ï€ÏοκαθοÏισμένο για το σÏστημα;" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Many packages in Debian use locales to display text in the correct language " +"for users. You can change the default locale if you're not a native English " +"speaker. These choices are based on which locales you have chosen to " +"generate." +msgstr "" +"Πολλά πακέτα στο Debiaν χÏησιμοποιοÏν τη δυνατότητα των γλωσσικών " +"πεÏιβάλλοντων για να εμφανίζουν κείμενο στην επιλεγμένη γλώσσα του κάθε " +"χÏήστη. ΜποÏείτε να αλλάξετε το Ï€ÏοκαθοÏισμένο γλωσσικό πεÏιβάλλον αν η " +"Αγγλική δεν είναι η μητÏική σας γλώσσα. Αυτές οι επιλογές βασίζονται στα " +"γλωσσικά πεÏιβάλλοντα που επιλέξατε να δημιουÏγηθοÏν." + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Note: This will select the language for your whole system. If you're running " +"a multi-user system where not all of your users speak the language of your " +"choice, then they will run into difficulties and you might want not to set a " +"default locale." +msgstr "" +"Σημείωση: Αυτή η επιλογή θα επιλέξει τη γλώσσα για ολόκληÏο το σÏστημά σας. " +"Αν έχετε ένα πολυχÏηστικό σÏστημα, στο οποίο οι χÏήστες δε μιλοÏν όλοι την " +"γλώσσα που εσείς επιλέξατε, τότε πιθανόν να συναντήσουν δυσκολίες και για το " +"λόγο αυτό ίσως να μη Ï€Ïέπει να οÏίσετε ένα Ï€ÏοκαθοÏισμένο γλωσσικό " +"πεÏιβάλλον." --- glibc-2.3.6.orig/debian/po/es.po +++ glibc-2.3.6/debian/po/es.po @@ -0,0 +1,95 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +# Carlos Valdivia Yagüe , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: libc6 2.3.2-9\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2003-11-01 23:07-0500\n" +"PO-Revision-Date: 2003-08-23 16:35+0200\n" +"Last-Translator: Carlos Valdivia Yagüe \n" +"Language-Team: Debian L10n Spanish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-15\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "Select locales to be generated." +msgstr "Seleccione los locales que desea generar." + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Locale is a framework to switch between multiple languages for users who can " +"select to use their language, country, characters, collation order, etc." +msgstr "" +"Locale es un sistema que permite a los usuarios elegir entre varios idiomas " +"y que afecta al juego de caracteres utilizado, la ordenación alfanumérica, " +"etc." + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Choose which locales to generate. The selection will be saved to `/etc/" +"locale.gen', which you can also edit manually (you need to run `locale-gen' " +"afterwards)." +msgstr "" +"Elija qué locales desea generar. La elección se guardará en el fichero /etc/" +"locale.gen, que también puede editar manualmente (tendrá que ejecutar " +"«locale-gen» posteriormente)." + +#. Type: select +#. Choices +#: ../debhelper.in/locales.templates:14 +msgid "None, ${locales}" +msgstr "Ninguno, ${locales}" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "Which locale should be the default in the system environment?" +msgstr "¿Cuál quiere que sea el locale predeterminado del sistema?" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Many packages in Debian use locales to display text in the correct language " +"for users. You can change the default locale if you're not a native English " +"speaker. These choices are based on which locales you have chosen to " +"generate." +msgstr "" +"Muchos paquetes en Debian utilizan locales para mostrar el texto en el " +"idioma de los usuarios. Puede cambiar la opción predeterminada si el inglés " +"no es su idioma natal. Estas opciones están basadas en los locales que ha " +"generado." + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Note: This will select the language for your whole system. If you're running " +"a multi-user system where not all of your users speak the language of your " +"choice, then they will run into difficulties and you might want not to set a " +"default locale." +msgstr "" +"Nota: esta elección se reflejará en el idioma de todo el sistema. Si se " +"encuentra en un sistema con varios usuarios en el que no todos hablan el " +"idioma elegido, puede resultar bastante incómodo, por lo que es posible que " +"quiera no configurar ningún locale como opción predeterminada." --- glibc-2.3.6.orig/debian/po/fi.po +++ glibc-2.3.6/debian/po/fi.po @@ -0,0 +1,92 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +msgid "" +msgstr "" +"Project-Id-Version: glibc\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2003-11-01 23:07-0500\n" +"PO-Revision-Date: 2005-04-09 01:47+0300\n" +"Last-Translator: Matti Pöllä \n" +"Language-Team: Finnish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "Select locales to be generated." +msgstr "Valitse muodostettavat lokaalit." + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Locale is a framework to switch between multiple languages for users who can " +"select to use their language, country, characters, collation order, etc." +msgstr "" +"Lokaalien avulla on mahdollista käyttää useita kieliä siten, että\n" +"käyttäjät voivat itse valita käyttämänsä kielen, maan, merkistön\n" +"jne. " + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Choose which locales to generate. The selection will be saved to `/etc/" +"locale.gen', which you can also edit manually (you need to run `locale-gen' " +"afterwards)." +msgstr "" +"Valitse lokaalit, jotka haluat muodostaa. Valinta talletetaan tiedostoon\n" +"\"/etc/locale.gen\", jota voit myös itse muokata. (Muokkaamisen jälkeen\n" +"tulee ajaa komento \"locale-gen\".)" + +#. Type: select +#. Choices +#: ../debhelper.in/locales.templates:14 +msgid "None, ${locales}" +msgstr "Ei mitään, ${locales}" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "Which locale should be the default in the system environment?" +msgstr "Minkä lokaalin tulisi olla järjestelmän oletus?" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Many packages in Debian use locales to display text in the correct language " +"for users. You can change the default locale if you're not a native English " +"speaker. These choices are based on which locales you have chosen to " +"generate." +msgstr "" +"Monet Debianin paketit käyttävät lokaaleja näyttämään käyttäjälle\n" +"tekstit oikealla kielellä. Voit muuttaa oletusarvoisen lokaalin, jos\n" +"et puhu suomea äidinkielenäsi. Nämä valinnat perustuvat lokaaleihin,\n" +"jotka valitsit muodostaa." + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Note: This will select the language for your whole system. If you're running " +"a multi-user system where not all of your users speak the language of your " +"choice, then they will run into difficulties and you might want not to set a " +"default locale." +msgstr "" +"Huomaa: Tämä valitsee koko järjestelmän kielen. Jos kyseessä on monen\n" +"käyttäjän ympäristö, jossa kaikki käyttäjät eivät puhu valitsemaasi\n" +"kieltä, oletuskielen valitseminen ei ehkä ole järkevää." --- glibc-2.3.6.orig/debian/po/fr.po +++ glibc-2.3.6/debian/po/fr.po @@ -0,0 +1,95 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2003-11-01 23:07-0500\n" +"PO-Revision-Date: 2003-10-27 20:40+0100\n" +"Last-Translator: Denis Barbier \n" +"Language-Team: French \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-15\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "Select locales to be generated." +msgstr "Choix des paramètres régionaux à générer." + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Locale is a framework to switch between multiple languages for users who can " +"select to use their language, country, characters, collation order, etc." +msgstr "" +"La localisation est un mécanisme qui permet aux utilisateurs de choisir la " +"langue, le pays, le jeu de caractères, etc." + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Choose which locales to generate. The selection will be saved to `/etc/" +"locale.gen', which you can also edit manually (you need to run `locale-gen' " +"afterwards)." +msgstr "" +"Sélectionnez les jeux de paramètres régionaux (« locales », en anglais) qui " +"seront disponibles sur votre système ; cette liste est sauvée dans le " +"fichier « /etc/locale.gen », que vous pouvez aussi modifier à la main (vous " +"devez alors lancer la commande « locale-gen » après tout changement)." + +#. Type: select +#. Choices +#: ../debhelper.in/locales.templates:14 +msgid "None, ${locales}" +msgstr "Aucun, ${locales}" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "Which locale should be the default in the system environment?" +msgstr "Quel jeu de paramètres régionaux faut-il activer par défaut ?" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Many packages in Debian use locales to display text in the correct language " +"for users. You can change the default locale if you're not a native English " +"speaker. These choices are based on which locales you have chosen to " +"generate." +msgstr "" +"De nombreux paquets dans Debian utilisent le mécanisme de localisation pour " +"afficher les messages destinés aux utilisateurs dans la langue adéquate. " +"Vous pouvez changer la valeur par défaut si votre langue maternelle n'est " +"pas l'anglais. Les choix disponibles dépendent des jeux de paramètres " +"régionaux que vous avez préalablement sélectionnés." + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Note: This will select the language for your whole system. If you're running " +"a multi-user system where not all of your users speak the language of your " +"choice, then they will run into difficulties and you might want not to set a " +"default locale." +msgstr "" +"Note : cette valeur fixera la langue utilisée par le système. Si vous avez " +"un environnement multi-utilisateurs où certains utilisateurs ne parlent pas " +"votre langue, ils risquent d'avoir quelques difficultés et il serait peut-" +"être préférable de ne pas utiliser de valeur par défaut." --- glibc-2.3.6.orig/debian/po/ja.po +++ glibc-2.3.6/debian/po/ja.po @@ -0,0 +1,93 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: locales 2.3.2-9\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2003-11-01 23:07-0500\n" +"PO-Revision-Date: 2003-09-22 14:20+0900\n" +"Last-Translator: GOTO Masanori \n" +"Language-Team: Japanese \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "Select locales to be generated." +msgstr "À¸À®¤¹¤ë¥í¥±¡¼¥ë¤ÎÁªÂò" + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Locale is a framework to switch between multiple languages for users who can " +"select to use their language, country, characters, collation order, etc." +msgstr "" +"¥í¥±¡¼¥ë¤È¤Ï¡¢Ê£¿ô¤Î¸À¸ì´Ä¶­¤ÎÃ椫¤é¥æ¡¼¥¶¤¬»È¤¤¤¿¤¤¸À¸ì¡¦¹ñ¡¦Ä̲ߵ­¹æ¡¦Ê¸»ú" +"Îó¤ÎʤÙÂؤ¨½ç½ø¤Ê¤É¤òÀÚÂؤ뤿¤á¤Î»ÅÁȤߤǤ¹¡£" + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Choose which locales to generate. The selection will be saved to `/etc/" +"locale.gen', which you can also edit manually (you need to run `locale-gen' " +"afterwards)." +msgstr "" +"¹¥¤­¤Ê¥í¥±¡¼¥ë¤òÁªÂò¤·¤ÆÀ¸À®¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ÁªÂò¤µ¤ì¤¿¥í¥±¡¼¥ë¤Î¾ðÊó¤Ï" +"¥Õ¥¡¥¤¥ë `/etc/locale.gen' ¤ËÊݸ¤µ¤ì¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤ò¼ê¤ÇÊÔ½¸¤·¤ÆÊѹ¹¤¹¤ë" +"¤³¤È¤â¤Ç¤­¤Þ¤¹¡£Êѹ¹¤·¤¿¸å¤Ï¡¢`locale-gen'¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£" + +#. Type: select +#. Choices +#: ../debhelper.in/locales.templates:14 +msgid "None, ${locales}" +msgstr "¤Ê¤·, ${locales}" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "Which locale should be the default in the system environment?" +msgstr "¤É¤Î¥í¥±¡¼¥ë¤ò¥·¥¹¥Æ¥àɸ½à¤Î´Ä¶­ÊÑ¿ô¤È¤·¤ÆÀßÄꤷ¤Þ¤¹¤« ?" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Many packages in Debian use locales to display text in the correct language " +"for users. You can change the default locale if you're not a native English " +"speaker. These choices are based on which locales you have chosen to " +"generate." +msgstr "" +"ÍÍ¡¹¤Ê¸À¸ì¤Îʸ¾Ï¤òÀµ¤·¤¯É½¼¨¤¹¤ë¤¿¤á¡¢Debian ¤Ç¤Ï¿¤¯¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬¥í¥±¡¼¥ë¤ò" +"»ÈÍѤ·¤Þ¤¹¡£±Ñ¸ì°Ê³°¤Î¸À¸ì¤òɸ½à¤Ç»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥í¥±¡¼¥ëÀßÄê¤Ç¤¢¤Ê¤¿¤Î" +"»ÈÍѸÀ¸ì¤ËÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Note: This will select the language for your whole system. If you're running " +"a multi-user system where not all of your users speak the language of your " +"choice, then they will run into difficulties and you might want not to set a " +"default locale." +msgstr "" +"Ãí: ¤³¤ÎÀßÄê¤Ï¥·¥¹¥Æ¥àÁ´ÂΤˤĤ¤¤Æ¡¢É¸½à¤Î¸À¸ì¤òÊѹ¹¤·¤Æ¤·¤Þ¤¤¤Þ¤¹¡£¤â¤·¤¢¤Ê" +"¤¿¤Î¥·¥¹¥Æ¥à¤ËÊ£¿ô¤ÎÍøÍѼԤ¬¤¤¤ë¤Î¤Ê¤é¡¢¤½¤ÎÃæ¤Ë¤Ï¤¢¤Ê¤¿¤ÎÁª¤ó¤À¸À¸ì¤òÆɤá¤Ê" +"¤¤¿Í¤¬¤¤¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£¤½¤Î¾ì¹ç¤Ë¤Ï¥·¥¹¥Æ¥àÍøÍѤ¬º¤Æñ¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¤«" +"¤é¡¢¤ª¤½¤é¤¯¥Ç¥Õ¥©¥ë¥È¤Î¥í¥±¡¼¥ë¤òÀßÄꤷ¤Ê¤¤¤Þ¤Þ¤Ë¤·¤Æ¤ª¤¤¤¿Êý¤¬Îɤ¤¤Ç¤·¤ç" +"¤¦¡£" --- glibc-2.3.6.orig/debian/po/ko.po +++ glibc-2.3.6/debian/po/ko.po @@ -0,0 +1,84 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2003-11-01 23:07-0500\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-KR\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "Select locales to be generated." +msgstr "»ý¼ºÇÒ ·ÎÄÉÀÏÀ» ¼±ÅÃÇϽʽÿÀ." + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Locale is a framework to switch between multiple languages for users who can " +"select to use their language, country, characters, collation order, etc." +msgstr "" + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +#, fuzzy +msgid "" +"Choose which locales to generate. The selection will be saved to `/etc/" +"locale.gen', which you can also edit manually (you need to run `locale-gen' " +"afterwards)." +msgstr "" +"»ý¼ºÇÏ°í ½ÍÀº ·ÎÄÉÀÏÀ» ¼±ÅÃÇϽʽÿÀ. ¼±ÅÃµÈ ·ÎÄÉÀÏÀº `/etc/locale.gen' ÆÄÀÏ" +"¿¡ ÀúÀåµË´Ï´Ù. ÀÌ ÆÄÀÏÀ» Á÷Á¢ ÆíÁýÇÒ¼öµµ ÀÖ½À´Ï´Ù. ÆÄÀÏÀ» Á÷Á¢ ÆíÁýÇÑ ÈÄ¿¡´Â " +"¹Ýµå½Ã `locale-gen'¸í·ÉÀ» ½ÇÇàÇØ¾ß ÇÕ´Ï´Ù." + +#. Type: select +#. Choices +#: ../debhelper.in/locales.templates:14 +msgid "None, ${locales}" +msgstr "" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "Which locale should be the default in the system environment?" +msgstr "" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Many packages in Debian use locales to display text in the correct language " +"for users. You can change the default locale if you're not a native English " +"speaker. These choices are based on which locales you have chosen to " +"generate." +msgstr "" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Note: This will select the language for your whole system. If you're running " +"a multi-user system where not all of your users speak the language of your " +"choice, then they will run into difficulties and you might want not to set a " +"default locale." +msgstr "" --- glibc-2.3.6.orig/debian/po/nl.po +++ glibc-2.3.6/debian/po/nl.po @@ -0,0 +1,93 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +msgid "" +msgstr "" +"Project-Id-Version: glibc\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2003-11-01 23:07-0500\n" +"PO-Revision-Date: 2003-11-08 20:14+0100\n" +"Last-Translator: Bart Cornelis \n" +"Language-Team: debian-l10n-dutch \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "Select locales to be generated." +msgstr "Selecteer de te genereren localisaties." + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Locale is a framework to switch between multiple languages for users who can " +"select to use their language, country, characters, collation order, etc." +msgstr "" +"Localisatie is het raamwerk dat gebruikers toelaat om hun eigen taal, land, " +"karakterset, enz. te gebruiken." + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Choose which locales to generate. The selection will be saved to `/etc/" +"locale.gen', which you can also edit manually (you need to run `locale-gen' " +"afterwards)." +msgstr "" +"Kies de te genereren localisaties. Uw keuze wordt opgeslagen in `/etc/locale." +"gen', dit bestand kunt u handmatig aanpassen (vergeet niet dat u na elke " +"aanpassing `locale-gen' dient uit te voeren)." + +#. Type: select +#. Choices +#: ../debhelper.in/locales.templates:14 +msgid "None, ${locales}" +msgstr "Geen, ${locales}" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "Which locale should be the default in the system environment?" +msgstr "Welke localisatie dient de systeemomgeving standaard te gebruiken?" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Many packages in Debian use locales to display text in the correct language " +"for users. You can change the default locale if you're not a native English " +"speaker. These choices are based on which locales you have chosen to " +"generate." +msgstr "" +"Er zijn vele debianpakketten die gebruik maken van localisaties om de tekst " +"in de voor de gebruiker juiste taal weer te geven. U kunt u de " +"standaardlocalisatie desgewenst veranderen. De beschikbare " +"keuzemogelijkheden zijn hierbij afhankelijk van de gegenereerde " +"localisaties. " + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Note: This will select the language for your whole system. If you're running " +"a multi-user system where not all of your users speak the language of your " +"choice, then they will run into difficulties and you might want not to set a " +"default locale." +msgstr "" +"Opmerking: De hier gemaakte keuze bepaald de taal voor het volledige " +"systeem. Op systemen met meerdere gebruikers kunt u problemen krijgen als " +"niet alle gebruikers de gekozen taal spreken; in dat geval kunt u mischien " +"beter de standaard localisatie niet veranderen." --- glibc-2.3.6.orig/debian/po/pl.po +++ glibc-2.3.6/debian/po/pl.po @@ -0,0 +1,83 @@ +msgid "" +msgstr "" +"Project-Id-Version: debconf-glibc-locales-pl\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2003-11-01 23:07-0500\n" +"PO-Revision-Date: 2005-02-09 20:02+0100\n" +"Last-Translator: Emilian Nowak \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.9.1\n" + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "Select locales to be generated." +msgstr "Wybierz ustawienia lokalne, które chcesz wygenerować." + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Locale is a framework to switch between multiple languages for users who can " +"select to use their language, country, characters, collation order, etc." +msgstr "" +"Wybierane tutaj ustawienia loklane stanowiÄ… podstawowÄ… strukturÄ™ dajÄ…cÄ… " +"możliwość pracy systemu w specyficznym dla danego kraju Å›rodowisku (jÄ™zyk, " +"zestaw znaków, kolejność sortowania itp.)" + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Choose which locales to generate. The selection will be saved to `/etc/" +"locale.gen', which you can also edit manually (you need to run `locale-gen' " +"afterwards)." +msgstr "" +"Wybierz, który zestaw ustawieÅ„ loklanych chcesz wygenerować. Twój wybór " +"zostanie zapisany do pliku `/etc/locale.gen', który można później edytować " +"dowolnym edytorem tekstu (w tym przypadku konieczne bÄ™dzie późniejsze " +"uruchomienie 'locale-gen')." + +#. Type: select +#. Choices +#: ../debhelper.in/locales.templates:14 +msgid "None, ${locales}" +msgstr "Brak, ${locales}" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "Which locale should be the default in the system environment?" +msgstr "Wybierz domyÅ›lne ustawienia lokalne, dla swojego systemu" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Many packages in Debian use locales to display text in the correct language " +"for users. You can change the default locale if you're not a native English " +"speaker. These choices are based on which locales you have chosen to " +"generate." +msgstr "" +"Wiele programów dostarczanych w pakietach Debiana wykorzystuje ustawienia " +"lokalne, aby wyÅ›wietlać tekst we wÅ‚aÅ›ciwym dla użytkownika jÄ™zyku. Możesz " +"zmienić domyÅ›lne ustawienia loklane jeżeli nie chcesz posÅ‚ugiwać siÄ™ " +"jÄ™zykiem angielskim. Można wybrać tylko te ustawienia loklane, które " +"wczeÅ›niej zostaÅ‚y wygenerowane." + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Note: This will select the language for your whole system. If you're running " +"a multi-user system where not all of your users speak the language of your " +"choice, then they will run into difficulties and you might want not to set a " +"default locale." +msgstr "" +"Zwróć uwagÄ™ na to, że wybrany tutaj jÄ™zyk ma wpÅ‚yw na na caÅ‚y system i " +"wiÄ™kszość dziaÅ‚ajÄ…cych w nim programów. Jeżeli z tego systemu korzysta " +"wiÄ™cej użytkowników posÅ‚ujÄ…cych siÄ™ różnymi jÄ™zykami najlepiej bÄ™dzie " +"pozostawić domyÅ›lne (angielskie) ustawiania lokalne." --- glibc-2.3.6.orig/debian/po/pt_BR.po +++ glibc-2.3.6/debian/po/pt_BR.po @@ -0,0 +1,97 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +msgid "" +msgstr "" +"Project-Id-Version: libc6_2.3.2.ds1-10\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2003-11-01 23:07-0500\n" +"PO-Revision-Date: 2003-11-09 15:47-0300\n" +"Last-Translator: André Luís Lopes \n" +"Language-Team: Debian-BR Project \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "Select locales to be generated." +msgstr "Selecione os locales a serem gerados." + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Locale is a framework to switch between multiple languages for users who can " +"select to use their language, country, characters, collation order, etc." +msgstr "" +"Locale é um framework para alternar entre múltiplos idiomas para usuários, " +"os quais podem selecionar seu idioma, país, caracteres, ordem de colação, " +"etc." + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Choose which locales to generate. The selection will be saved to `/etc/" +"locale.gen', which you can also edit manually (you need to run `locale-gen' " +"afterwards)." +msgstr "" +"Escolha quais locales gerar. Sua escolha será gravada no arquivo `/etc/" +"locale.gen', o qual você também pode editar manualmente (nesse caso, você " +"precisará excutar `locale-gen' após a edição manual)." + +#. Type: select +#. Choices +#: ../debhelper.in/locales.templates:14 +msgid "None, ${locales}" +msgstr "Nenhum, ${locales}" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "Which locale should be the default in the system environment?" +msgstr "Qual locale deverá ser o padrão do ambiente de seu sistema ?" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Many packages in Debian use locales to display text in the correct language " +"for users. You can change the default locale if you're not a native English " +"speaker. These choices are based on which locales you have chosen to " +"generate." +msgstr "" +"Muitos pacotes Debian usam os locales para exibir texto aos usuários no " +"idioma correto. Você pode mudar o locale padrão caso Inglês não seja seu " +"idioma nativo. Essas escolhas são baseadas em quais locales você escolheu " +"gerar." + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Note: This will select the language for your whole system. If you're running " +"a multi-user system where not all of your users speak the language of your " +"choice, then they will run into difficulties and you might want not to set a " +"default locale." +msgstr "" +"Nota: Sua escolha irá definir o idioma para seu sistema inteiro. Caso você " +"esteja executando um sistema multiusuário onde nem todos os usuários falem o " +"idioma de sua escolha, alguns usuários poderão ter dificuldades e, nesse " +"caso, você talvez prefira não definir um locale padrão" + +#~ msgid "" +#~ "These choices are based on which locales you have chosen to generate." +#~ msgstr "Estas escolhas são baseadas em quais locales você escolheu gerar." --- glibc-2.3.6.orig/debian/po/ru.po +++ glibc-2.3.6/debian/po/ru.po @@ -0,0 +1,94 @@ +# translation of glibc_2.3.2-8.po to russian +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans# +# Developers do not need to manually edit POT or PO files. +# +msgid "" +msgstr "" +"Project-Id-Version: glibc_2.3.2-8\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2003-11-01 23:07-0500\n" +"PO-Revision-Date: 2003-11-18 17:41+0500\n" +"Last-Translator: Ilgiz Kalmetev \n" +"Language-Team: russian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0.1\n" + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "Select locales to be generated." +msgstr "õËÁÖÉÔÅ ËÁËÉÅ ÌÏËÁÌÉ ÎÕÖÎÏ ÓÇÅÎÅÒÉÒÏ×ÁÔØ." + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Locale is a framework to switch between multiple languages for users who can " +"select to use their language, country, characters, collation order, etc." +msgstr "" +"ìÏËÁÌØ - ÜÔÏ ÍÅÈÁÎÉÚÍ ÄÌÑ ÐÅÒÅËÌÀÞÅÎÉÑ ÍÅÖÄÕ ÎÅÓËÏÌØËÉÍÉ ÑÚÙËÁÍÉ ÄÌÑ " +"ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ×ÙÂÉÒÁÔØ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÑÚÙË, ÓÔÒÁÎÕ, " +"ÓÉÍ×ÏÌÙ, ÐÏÒÑÄÏË ÓÏÒÔÉÒÏ×ËÉ É ÐÒ." + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Choose which locales to generate. The selection will be saved to `/etc/" +"locale.gen', which you can also edit manually (you need to run `locale-gen' " +"afterwards)." +msgstr "" +"÷Ù ÍÏÖÅÔÅ ÐÏ Ó×ÏÍÕ ÖÅÌÁÎÉÀ ×ÙÂÒÁÔØ, ËÁËÉÅ ÎÕÖÎÏ ÓÇÅÎÅÒÉÒÏ×ÁÔØ ÌÏËÁÌÉ. " +"÷ÙÂÒÁÎÎÙÅ ÌÏËÁÌÉ ÂÕÄÕÔ ÓÏÈÒÁÎÅÎÙ × ÆÁÊÌÅ `/etc/locale.gen'. ÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ " +"ÏÔÒÅÄÁËÔÉÒÏ×ÁÔØ ÜÔÏÔ ÆÁÊÌ ×ÒÕÞÎÕÀ. ðÏÓÌÅ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ ÆÁÊÌÁ ×ÁÍ " +"ÐÏÔÒÅÂÕÅÔÓÑ ÚÁÐÕÓÔÉÔØ ËÏÍÁÎÄÕ `locale-gen'." + +#. Type: select +#. Choices +#: ../debhelper.in/locales.templates:14 +msgid "None, ${locales}" +msgstr "îÅ ÕÓÔÁÎÁ×ÌÉ×ÁÔØ, ${locales}" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "Which locale should be the default in the system environment?" +msgstr "ëÁËÁÑ ÌÏËÁÌØ ÄÏÌÖÎÁ ÂÙÔØ ÐÏ ÕÍÏÌÞÁÎÉÀ × ÓÉÓÔÅÍÎÏÍ ÏËÒÕÖÅÎÉÉ?" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Many packages in Debian use locales to display text in the correct language " +"for users. You can change the default locale if you're not a native English " +"speaker. These choices are based on which locales you have chosen to " +"generate." +msgstr "" +"÷ Debian ÍÎÏÇÉÅ ÐÁËÅÔÙ ÉÓÐÏÌØÚÕÀÔ ÌÏËÁÌØ ÄÌÑ ÏÔÏÂÒÁÖÅÎÉÑ ÔÅËÓÔÁ ÎÁ ×ÙÂÒÁÎÎÏÍ " +"ÐÏÌØÚÏ×ÁÔÅÌÅÍ ÑÚÙËÅ. ÷Ù ÍÏÖÅÔÅ ÉÚÍÅÎÉÔØ ÌÏËÁÌØ ÐÏ ÕÍÏÌÞÁÎÉÀ, ÅÓÌÉ ÎÅ " +"×ÌÁÄÅÅÔÅ ÁÎÇÌÉÊÓËÉÍ ÑÚÙËÏÍ. óÐÉÓÏË ÓÏÓÔÁ×ÌÅÎ ÉÚ ÔÅÈ ÌÏËÁÌÅÊ, ËÏÔÏÒÙÅ ÷Ù " +"ÒÅÛÉÌÉ ÓÇÅÎÅÒÉÒÏ×ÁÔØ." + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Note: This will select the language for your whole system. If you're running " +"a multi-user system where not all of your users speak the language of your " +"choice, then they will run into difficulties and you might want not to set a " +"default locale." +msgstr "" +"ðÒÉÍÅÞÁÎÉÅ: üÔÏÔ ÐÕÎËÔ ×ÙÂÉÒÁÅÔ ÑÚÙË ÄÌÑ ×ÓÅÊ ÷ÁÛÅÊ ÓÉÓÔÅÍÙ. åÓÌÉ × ÷ÁÛÅÊ " +"ÓÉÓÔÅÍÅ ÒÁÂÏÔÁÅÔ ÎÅÓËÏÌØËÏ ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ËÏÔÏÒÙÅ ÒÁÚÇÏ×ÁÒÉ×ÁÀÔ ÎÅ ÎÁ ÔÏÍ " +"ÑÚÙËÅ, ËÏÔÏÒÙÊ ÷Ù ×ÙÂÒÁÌÉ, ÔÏ ÏÎÉ ÍÏÇÕÔ ÓÔÏÌËÎÕÔØÓÑ ÓÏ ÓÌÏÖÎÏÓÔÑÍÉ, É " +"ÐÏÜÔÏÍÕ, ×ÏÚÍÏÖÎÏ, ÷ÁÍ ÌÕÞÛÅ ÎÅ ÕÓÔÁÎÁ×ÌÉ×ÁÔØ ÌÏËÁÌØ ÐÏ ÕÍÏÌÞÁÎÉÀ." --- glibc-2.3.6.orig/debian/po/templates.pot +++ glibc-2.3.6/debian/po/templates.pot @@ -0,0 +1,80 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2003-11-01 23:07-0500\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "Select locales to be generated." +msgstr "" + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Locale is a framework to switch between multiple languages for users who can " +"select to use their language, country, characters, collation order, etc." +msgstr "" + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Choose which locales to generate. The selection will be saved to `/etc/" +"locale.gen', which you can also edit manually (you need to run `locale-gen' " +"afterwards)." +msgstr "" + +#. Type: select +#. Choices +#: ../debhelper.in/locales.templates:14 +msgid "None, ${locales}" +msgstr "" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "Which locale should be the default in the system environment?" +msgstr "" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Many packages in Debian use locales to display text in the correct language " +"for users. You can change the default locale if you're not a native English " +"speaker. These choices are based on which locales you have chosen to " +"generate." +msgstr "" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Note: This will select the language for your whole system. If you're running " +"a multi-user system where not all of your users speak the language of your " +"choice, then they will run into difficulties and you might want not to set a " +"default locale." +msgstr "" --- glibc-2.3.6.orig/debian/po/tr.po +++ glibc-2.3.6/debian/po/tr.po @@ -0,0 +1,86 @@ +# Turkish translation of locales. +# This file is distributed under the same license as the locales package. +# Erçin EKER , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: locales\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2003-11-01 23:07-0500\n" +"PO-Revision-Date: 2004-03-28 18:15+0300\n" +"Last-Translator: Erçin EKER \n" +"Language-Team: Türkçe \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "Select locales to be generated." +msgstr "OluÅŸturulacak yerelleri seçin." + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Locale is a framework to switch between multiple languages for users who can " +"select to use their language, country, characters, collation order, etc." +msgstr "" +"Yerel (locale), kullanıcıların kullanmak istediÄŸi dil, ülke, karakter, " +"sıralama ÅŸekli gibi dile özgü ayarlar arasında kolayca geçiÅŸ yapmasını " +"saÄŸlayan bir yapıdır." + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Choose which locales to generate. The selection will be saved to `/etc/" +"locale.gen', which you can also edit manually (you need to run `locale-gen' " +"afterwards)." +msgstr "" +"OluÅŸturulacak yerelleri seçiniz. Yapılan seçim '/etc/locale.gen' dosyası " +"içinde saklanacaktır. Daha sonra bu dosyayı elle deÄŸiÅŸtirebilirsiniz (bunu " +"yaptıktan sonra `locale-gen' komutunu çalıştırmanız gerekecektir)." + +#. Type: select +#. Choices +#: ../debhelper.in/locales.templates:14 +msgid "None, ${locales}" +msgstr "Hiçbiri, ${locales}" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "Which locale should be the default in the system environment?" +msgstr "Sistem için öntanımlı yerel hangisi olacak?" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Many packages in Debian use locales to display text in the correct language " +"for users. You can change the default locale if you're not a native English " +"speaker. These choices are based on which locales you have chosen to " +"generate." +msgstr "" +"ÇoÄŸu Debian paketi mesajları göstermekte kullanacağı dili belirlemek için " +"yerelleri kullanır. Ana diliniz Ä°ngilizce deÄŸil ise öntanımlı yereli " +"deÄŸiÅŸtirebilirsiniz. Bütün bu seçimler, oluÅŸturulmak üzere seçtiÄŸiniz " +"yerellere göre belirlenir." + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Note: This will select the language for your whole system. If you're running " +"a multi-user system where not all of your users speak the language of your " +"choice, then they will run into difficulties and you might want not to set a " +"default locale." +msgstr "" +"Not: Bu ayar, sisteminizin bütününde kullanılacak dili seçecektir. EÄŸer " +"farklı dilleri konuÅŸan kullanıcıların da bulunduÄŸu çok kullanıcılı bir " +"sistem çalıştırıyorsanız, bu kullanıcılar bazı zorluklarla karşılaÅŸabilir. " +"Bu nedenle öntanımlı bir yerel belirlememeyi isteyebilirsiniz." --- glibc-2.3.6.orig/debian/po/uk.po +++ glibc-2.3.6/debian/po/uk.po @@ -0,0 +1,94 @@ +# translation of glibc-templates.po to Ukrainian +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans# +# Developers do not need to manually edit POT or PO files. +# Eugeniy Meshcheryakov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: glibc-templates_uk\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2003-11-01 23:07-0500\n" +"PO-Revision-Date: 2004-03-02 21:57+0200\n" +"Last-Translator: Eugeniy Meshcheryakov \n" +"Language-Team: Ukrainian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0.2\n" + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "Select locales to be generated." +msgstr "Вкажіть Ñкі локалі потрібно згенерувати." + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Locale is a framework to switch between multiple languages for users who can " +"select to use their language, country, characters, collation order, etc." +msgstr "" +"Локаль -- це механізм, що дозволÑÑ” перемикатиÑÑ Ð¼Ñ–Ð¶ кількома мовами Ð´Ð»Ñ " +"кориÑтувачів, Ñкі можуть викориÑтовувати Ñвою мову, країну, Ñимволи порÑдок " +"ÑÐ¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ– Ñ‚.п." + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Choose which locales to generate. The selection will be saved to `/etc/" +"locale.gen', which you can also edit manually (you need to run `locale-gen' " +"afterwards)." +msgstr "" +"Вкажіть, Ñкі локалі потрібно Ñтворити. Ваш вибір буде збережений у файлі \"/" +"etc/locale.gen\", Ñкий ви також можете редагувати вручну (піÑÐ»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ " +"потрібно запуÑкати \"locale-gen\")." + +#. Type: select +#. Choices +#: ../debhelper.in/locales.templates:14 +msgid "None, ${locales}" +msgstr "Ðе вÑтановлювати, ${locales}" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "Which locale should be the default in the system environment?" +msgstr "Яка локаль повинна бути локаллю за замовчаннÑм в ÑиÑтемному оточенні?" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Many packages in Debian use locales to display text in the correct language " +"for users. You can change the default locale if you're not a native English " +"speaker. These choices are based on which locales you have chosen to " +"generate." +msgstr "" +"Ð’ Debian багато пакунків викориÑтовують локалі Ð´Ð»Ñ Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ñ‚ÐµÐºÑту на " +"вибраній кориÑтувачем мові. Якщо ваша рідна мова не англійÑька, то ви можете " +"змінити локаль за замовчаннÑм. СпиÑок Ñкладений із локалей Ñкі ви вирішили " +"згенерувати." + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Note: This will select the language for your whole system. If you're running " +"a multi-user system where not all of your users speak the language of your " +"choice, then they will run into difficulties and you might want not to set a " +"default locale." +msgstr "" +"Примітка: цей пункт вибирає мову Ð´Ð»Ñ Ð²Ñієї ÑиÑтеми. Якщо в вашій ÑиÑтемі " +"працюють декілька кориÑтувачів, Ñкі не розмовлÑÑŽÑ‚ÑŒ мовою, Ñку ви вибрали, то " +"вони можуть зіткнутиÑÑ Ñ–Ð· труднощами, Ñ– тому, можливо, вам краще не " +"вÑтановлювати локаль за замовчаннÑм." --- glibc-2.3.6.orig/debian/po/vi.po +++ glibc-2.3.6/debian/po/vi.po @@ -0,0 +1,72 @@ +# Vietnamese Translation for glibc. +# Copyright © 2005 Free Software Foundation, Inc. +# Clytie Siddall , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: glibc 2.3.2.ds1-22\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2003-11-01 23:07-0500\n" +"PO-Revision-Date: 2005-06-03 21:18+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0\n" + +#.Type: multiselect +#.Description +#:../debhelper.in/locales.templates:4 +msgid "Select locales to be generated." +msgstr "Hãy chá»n những miá»n địa phÆ°Æ¡ng cần tạo ra." + +#.Type: multiselect +#.Description +#:../debhelper.in/locales.templates:4 +msgid "" +"Locale is a framework to switch between multiple languages for users who can " +"select to use their language, country, characters, collation order, etc." +msgstr "Miá»n địa phÆ°Æ¡ng (locale) là má»™t khuôn khổ để chuyển đổi giữa nhiá»u ngôn ngữ cho những ngÆ°á»i dùng có thể chá»n dùng ngôn ngữ, quốc gia, ký tá»±, thứ tá»± sắp xếp v.v. của mình." + +#.Type: multiselect +#.Description +#:../debhelper.in/locales.templates:4 +msgid "" +"Choose which locales to generate. The selection will be saved to `/etc/" +"locale.gen', which you can also edit manually (you need to run `locale-gen' " +"afterwards)." +msgstr "Hãy chá»n tạo ra những miá»n địa phÆ°Æ¡ng nào. Cách lá»±a chá»n sẽ được lÆ°u vào tập tin «/etc/" +"locale.gen», mà bạn cÅ©ng có thể tá»± sá»­a đổi (vá»›i Ä‘iá»u kiện là bạn chạy lệnh «locale-gen» sau đó)." + +#.Type: select +#.Choices +#:../debhelper.in/locales.templates:14 +msgid "None, ${locales}" +msgstr "Không có, ${locales}" + +#.Type: select +#.Description +#:../debhelper.in/locales.templates:16 +msgid "Which locale should be the default in the system environment?" +msgstr "Miá»n địa phÆ°Æ¡ng nào nên là mặc định trong môi trÆ°á»ng hệ thống?" + +#.Type: select +#.Description +#:../debhelper.in/locales.templates:16 +msgid "" +"Many packages in Debian use locales to display text in the correct language " +"for users. You can change the default locale if you're not a native English " +"speaker. These choices are based on which locales you have chosen to " +"generate." +msgstr "Nhiá»u gói tin trong Debian dùng miá»n địa phÆ°Æ¡ng để hiển thị chữ bằng ngôn ngữ đúng cho ngÆ°á»i dùng. Bạn có thể thay đổi miá»n địa phÆ°Æ¡ng mặc định, nếu bạn không phải muốn dùng tiếng Anh. Những tùy chá»n này Ä‘á»±a vào những miá»n địa phÆ°Æ¡ng mà bạn đã chá»n tạo ra." + +#.Type: select +#.Description +#:../debhelper.in/locales.templates:16 +msgid "" +"Note: This will select the language for your whole system. If you're running " +"a multi-user system where not all of your users speak the language of your " +"choice, then they will run into difficulties and you might want not to set a " +"default locale." +msgstr "Ghi chú: hành Ä‘á»™ng này sẽ chá»n ngôn ngữ cho toàn hệ thống. Nếu bạn Ä‘ang chạy má»™t hệ thông Ä‘a ngÆ°á»i dùng mà không phải má»i ngÆ°á»i dùng nói ngôn ngữ bạn muốn chá»n ở đây, thì há» sẽ gặp khó khăn: trong trÆ°á»ng hợp ấy, có lẽ bạn không muốn đặt má»™t miá»n địa phÆ°Æ¡ng mặc định." --- glibc-2.3.6.orig/debian/po/zh_CN.po +++ glibc-2.3.6/debian/po/zh_CN.po @@ -0,0 +1,92 @@ +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +# Hiei Xu , 2004. +# Carlos Z.F. Liu , 2004. +# +# +msgid "" +msgstr "" +"Project-Id-Version: glibc 2.3.2.ds1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2003-11-01 23:07-0500\n" +"PO-Revision-Date: 2004-02-10 04:25+1300\n" +"Last-Translator: Hiei Xu \n" +"Language-Team: Chinese/Simplified \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "Select locales to be generated." +msgstr "请选择需è¦ç”Ÿæˆçš„区域设置(locale)。" + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Locale is a framework to switch between multiple languages for users who can " +"select to use their language, country, characters, collation order, etc." +msgstr "" +"区域设置(locale)是一ç§åœ¨å¤šç§è¯­è¨€ä¹‹é—´åˆ‡æ¢çš„框架,用户å¯ä»¥é€šè¿‡å®ƒæ¥è®¾å®šè‡ªå·±çš„语" +"言ã€å›½å®¶ã€å­—符集ã€å­—符串排åºæ–¹å¼ç­‰ã€‚" + +#. Type: multiselect +#. Description +#: ../debhelper.in/locales.templates:4 +msgid "" +"Choose which locales to generate. The selection will be saved to `/etc/" +"locale.gen', which you can also edit manually (you need to run `locale-gen' " +"afterwards)." +msgstr "" +"请选择需è¦ç”Ÿæˆçš„区域设置(locale)。选择结果将被ä¿å­˜åœ¨â€œ/etc/locale.genâ€ï¼Œæ‚¨å¯ä»¥" +"对其进行手工编辑(您需è¦åœ¨ç¼–辑结æŸåŽè¿è¡Œâ€œlocale-genâ€)。" + +#. Type: select +#. Choices +#: ../debhelper.in/locales.templates:14 +msgid "None, ${locales}" +msgstr "æ— , ${locales}" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "Which locale should be the default in the system environment?" +msgstr "哪个将作为系统环境默认的区域设置(locale)?" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Many packages in Debian use locales to display text in the correct language " +"for users. You can change the default locale if you're not a native English " +"speaker. These choices are based on which locales you have chosen to " +"generate." +msgstr "" +"Debian 里的很多软件包都使用区域设置(locale)æ¥ä»¥æ­£ç¡®çš„语言å‘用户显示文本。如果" +"您ä¸æ˜¯ä»¥è‹±è¯­ä¸ºæ¯è¯­ï¼Œä¹Ÿå¯ä»¥æ”¹å˜é»˜è®¤çš„区域设置(locale)。但您åªèƒ½åœ¨è¦ç”Ÿæˆçš„区域" +"设置(locale)中选择其一。" + +#. Type: select +#. Description +#: ../debhelper.in/locales.templates:16 +msgid "" +"Note: This will select the language for your whole system. If you're running " +"a multi-user system where not all of your users speak the language of your " +"choice, then they will run into difficulties and you might want not to set a " +"default locale." +msgstr "" +"注æ„:这将会把整个系统都设置为这ç§è¯­è¨€ã€‚如果您è¿è¡Œçš„是一个多用户系统,而且并" +"ä¸æ˜¯ç³»ç»Ÿå†…的所有用户都使用您选择的语言,那么他们将会é‡åˆ°ä¸€äº›éº»çƒ¦ã€‚或许您ä¸æƒ³" +"设置一个默认的区域设置(locale)。" --- glibc-2.3.6.orig/debian/rules +++ glibc-2.3.6/debian/rules @@ -0,0 +1,184 @@ +#! /usr/bin/make -f +# -*- makefile -*- +# debian/rules file for GNU libc. +# Copyright 1998, 1999 by Joel Klecker +# Copyright 2000 Ben Collins +# Copyright 2003 Jeff Bailey +# This Makefile is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +# What are the phases to building glibc? + +# Unpack main tarball +# Do any necessary overlays +# Apply patches +# Determine how many builds there are to do. For Each build: + +# Create build directory +# Configure +# Build +# Test as desired +# Install to package directories + +# Run debian magic to build packages. + +# Things you may need to customise: + +# These are done as absolute paths so that in the case of filesystem size +# limitations, they can be overridden and spread all over. +build-tree := build-tree +stamp := $(CURDIR)/stamp-dir/ +DUMMY := $(shell mkdir -p $(stamp)) + +# The minimum package version with which these packages are compatible. +include debian/shlibver +shlib_dep = $(libc) (>= $(shlib_dep_ver)) + +# The version of the C library that locales needs for its format. +include debian/locales-depver + +# Beyond here you shouldn't need to customise anything: + +SHELL ?= =/bin/sh -e +DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) +DEB_HOST_GNU_CPU ?= $(shell dpkg-architecture -qDEB_HOST_GNU_CPU) +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS) +DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH) +DEB_BUILD_GNU_CPU ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_CPU) +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +DEB_BUILD_GNU_SYSTEM ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_SYSTEM) + +DEB_HOST_GNU_CPU_ALT ?= +DEB_HOST_GNU_TYPE_ALT ?= + +DEB_SOURCE_PACKAGE := $(strip $(shell egrep '^Source: ' debian/control | cut -f 2 -d ':')) + +DEB_VERSION := $(shell dpkg-parsechangelog | egrep '^Version:' | cut -f 2 -d ' ') + +DEB_TARBALL ?= $(shell ls glibc-[0-9.]*.tar.*) + +DEB_SRCDIR ?= $(shell ls -d $(build-tree)/glibc-*) +DEB_BUILDDIR ?= $(build-tree)/$(DEB_HOST_ARCH)-$(curpass) + +# The kernel uses different CPU appreviations (uname output) than the GNU +# tools do (config.sub). Map them. +KERNEL_HOST_CPU := $(subst powerpc,ppc,$(DEB_HOST_GNU_CPU)) + +# How many makes to run at once? +NJOBS = 1 + +# Default setup +GLIBC_PASSES ?= libc + +prefix=/usr +bindir=$(prefix)/bin +datadir=$(prefix)/share +includedir=$(prefix)/include +infodir=$(prefix)/share/info +libdir=$(prefix)/lib +docdir=$(prefix)/share/doc +mandir=$(prefix)/share/man +sbindir=$(prefix)/sbin +libexecdir=$(prefix)/lib + +BUILD_CC = gcc-3.4 +BUILD_CXX = g++-4.0 + +RUN_TESTSUITE = yes + +# Set CC for cross-compiling +ifneq ($(DEB_HOST_ARCH),$(DEB_BUILD_ARCH)) +CC = $(DEB_HOST_GNU_TYPE)-gcc +else +CC = $(BUILD_CC) +endif +# +# Set CXX for cross-compiling +ifneq ($(DEB_HOST_ARCH),$(DEB_BUILD_ARCH)) +CXX = $(DEB_HOST_GNU_TYPE)-g++ +else +CXX = $(BUILD_CXX) +endif + +BUILD_CFLAGS = -O2 -g +HOST_CFLAGS = -pipe -O2 -fstrict-aliasing -g $(call xx,extra_cflags) + +configure_target := $(DEB_HOST_GNU_TYPE) + +# Normally we'll just use this for --build. If the architecture requires +# that build daemons be able to run a particular optimized library, then +# they can set the --build to match --host for that optimized build. +# Among other things this lets tests run. +configure_build := $(DEB_BUILD_GNU_TYPE) + +ifneq ($(NO_LOG),yes) +log_build = $(CURDIR)/log-build-$(call xx,configure_target)-$(curpass) +log_test = $(CURDIR)/log-test-$(call xx,configure_target)-$(curpass) +else +log_build := /dev/tty +log_test := /dev/tty +endif + +# Which build pass are we on? +curpass = $(filter-out %_,$(subst _,_ ,$@)) + +DEB_ARCH_REGULAR_PACKAGES = $(libc) $(libc)-dev $(libc)-dbg $(libc)-prof $(libc)-pic +DEB_INDEP_REGULAR_PACKAGES = glibc-doc +DEB_UDEB_PACKAGES = $(libc)-udeb libnss-dns-udeb libnss-files-udeb zoneinfo-udeb +DEB_INIT_PARAMS_nscd = -- defaults 09 91 + +# Generic kernel version check +define kernel_check +(if [ $(CURRENT_KERNEL_VERSION) -lt $(1) ]; then \ + false; \ +fi) +endef + +# Include libidn for both NPTL and LinuxThreads targets. +standard-add-ons = libidn, + +# Pull in all the per-arch magic! + +-include debian/sysdeps/$(DEB_HOST_ARCH_OS).mk +-include debian/sysdeps/$(DEB_HOST_ARCH).mk + +include debian/sysdeps/depflags.mk + +# Don't run dh_strip on this package +NOSTRIP_$(libc)-dbg = 1 + +ifeq ($(threads),yes) +DEB_ARCH_REGULAR_PACKAGES += nscd +endif + +# And now the rules... +include debian/rules.d/*.mk + +clean:: debhelper-clean + rm -rf $(patsubst %,debian/tmp-%,$(GLIBC_PASSES)) + rm -rf $(build-tree) + rm -rf $(stamp) + rm -f log-* + rm -rf debian/include + +# Required Debian targets +binary-indep: build testroot debian/control $(build-tree) \ + $(patsubst %,$(stamp)install_%,$(GLIBC_PASSES)) \ + $(patsubst %,$(stamp)binaryinst_%,$(DEB_INDEP_REGULAR_PACKAGES)) +# NOTE: Putting install_ stamps before binaryinst_ stamps in the list is the +# wrong way to represent dependencies. Fix this. +binary-arch: build testroot debian/control $(build-tree) \ + $(patsubst %,$(stamp)install_%,$(GLIBC_PASSES)) \ + $(patsubst %,$(stamp)binaryinst_%,$(DEB_ARCH_REGULAR_PACKAGES)) \ + $(patsubst %,$(stamp)binaryinst_%,$(DEB_UDEB_PACKAGES)) + +binary: binary-indep binary-arch + +build: $(patsubst %,$(stamp)build_%,$(GLIBC_PASSES)) \ + $(patsubst %,$(stamp)check_%,$(GLIBC_PASSES)) + +testroot: + dh_testroot --- glibc-2.3.6.orig/debian/README +++ glibc-2.3.6/debian/README @@ -0,0 +1,37 @@ +This directory contains the files needed to build glibc for the Debian +GNU/Linux and GNU/Hurd distributions. + +If you have pulled this version from CVS, you will probably need to go +and get the tar.bz2 files that match the file 'version'. You can +generally find these at sources.redhat.com in pub/libc. Put both the +regular glibc tar.bz2 *AND* the matching linuxthreads tar.bz2. After +that follow the usual build procedures. + +Compiling the GNU C library yourself requires a lot of resources. For +a complete build using dpkg-buildpackage you need at least 750MB free +disk space and at least 16MB of RAM and 32MB of swap space (if you +have only that much you're better off not running X at the same +time). Note that the C library on the Hurd is also somewhat larger: +you'll need over 800MB of free disk space to build Hurdish packages. + +A complete build takes 45 minutes on a Pentium III 735Mhz machine, and +25 minutes to run the test suite. The cause for this is the intricate +Makefile structure of glibc which needs a lot of computing power for +make to figure out the automatically generated dependencies. If you +are building all of the optimized libraries for the IA32 family, allow +2.5 hours for this build. + +For Linux, you will need at least the kernel headers for the specific +kernel version required for your machine's architecture. These are +specified in the `debian/sysdeps/linux.mk' file, and can be overridden +by exporting the environment variable LINUX_SOURCE set to the path to +the desired kernel. + +For the Hurd, you will need to have installed the GNU Mach and Hurd +header files (which come with the `gnumach-dev' and `hurd-dev' +packages). See the Hurd source package's `INSTALL' file for more +information. + +Please consider reading the `FAQ' file in this directory. It is also +suggested that you also read the `README' and `INSTALL' files in the +top-level of the glibc source tree. --- glibc-2.3.6.orig/debian/control +++ glibc-2.3.6/debian/control @@ -0,0 +1,567 @@ +Source: glibc +Section: libs +Priority: required +Build-Depends: gettext (>= 0.10.37-1), make (>= 3.80-1), dpkg-dev (>= 1.4.1.5), debianutils (>= 1.13.1), tar (>= 1.13.11), bzip2, texinfo (>= 4.0), linux-kernel-headers (>= 2.6.11.2-0) [!hurd-i386], mig (>= 1.3-2) [hurd-i386], hurd-dev (>= 20020608-1) [hurd-i386], gnumach-dev [hurd-i386], texi2html, file, gcc-3.4 [!ia64 !powerpc], gcc-3.4 (>= 3.4.3-6ubuntu1) [ia64], gcc-3.4 (>= 3.4.4-0ubuntu4) [powerpc], g++-4.0, autoconf, binutils (>= 2.16.1-0), sed (>= 4.0.5-4), gawk, debhelper (>= 5.0.0), libc6-dev-ppc64 [powerpc], libc6-dev-amd64 [i386], libc6-dev-i386 [amd64] +Build-Depends-Indep: perl, po-debconf +Maintainer: GNU Libc Maintainers +Uploaders: Ben Collins , GOTO Masanori , Philip Blundell , Jeff Bailey , Daniel Jacobowitz +Standards-Version: 3.6.1.0 + +Package: glibc-doc +Architecture: all +Section: doc +Priority: optional +Conflicts: libc-doc, libc6-doc, glibcdoc +Replaces: libc-doc, libc6-doc, glibcdoc +Provides: libc-doc +Description: GNU C Library: Documentation + Contains The GNU C Library Reference manual in info and html format as + well as man pages for libpthread functions. Also included is the complete + GNU C Library ChangeLog. + +Package: nscd +Architecture: alpha amd64 arm armeb i386 m68k mips mipsel powerpc sparc ia64 hppa s390 sh3 sh4 sh3eb sh4eb freebsd-i386 +Section: admin +Priority: optional +Depends: libc6 (>= ${Source-Version}) +Replaces: libc6 (<< 2.1-4) +Description: GNU C Library: Name Service Cache Daemon + A daemon which handles passwd, group and host lookups + for running programs and caches the results for the next + query. You should install this package only if you use + slow Services like LDAP, NIS or NIS+ + +Package: libc6 +Architecture: amd64 arm armeb i386 m68k mips mipsel powerpc sparc s390 hppa sh3 sh4 sh3eb sh4eb +Section: libs +Priority: required +Provides: ${locale:Depends} +Description: GNU C Library: Shared libraries and Timezone data + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C library + and the standard math library, as well as many others. + Timezone data is also included. + +Package: libc6-dev +Architecture: amd64 arm armeb i386 m68k mips mipsel powerpc sparc s390 hppa sh3 sh4 sh3eb sh4eb +Section: libdevel +Priority: standard +Depends: libc6 (= ${Source-Version}) +Recommends: gcc | c-compiler +Description: GNU C Library: Development Libraries and Header Files + Contains the symlinks, headers, and object files needed to compile + and link programs which use the standard C library. + +Package: libc6-dbg +Architecture: amd64 arm armeb i386 m68k mips mipsel powerpc sparc s390 hppa sh3 sh4 sh3eb sh4eb +Section: libdevel +Priority: extra +Provides: libc-dbg +Depends: libc6 (= ${Source-Version}) +Description: GNU C Library: Libraries with debugging symbols + Contains unstripped shared libraries. + This package is provided primarily to provide a backtrace with + names in a debugger, this makes it somewhat easier to interpret core + dumps. The libraries are installed in /usr/lib/debug and can be + used by placing that directory in LD_LIBRARY_PATH. + Most people will not need this package. + +Package: libc6-prof +Architecture: amd64 arm armeb i386 m68k mips mipsel powerpc sparc s390 hppa sh3 sh4 sh3eb sh4eb +Section: libdevel +Priority: extra +Depends: libc6 (= ${Source-Version}) +Description: GNU C Library: Profiling Libraries + Static libraries compiled with profiling info (-pg) suitable for use + with gprof. + +Package: libc6-pic +Architecture: amd64 arm armeb i386 m68k mips mipsel powerpc sparc s390 hppa sh3 sh4 sh3eb sh4eb +Section: libdevel +Priority: optional +Conflicts: libc-pic +Provides: libc-pic, glibc-pic +Depends: libc6 (= ${Source-Version}) +Description: GNU C Library: PIC archive library + Contains an archive library (ar file) composed of individual shared objects. + This is used for creating a library which is a smaller subset of the + standard libc shared library. The reduced library is used on the Debian + boot floppies. If you are not making your own set of Debian boot floppies + using the `boot-floppies' package, you probably don't need this package. + +Package: libc6-udeb +XC-Package-Type: udeb +Architecture: amd64 arm armeb i386 m68k mips mipsel powerpc sparc s390 hppa sh3 sh4 sh3eb sh4eb +Section: debian-installer +Priority: extra +Provides: libc6, libc-udeb, ${locale:Depends} +Depends: libnss-dns-udeb, libnss-files-udeb +Description: GNU C Library: Shared libraries - udeb + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C library + and the standard math library, as well as many others. + . + This package contains a minimal set of libraries needed for the Debian + installer. Do not install it on a normal system. + +Package: libc6.1 +Architecture: alpha ia64 +Section: libs +Priority: required +Provides: ${locale:Depends} +Description: GNU C Library: Shared libraries and Timezone data + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C library + and the standard math library, as well as many others. + Timezone data is also included. + +Package: libc6.1-dev +Architecture: alpha ia64 +Section: libdevel +Priority: standard +Depends: libc6.1 (= ${Source-Version}) +Recommends: gcc | c-compiler +Description: GNU C Library: Development Libraries and Header Files + Contains the symlinks, headers, and object files needed to compile + and link programs which use the standard C library. + +Package: libc6.1-dbg +Architecture: alpha ia64 +Section: libdevel +Priority: extra +Provides: libc-dbg +Depends: libc6.1 (= ${Source-Version}) +Description: GNU C Library: Libraries with debugging symbols + Contains unstripped shared libraries. + This package is provided primarily to provide a backtrace with + names in a debugger, this makes it somewhat easier to interpret core + dumps. The libraries are installed in /usr/lib/debug and can be + used by placing that directory in LD_LIBRARY_PATH. + Most people will not need this package. + +Package: libc6.1-prof +Architecture: alpha ia64 +Section: libdevel +Priority: extra +Depends: libc6.1 (= ${Source-Version}) +Description: GNU C Library: Profiling Libraries + Static libraries compiled with profiling info (-pg) suitable for use + with gprof. + +Package: libc6.1-pic +Architecture: alpha ia64 +Section: libdevel +Priority: optional +Conflicts: libc-pic +Provides: libc-pic, glibc-pic +Depends: libc6.1 (= ${Source-Version}) +Description: GNU C Library: PIC archive library + Contains an archive library (ar file) composed of individual shared objects. + This is used for creating a library which is a smaller subset of the + standard libc shared library. The reduced library is used on the Debian + boot floppies. If you are not making your own set of Debian boot floppies + using the `boot-floppies' package, you probably don't need this package. + +Package: libc6.1-udeb +XC-Package-Type: udeb +Architecture: alpha ia64 +Section: debian-installer +Priority: extra +Provides: libc6.1, libc-udeb, ${locale:Depends} +Depends: libnss-dns-udeb, libnss-files-udeb +Description: GNU C Library: Shared libraries - udeb + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C library + and the standard math library, as well as many others. + . + This package contains a minimal set of libraries needed for the Debian + installer. Do not install it on a normal system. + +Package: libc0.3 +Architecture: hurd-i386 +Section: libs +Priority: required +Provides: ${locale:Depends} +Description: GNU C Library: Shared libraries and Timezone data + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C library + and the standard math library, as well as many others. + Timezone data is also included. + +Package: libc0.3-dev +Architecture: hurd-i386 +Section: libdevel +Priority: standard +Depends: libc0.3 (= ${Source-Version}) +Recommends: gcc | c-compiler +Description: GNU C Library: Development Libraries and Header Files + Contains the symlinks, headers, and object files needed to compile + and link programs which use the standard C library. + +Package: libc0.3-dbg +Architecture: hurd-i386 +Section: libdevel +Priority: extra +Provides: libc-dbg +Depends: libc0.3 (= ${Source-Version}) +Description: GNU C Library: Libraries with debugging symbols + Contains unstripped shared libraries. + This package is provided primarily to provide a backtrace with + names in a debugger, this makes it somewhat easier to interpret core + dumps. The libraries are installed in /usr/lib/debug and can be + used by placing that directory in LD_LIBRARY_PATH. + Most people will not need this package. + +Package: libc0.3-prof +Architecture: hurd-i386 +Section: libdevel +Priority: extra +Depends: libc0.3 (= ${Source-Version}) +Description: GNU C Library: Profiling Libraries + Static libraries compiled with profiling info (-pg) suitable for use + with gprof. + +Package: libc0.3-pic +Architecture: hurd-i386 +Section: libdevel +Priority: optional +Conflicts: libc-pic +Provides: libc-pic, glibc-pic +Depends: libc0.3 (= ${Source-Version}) +Description: GNU C Library: PIC archive library + Contains an archive library (ar file) composed of individual shared objects. + This is used for creating a library which is a smaller subset of the + standard libc shared library. The reduced library is used on the Debian + boot floppies. If you are not making your own set of Debian boot floppies + using the `boot-floppies' package, you probably don't need this package. + +Package: libc0.3-udeb +XC-Package-Type: udeb +Architecture: hurd-i386 +Section: debian-installer +Priority: extra +Provides: libc0.3, libc-udeb, ${locale:Depends} +Depends: libnss-dns-udeb, libnss-files-udeb +Description: GNU C Library: Shared libraries - udeb + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C library + and the standard math library, as well as many others. + . + This package contains a minimal set of libraries needed for the Debian + installer. Do not install it on a normal system. + +Package: libc1 +Architecture: freebsd-i386 +Section: libs +Priority: required +Provides: ${locale:Depends} +Description: GNU C Library: Shared libraries and Timezone data + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C library + and the standard math library, as well as many others. + Timezone data is also included. + +Package: libc1-dev +Architecture: freebsd-i386 +Section: libdevel +Priority: standard +Depends: libc1 (= ${Source-Version}) +Recommends: gcc | c-compiler +Description: GNU C Library: Development Libraries and Header Files + Contains the symlinks, headers, and object files needed to compile + and link programs which use the standard C library. + +Package: libc1-dbg +Architecture: freebsd-i386 +Section: libdevel +Priority: extra +Provides: libc-dbg +Depends: libc1 (= ${Source-Version}) +Description: GNU C Library: Libraries with debugging symbols + Contains unstripped shared libraries. + This package is provided primarily to provide a backtrace with + names in a debugger, this makes it somewhat easier to interpret core + dumps. The libraries are installed in /usr/lib/debug and can be + used by placing that directory in LD_LIBRARY_PATH. + Most people will not need this package. + +Package: libc1-prof +Architecture: freebsd-i386 +Section: libdevel +Priority: extra +Depends: libc1 (= ${Source-Version}) +Description: GNU C Library: Profiling Libraries + Static libraries compiled with profiling info (-pg) suitable for use + with gprof. + +Package: libc1-pic +Architecture: freebsd-i386 +Section: libdevel +Priority: optional +Conflicts: libc-pic +Provides: libc-pic, glibc-pic +Depends: libc1 (= ${Source-Version}) +Description: GNU C Library: PIC archive library + Contains an archive library (ar file) composed of individual shared objects. + This is used for creating a library which is a smaller subset of the + standard libc shared library. The reduced library is used on the Debian + boot floppies. If you are not making your own set of Debian boot floppies + using the `boot-floppies' package, you probably don't need this package. + +Package: libc1-udeb +XC-Package-Type: udeb +Architecture: freebsd-i386 +Section: debian-installer +Priority: extra +Provides: libc1, libc-udeb, ${locale:Depends} +Depends: libnss-dns-udeb, libnss-files-udeb +Description: GNU C Library: Shared libraries - udeb + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C library + and the standard math library, as well as many others. + . + This package contains a minimal set of libraries needed for the Debian + installer. Do not install it on a normal system. + +Package: libc6-sparc64 +Architecture: sparc +Section: base +Priority: required +Depends: libc6 (= ${Source-Version}), lib64gcc1 +Conflicts: gcc-3.0 (<< 1:3.0.4ds3-11), libgcc1 (<< 1:3.0.4ds3-11), fakeroot (<< 0.4.5-2.7) +Description: GNU C Library: 64bit Shared libraries for UltraSPARC + This package includes shared versions of the standard C library and the + standard math library, as well as many others. This is the 64bit version + of the library, meant for UltraSPARC systems. + +Package: libc6-dev-sparc64 +Architecture: sparc +Section: libdevel +Priority: standard +Depends: libc6-sparc64 (= ${Source-Version}), libc6-dev (= ${Source-Version}) +Description: GNU C Library: 64bit Development Libraries for UltraSPARC + Contains the symlinks and object files needed to compile and link programs + which use the standard C library. This is the 64bit version of the + library, meant for UltraSPARC systems. + + +Package: libc6-s390x +Architecture: s390 +Section: base +Priority: required +Depends: libc6 (= ${Source-Version}) +Description: GNU C Library: 64bit Shared libraries for IBM zSeries + This package includes shared versions of the standard C library and the + standard math library, as well as many others. This is the 64bit version + of the library, meant for zSeries systems. + +Package: libc6-dev-s390x +Architecture: s390 +Section: libdevel +Priority: standard +Depends: libc6-s390x (= ${Source-Version}), libc6-dev (= ${Source-Version}) +Description: GNU C Library: 64bit Development Libraries for IBM zSeries + Contains the symlinks and object files needed to compile and link programs + which use the standard C library. This is the 64bit version of the + library, meant for zSeries systems. + +Package: libc6-amd64 +Architecture: i386 +Section: libs +Priority: standard +Depends: libc6 (= ${Source-Version}), lib64gcc1 +Conflicts: amd64-libs (<= 1.2) +Description: GNU C Library: 64bit Shared libraries for AMD64 + This package includes shared versions of the standard C library and the + standard math library, as well as many others. This is the 64bit version + of the library, meant for AMD64 systems. + +Package: libc6-dev-amd64 +Architecture: i386 +Section: libdevel +Priority: optional +Depends: libc6-amd64 (= ${Source-Version}), libc6-dev (= ${Source-Version}) +Replaces: amd64-libs-dev (<= 1.2) +Provides: lib64c-dev +Description: GNU C Library: 64bit Development Libraries for AMD64 + Contains the symlinks and object files needed to compile and link programs + which use the standard C library. This is the 64bit version of the + library, meant for AMD64 systems. + +Package: libc6-ppc64 +Architecture: powerpc +Section: base +Priority: required +Depends: libc6 (= ${Source-Version}), lib64gcc1 +Description: GNU C Library: 64bit Shared libraries for PowerPC + This package includes shared versions of the standard C library and the + standard math library, as well as many others. This is the 64bit version + of the library, meant for PowerPC systems. + +Package: libc6-dev-ppc64 +Architecture: powerpc +Section: libdevel +Priority: standard +Depends: libc6-ppc64 (= ${Source-Version}), libc6-dev (= ${Source-Version}) +Description: GNU C Library: 64bit Development Libraries for PowerPC + Contains the symlinks and object files needed to compile and link programs + which use the standard C library. This is the 64bit version of the + library, meant for PowerPC systems. + +Package: libc6-i386 +Architecture: amd64 +Section: base +Priority: required +Replaces: ia32-libs (<= 1.4ubuntu4) +Depends: libc6 (= ${Source-Version}), lib32gcc1 +Description: GNU C Library: 32bit Shared libraries for amd64 + This package includes shared versions of the standard C library and the + standard math library, as well as many others. This is the 32bit version + of the library, meant for amd64 systems. + +Package: libc6-dev-i386 +Architecture: amd64 +Section: libdevel +Priority: standard +Replaces: ia32-libs-dev (<= 1.4ubuntu4) +Depends: libc6-i386 (= ${Source-Version}), libc6-dev (= ${Source-Version}) +Description: GNU C Library: 32bit Development Libraries for amd64 + Contains the symlinks and object files needed to compile and link programs + which use the standard C library. This is the 32bit version of the + library, meant for amd64 systems. + +Package: libc6-sparcv9b +Architecture: sparc +Section: libs +Priority: extra +Pre-Depends: libc6 (= ${Source-Version}) +Description: GNU C Library: Shared libraries [v9b optimized] + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C + library and the standard math library, as well as many others. + . + This set of libraries is optimized for UltraSPARC-III and derivative + processors. It only needs to be installed on machines using + UltraSPARC-III and derivatives. If you install this on a machine without + such chips, it won't even be used. + . + WARNING: Some commercial programs do not work well with these libraries. + Most notably, IBM's JDK. If you experience problems with such + applications, you will need to remove this package. + +Package: libc6-sparcv9v +Architecture: sparc +Section: libs +Priority: extra +Pre-Depends: libc6 (= ${Source-Version}) +Description: GNU C Library: Shared libraries [v9v optimized] + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C + library and the standard math library, as well as many others. + . + This set of libraries is optimized for SUN4V Niagara and derivative + processors. It only needs to be installed on machines using + SUN4V Niagara and derivatives. If you install this on a machine without + such chips, it won't even be used. + . + WARNING: Some commercial programs do not work well with these libraries. + Most notably, IBM's JDK. If you experience problems with such + applications, you will need to remove this package. + +Package: libc6-sparc64b +Architecture: sparc +Section: base +Priority: extra +Depends: libc6 (= ${Source-Version}), lib64gcc1 +Conflicts: gcc-3.0 (<< 1:3.0.4ds3-11), libgcc1 (<< 1:3.0.4ds3-11), fakeroot (<< 0.4.5-2.7) +Description: GNU C Library: 64bit Shared libraries for UltraSPARC [v9b optimized] + This package includes shared versions of the standard C library and the + standard math library, as well as many others. This is the 64bit version + of the library, meant for UltraSPARC systems. + . + This set of libraries is optimized for UltraSPARC-III and derivative + processors. It only needs to be installed on machines using + UltraSPARC-III and derivatives. If you install this on a machine without + such chips, it won't even be used. + . + WARNING: Some commercial programs do not work well with these libraries. + Most notably, IBM's JDK. If you experience problems with such + applications, you will need to remove this package. + +Package: libc6-sparc64v +Architecture: sparc +Section: base +Priority: extra +Depends: libc6 (= ${Source-Version}), lib64gcc1 +Conflicts: gcc-3.0 (<< 1:3.0.4ds3-11), libgcc1 (<< 1:3.0.4ds3-11), fakeroot (<< 0.4.5-2.7) +Description: GNU C Library: 64bit Shared libraries for UltraSPARC [v9v optimized] + This package includes shared versions of the standard C library and the + standard math library, as well as many others. This is the 64bit version + of the library, meant for UltraSPARC systems. + . + This set of libraries is optimized for SUN4V Niagara and derivative + processors. It only needs to be installed on machines using + SUN4V Niagara and derivatives. If you install this on a machine without + such chips, it won't even be used. + . + WARNING: Some commercial programs do not work well with these libraries. + Most notably, IBM's JDK. If you experience problems with such + applications, you will need to remove this package. + +Package: libc6-i686 +Architecture: i386 +Section: libs +Priority: extra +Pre-Depends: libc6 (= ${Source-Version}) +Description: GNU C Library: Shared libraries [i686 optimized] + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C + library and the standard math library, as well as many others. + . + This set of libraries is optimized for i686 machines, and will only be + used if you are running a 2.6 kernel on an i686 class CPU (check the + output of `uname -m'). This includes Pentium Pro, Pentium II/III/IV, + Celeron CPU's and similar class CPU's (including clones such as AMD + Athlon/Opteron, VIA C3 Nehemiah, but not VIA C3 Ezla). + . + This package includes support for NPTL. + . + WARNING: Some third-party binaries may not work well with these libraries. + Most notably, IBM's JDK. If you experience problems with such + applications, you will need to remove this package. + +Package: libnss-dns-udeb +XC-Package-Type: udeb +Architecture: any +Section: debian-installer +Priority: extra +Description: GNU C Library: NSS helper for DNS - udeb + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C library + and the standard math library, as well as many others. + . + This package contains the DNS NSS helper needed for the Debian installer. + Do not install it on a normal system. + +Package: libnss-files-udeb +XC-Package-Type: udeb +Architecture: any +Section: debian-installer +Priority: extra +Description: GNU C Library: NSS helper for files - udeb + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C library + and the standard math library, as well as many others. + . + This package contains the files NSS helper needed for the Debian installer. + Do not install it on a normal system. + +Package: zoneinfo-udeb +XC-Package-Type: udeb +Architecture: all +Section: debian-installer +Priority: extra +Description: GNU C Library: Time zone information tables - udeb + Contains time zone information tables for use in the installer. Do not + install this package on a normal system. + --- glibc-2.3.6.orig/debian/compat +++ glibc-2.3.6/debian/compat @@ -0,0 +1 @@ +5 --- glibc-2.3.6.orig/debian/copyright +++ glibc-2.3.6/debian/copyright @@ -0,0 +1,179 @@ +This is the Debian prepackaged version of the GNU C Library version +2.3.x + +It was put together by the GNU Libc Maintainers +from the following sources: + + + + +Copyright (C) 1991,92,93,94,95,96,97,98,99,2000,2001,2002,2003 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. + +On Debian systems, the complete text of the GNU Library +General Public License can be found in `/usr/share/common-licenses/LGPL-2.1'. + +The following applies to the GNU C Library Reference Manual (libc.info): + + Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003 Free + Software Foundation, Inc. + + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.1 or + any later version published by the Free Software Foundation; with the + Invariant Sections being "Free Software Needs Free Documentation" and + "GNU Lesser General Public License", the Front-Cover texts being (a) + (see below), and with the Back-Cover Texts being (b) (see below). A + copy of the license is included in the section entitled "GNU Free + Documentation License". + +Additional Details (the following is taken from `info libc +Contributors' which also contains a list of credits): + + All code incorporated from 4.4 BSD is under the following + copyright: + + Copyright (C) 1991 Regents of the University of California. + All rights reserved. + + Redistribution and use in source and binary forms, with or + without modification, are permitted provided that the + following conditions are met: + + 1. Redistributions of source code must retain the above + copyright notice, this list of conditions and the + following disclaimer. + + 2. Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the + following disclaimer in the documentation and/or other + materials provided with the distribution. + + 3. Neither the name of the University nor the names of its + contributors may be used to endorse or promote products + derived from this software without specific prior + written permission. + + THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + OF SUCH DAMAGE. + + * The random number generation functions `random', `srandom', + `setstate' and `initstate', which are also the basis for the + `rand' and `srand' functions, were written by Earl T. Cohen for + the University of California at Berkeley and are copyrighted by the + Regents of the University of California. They have undergone minor + changes to fit into the GNU C library and to fit the ISO C + standard, but the functional code is Berkeley's. + + * The Internet resolver code is taken directly from BIND 4.9.5, + which is under both the Berkeley copyright above and also: + + Portions Copyright (C) 1993 by Digital Equipment Corporation. + + Permission to use, copy, modify, and distribute this software + for any purpose with or without fee is hereby granted, + provided that the above copyright notice and this permission + notice appear in all copies, and that the name of Digital + Equipment Corporation not be used in advertising or publicity + pertaining to distribution of the document or software + without specific, written prior permission. + + THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. + DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT CORPORATION BE + LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE + OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + * The code to support Sun RPC is taken verbatim from Sun's + RPCSRC-4.0 distribution, and is covered by this copyright: + + Copyright (C) 1984, Sun Microsystems, Inc. + + Sun RPC is a product of Sun Microsystems, Inc. and is + provided for unrestricted use provided that this legend is + included on all tape media and as a part of the software + program in whole or part. Users may copy or modify Sun RPC + without charge, but are not authorized to license or + distribute it to anyone else except as part of a product or + program developed by the user. + + SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND + INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND + FITNESS FOR A PARTICULAR PURPOSE, OR ARISING FROM A COURSE OF + DEALING, USAGE OR TRADE PRACTICE. + + Sun RPC is provided with no support and without any + obligation on the part of Sun Microsystems, Inc. to assist in + its use, correction, modification or enhancement. + + SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT + TO THE INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY + PATENTS BY SUN RPC OR ANY PART THEREOF. + + In no event will Sun Microsystems, Inc. be liable for any + lost revenue or profits or other special, indirect and + consequential damages, even if Sun has been advised of the + possibility of such damages. + + Sun Microsystems, Inc. + 2550 Garcia Avenue + Mountain View, California 94043 + + * Some of the support code for Mach is taken from Mach 3.0 by CMU, + and is under the following copyright terms: + + Mach Operating System + Copyright (C) 1991,1990,1989 Carnegie Mellon University + All Rights Reserved. + + Permission to use, copy, modify and distribute this software + and its documentation is hereby granted, provided that both + the copyright notice and this permission notice appear in all + copies of the software, derivative works or modified + versions, and any portions thereof, and that both notices + appear in supporting documentation. + + CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS + IS" CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF + ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF + THIS SOFTWARE. + + Carnegie Mellon requests users of this software to return to + + Software Distribution Coordinator + School of Computer Science + Carnegie Mellon University + Pittsburgh PA 15213-3890 + + or any improvements or + extensions that they make and grant Carnegie Mellon the + rights to redistribute these changes. --- glibc-2.3.6.orig/debian/generate-supported.mk +++ glibc-2.3.6/debian/generate-supported.mk @@ -0,0 +1,11 @@ +#!/usr/bin/make + +include $(IN) + +all: + rm -f $(OUT) + touch $(OUT) + for locale in $(SUPPORTED-LOCALES); do \ + [ $$locale = true ] && continue; \ + echo $$locale | sed 's,/, ,' >> $(OUT); \ + done --- glibc-2.3.6.orig/debian/TODO +++ glibc-2.3.6/debian/TODO @@ -0,0 +1,41 @@ +Outstanding concerns +==================== + + - no entry + +TODO +==== + +* General: + + - Make sure that prep.sh and version aren't in the root of the source + package. + +* libc: + - Only add some libraries to the optimized packages and to /lib/tls, + instead of all of them? + - Add patch to display (or ignore) linux-gate.so.1 in ldd. + - Check dpkg-shlibdeps for linux-gate.so.1 handling. + - Don't do make install for libc6-i686 if we aren't going to use the + results - it's very slow. We may need to make install for nptl to + get the few headers that differ. + - Fix /usr/sbin/tzconfig to take a parameter. Right now we set the links + by hand in libc.postinst in the noninteractive case, but it would be + better if the tool could just do everything for us. + - Add alpha EV67 opt package support (#229251). + +* libc-dev: + + - What do we do for headers on 32/64 systems? Do we generate + #if wrappers for /usr/include? This looks like a non-issue since + only asm needs it. + - -dev support for library variants like nptl? 64-bit libraries are + covered. + +* locales: + + - locales debconf template is a bit difficult for newbie users. + Using localedata/locales/*, it can be readable. For example, + "ja_JP" -> "Japanese", "Japan". + + --- glibc-2.3.6.orig/debian/FAQ +++ glibc-2.3.6/debian/FAQ @@ -0,0 +1,124 @@ +Q1: Why does the Debian libc6-dev package create /usr/include/linux and +/usr/include/asm directories containing header files from a specific +kernel, instead of using the "established" convention of making those +directories into symlinks pointing to the currently installed kernel? + +A1: Occasionally, changes in the kernel headers cause problems with +the compilation of libc and of programs that use libc. To ensure that +users are not affected by these problems, we configure libc to use the +headers from a kernel that is known to work with libc and the programs +that depend on stable kernel headers. + +[Note: /usr/include/linux is now in the linux-kernel-headers package.] + +Q2: What if I want to compile a program that needs a feature from a +later kernel than is used by libc? + +A2: In practice, most programs will not have this problem. However, +depending on the scope of the problem you have several options available: + +If the situation is one like "kernel driver development", where all use +of the machine for development is expected to be against a different set +of kernel headers than are supplied with the "stock" libc6-dev, rebuilding +the glibc packages against that particular kernel will create a full set of +libc6 packages that are "compliant" with the new kernel. All development +done on machines with these packages installed will be done against the +new kernel. To build libc6-dev against your particular kernel, export the +environment variable LINUX_SOURCE, set to the path to that particular kernel +source directory and then build the package. + +If you want this new glibc package to stick against further upgrades, simply +use dselect and place the packages on HOLD. This will keep them from being +upgraded against your wishes. + +If there is just one particular program/package that needs different headers, +and your kernel of choice is installed in the usual place, you can use the +-I/usr/src/linux/include option on the gcc command line, when compiling that +specific program. + +Q3: My program is trying to use a kernel header that is in libc-dev, and +it is causing problems. (or) Why are the kernel headers not the same for +all architectures in Debian, for a given version of libc-dev? + +A3: For starters, you should never use kernel headers directly from user +space programs. You cannot be guaranteed a consistent interface across +different versions of the kernel, much less across architectures (even for +the same version of kernel source). + +Kernel headers are included with libc-dev _only_ to support those headers +in libc-dev. They are not there for userspace programs to include. If you +need kernel headers, then use one of the provided kernel-headers-x.x.x +packages provided for each architectures, or include the kernel headers +(or just the parts of the headers) you need directly in your source for +compilation. Only this way can you ensure a consistent state. + +Q4: Why does Debian's glibc seem to follow the stable CVS branch? + +A4: During our development cycle we follow the stable CVS branch so that +we can cause as little disruption as possible, and catch problems easier. +Differences between minor releases of glibc are known to be very large, +contain many changes, and generally affect all architectures differently. +We sync frequently with CVS so that we can take this large amount of +changes in smaller chunks, simplifying the process, and allowing us to +communicate problems to upstream much easier. + +Q5: How to setup my own language/regional (locale) setting? + +A5: Glibc provides "locale" defined in POSIX. Locale is a framework +to switch between multiple languages for users who can select to use +their language, country, characters, collation order, etc. For +example, some program display messages in your own language, if you +set the appropriate locale. Default locale is C (or POSIX) which +behaves traditional Unix with ASCII message. For more information, +look locale (5). + +If you want to use your own locale, install "locales" package. With +debconf interface, you can setup which locale is generated, and which +locale is used in default on your machine. + +Q6: I get this message when I run a program: + ld.so: Incorrectly built binary which accesses errno or h_errno directly. + ld.so: See /usr/share/doc/libc6/FAQ.gz. +A6: + +The program is broken. It probably says "extern int errno" somewhere, +instead of including . Errno in recent glibc versions is a macro, +which calls the function __errno_location; when glibc is built with +thread-local storage enabled, there is no extern int variable named errno. +In addition, "extern int errno" is not thread-safe. + +The application should continue to run for now, but when the warning message +is printed use of the NPTL threading library, and other new kernel-2.6 +features, it's worth trying to set environment variable LD_ASSUME_KERNEL=2.4.1 +(switch to LinuxThreads instead of NPTL). + +Please file a bug if the workaround doesn't work. + +NOTE: Currently this error message is suppressed, for the benefit of some +truly buggy programs which redirect stderr into something important, like a +network socket. + +Q7: I get this error when I compile an static linked application that's +compiled with glibc 2.2 or before: + gcc -o foo.o libbar.a + libbar.a(obj.o): In function `func(char *)': + : undefined reference to `__ctype_toupper' + +A7: +During glibc 2.3.x development, some symbols (__ctype_b, __ctype_toupper, +__ctype_tolower) are changed to hidden attributes. This means old static +linked applications/libraries built with glibc 2.2.x cannot be linked on glibc +2.3.x systems any more. + +But it made a lot of user applications unusable, we applied a workaround patch +for glibc in Sarge. Therefore your applications worked OK, and you didn't +need to consider about this problem. However, most other distros already +dropped such local modification. For that reason, we decided to drop +supporting such old static linked applications/libraries from Etch, you need +to recompile them. + +If you want to keep this workaround that was applied in Sarge for the present, +please recompile Debian glibc package with adding "glibc23-ctype-compat" line +at the end of debian/patches/00list, and install it on your local machine. +Note that we don't support this patch nowadays, please use it at your own +risk. --- glibc-2.3.6.orig/debian/make-cvs-locales-patch.sh +++ glibc-2.3.6/debian/make-cvs-locales-patch.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +set -e + +# This script is designed to help make patches to update from the last +# release to the latest CVS. Hand it the argument of the directory from +# which to generate the diff. + +# This script is not robust. Feel free to improve it. Specifically, +# run this from the root of the package. + +# This file is in the PUBLIC DOMAIN +# written by Jeff Bailey jbailey@debian.org September 6th, 2002 + +if [ $# -ne 1 ]; then + echo "`basename $0`: script expects a CVS tree to diff against" + exit 1 +fi + +PATCHLIST=10_cvs debian/rules patch + +SRCDIR=build-tree/glibc-* + +# DESCRIPTION, DETAILS, DATE, PATCHLEVEL + +cat debian/patches/template.dpatch | sed -e "s/@DESCRIPTION@/Locales CVS Update/" -e "s/@DATE@/`date`/" -e "s/@PATCHLEVEL@/2/" > debian/patches/11_cvs_locales.dpatch + +diff -urN -x CVS $SRCDIR/localedata $1/localedata >>debian/patches/11_cvs_locales.dpatch + --- glibc-2.3.6.orig/debian/debver2localesdep.pl +++ glibc-2.3.6/debian/debver2localesdep.pl @@ -0,0 +1,15 @@ +#!/usr/bin/perl + +$_ = shift; + +/(.*)-(.*)/m; + +$debver = $1; +$devrev = $2; + +@revs = split('\.', $devrev); + +$devrev = $revs[0]; +$devrev = "$devrev.$revs[1]" if defined($revs[1]) and $revs[1] ne "0"; + +print "glibc-$debver-$devrev\n"; --- glibc-2.3.6.orig/debian/make-cvs-patch.sh +++ glibc-2.3.6/debian/make-cvs-patch.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +# This script is designed to help make patches to update from the last +# release to the latest CVS. Hand it the argument of the directory from +# which to generate the diff. + +# This script is not robust. Feel free to improve it. Specifically, +# run this from the root of the package. + +# This file is in the PUBLIC DOMAIN +# written by Jeff Bailey jbailey@debian.org September 6th, 2002 + +if [ $# -ne 1 ]; then + echo "`basename $0`: script expects a CVS tree to diff against" + exit 1 +fi + +debian/rules unpack + +SRCDIR=build-tree/glibc-* + +diff -urN -x CVS -x .cvsignore -x '*texi' -x '*manual*' $SRCDIR $1 >cvs.patch + --- glibc-2.3.6.orig/debian/.cvsignore +++ glibc-2.3.6/debian/.cvsignore @@ -0,0 +1,10 @@ +control +files +libc* +libnss-dns-udeb* +libnss-files-udeb* +glibc-doc* +locales* +tmp-* +nscd* +include --- glibc-2.3.6.orig/debian/shlibver +++ glibc-2.3.6/debian/shlibver @@ -0,0 +1 @@ +shlib_dep_ver = 2.3.4-1 --- glibc-2.3.6.orig/debian/script.in/kernelcheck.sh +++ glibc-2.3.6/debian/script.in/kernelcheck.sh @@ -0,0 +1,162 @@ +exit_check () { + EXIT_CHECK + exit 1 +} + + # Test to make sure z < 255, in x.y.z-n form of kernel version + # Also make sure we don't trip on x.y.zFOO-n form + #kernel_rev=$(uname -r | tr -- - . | cut -d. -f3 | tr -d '[:alpha:]') + kernel_rev=$(uname -r | sed 's/\([0-9]*\.[0-9]*\.\)\([0-9]*\)\(.*\)/\2/') + if [ "$kernel_rev" -ge 255 ] + then + echo WARNING: Your kernel version indicates a revision number + echo of 255 or greater. Glibc has a number of built in + echo assumptions that this revision number is less than 255. + echo If you\'ve built your own kernel, please make sure that any + echo custom version numbers are appended to the upstream + echo kernel number with a dash or some other delimiter. + + exit_check + fi + + # sanity checking for the appropriate kernel on each architecture. + realarch=`uname -m` + kernel_ver=`uname -r` + + # convert "armv4l" and similar to just "arm" + case $realarch in + arm*) realarch="arm";; + esac + + # intel i386 requires a recent kernel + if [ "$realarch" = i386 ] + then + # From glibc 2.3.5-7 and linux-2.6 2.6.12-1, real-i386 is dropped. + #if dpkg --compare-versions "$kernel_ver" lt 2.4.24 + #then + echo WARNING: This machine has real i386 class processor. + echo Debian etch and later does not support such old hardware + echo any longer. + echo The reason is that \"bswap\" instruction is not supported + echo on i386 class processors, and some core libraries have + echo such instruction. You\'ll see illegal instruction error + echo when you upgrade your Debian system. + exit_check + #fi + fi + + # SPARC sun4m requires a recent kernel + if [ "$realarch" = sparc ] + then + cputype=`egrep '^type.*:.*sun4m' /proc/cpuinfo 2> /dev/null` || true + + if [ "$cputype" != "" ] + then + if dpkg --compare-versions "$kernel_ver" lt 2.4.21 + then + echo WARNING: You have a cpu which requires kernel 2.4.21 + echo or greater in order to install this version of glibc. + echo Please upgrade the kernel before installing this package. + echo + echo You should be able to install the latest version of the + echo sparc kernel-image in order to satisfy this need. You + echo can also download and compile the latest kernel source + echo yourself from a kernel mirror \(see http://www.kernel.org/\). + exit_check + fi + else + if dpkg --compare-versions "$kernel_ver" lt 2.2.0 #should be safe + then + echo WARNING: This version of glibc suggests atleast a + echo 2.2.0 kernel in order to work properly. 2.0.x kernels + echo will not be able to support certain functions and + echo may cause problems. 2.2 kernels have proven to be much + echo more reliable than 2.0.x kernels on the sparc platform + echo anyway, so an upgrade is suggested. If you have a 2.1.x + echo kernel is is suggested you upgrade to the latest 2.2 + echo release, since it is more stable and fixes many bugs. + exit_check + fi + fi + fi + # HPPA boxes require latest fixes in the kernel to function properly. + if [ "$realarch" = parisc ] + then + if dpkg --compare-versions "$kernel_ver" lt 2.4.17 + then + echo WARNING: This version of glibc requires that you be running + echo atleast a 2.4.17 kernel in order to work properly. Earlier + echo kernels did not provide the proper functionality in order + echo for the system to be stable. + exit_check + fi + fi + # parisc64 boxes require latest fixes in the kernel 2.4.19-pa17 or later + # (in 2.4.x), 2.5.53-pa3 or later (in 2.5.x), to function properly. + # Note that parisc64 kernel version scheme is "`uname -r`-64". + if [ "$realarch" = parisc64 ] + then + kernel_ver_pa=$(echo "$kernel_ver" | sed 's/pa//') + if [ "$kernel_ver" = "$kernel_ver_pa" ] + then + if dpkg --compare-versions "$kernel_ver" lt 2.4.19-64 + then + echo WARNING: This version of glibc requires that you be + echo running at least a 2.4.19-64 to work properly. + echo Earlier kernels did not provide the proper functionality + echo in order for the system to be stable. + exit_check + fi + else + if dpkg --compare-versions "$kernel_ver" lt 2.4.19-pa17 + then + echo WARNING: This version of glibc requires that you be + echo running at least a 2.4.19-pa17 in \(2.4\) or 2.5.53-pa3 + echo \(in 2.5\) to work properly. + echo Earlier kernels did not provide the proper functionality + echo in order for the system to be stable. + exit_check + fi + fi + fi + + if [ "$realarch" = mips ] \ + && [ "`dpkg --print-architecture`" = mips ] + then + # MIPS (but not mipsel) require a kernel update for the msq fixes. + if dpkg --compare-versions "$kernel_ver" lt 2.4.22 + then + echo WARNING: System V message queues require kernel 2.4.22 to + echo work correctly on this architecture. Some programs + echo "(including perl) may not operate correctly." + exit_check + fi + fi + + # amd64 requires 2.6 kernel because we drop to support linuxthreads + if [ "$realarch" = x86_64 ] \ + && [ "`dpkg --print-architecture`" = amd64 ] + then + if dpkg --compare-versions "$kernel_ver" lt 2.6.0 + then + echo WARNING: POSIX threads library NPTL requires 2.6 and + echo later kernel on amd64. If you use 2.4 kernel, please + echo upgrade your kernel before installing glibc. + exit_check + fi + fi + + # arm requires 2.4 kernel to avoid "obsolete calling standard" problem + # with sys_llseek + if [ "$realarch" = arm ] \ + && [ "`dpkg --print-architecture`" = arm ] + then + if dpkg --compare-versions "$kernel_ver" lt 2.4.0 + then + echo WARNING: This version of glibc requires that you be running + echo kernel version 2.4.0 or later. Earlier kernels contained + echo bugs that may render the system unusable if a modern version + echo of glibc is installed. + exit_check + fi + fi --- glibc-2.3.6.orig/debian/locales-depver +++ glibc-2.3.6/debian/locales-depver @@ -0,0 +1 @@ +LOCALES_DEP_VER = 2.3.5-0ubuntu1 --- glibc-2.3.6.orig/debian/changelog +++ glibc-2.3.6/debian/changelog @@ -0,0 +1,6070 @@ +glibc (2.3.6-0ubuntu20) dapper; urgency=low + + * debian/patches/submitted-nis-netgrp.dpatch: New file, snagged from + Debian glibc packages, which drops a bogus assert that prevents NIS + users from using bash as a login shell (closes: launchpad.net/25206) + + -- Adam Conrad Mon, 22 May 2006 00:53:40 +1000 + +glibc (2.3.6-0ubuntu19) dapper; urgency=low + + * Reupload to rebuild on sparc, which was previously miscompiled. + + -- Adam Conrad Fri, 19 May 2006 15:43:07 +1000 + +glibc (2.3.6-0ubuntu18) dapper; urgency=low + + * debian/patches/cvs-mash-rlimit-rtprio.dpatch: Mangle the patch to + correctly patch {mips,sparc}/bits/resource.h instead of creating + an unused {mips,sparc}/resource.h, so RLIMIT_NICE works on sparc. + + -- Adam Conrad Fri, 12 May 2006 20:26:30 +1000 + +glibc (2.3.6-0ubuntu17) dapper; urgency=low + + * debian/debhelper.in/nscd.dirs: Sync with Debian, adding /var/db/nscd + and /var/run/nscd to the nscd package (closes: launchpad.net/3365) + * debian/debhelper.in/nscd.init: Create /var/run/nscd on boot, for tmpfs + * debian/patches/locale-C.dpatch: Grab changes from Debian to define + first_weekday as Sunday with the C locale (closes: launchpad.net/36988) + * debian/local/usr_sbin/tzconfig: Make tzconfig's yes/no questions case + insensitive, so "N" is the same as "n" (closes: launchpad.net/30559) + * debian/rules.d/debhelper.mk: Make params to dh_installinit configurable + * debian/rules: Make nscd's dh_installinit call use "-- defaults 09 91" + * debhelper.in/nscd.postinst: Move nscd's rc?.d symlinks from S20/K20 + to S09/K91, so we start early enough (closes: launchpad.net/30141) + + -- Adam Conrad Wed, 12 Apr 2006 17:29:28 +1000 + +glibc (2.3.6-0ubuntu16) dapper; urgency=low + + * Fix regcomp to not trash lock structure. Closes: Malone#38420 + - add debian/patches/cvs-all-regcomp.dpatch + - update debian/patches/00list + (Thanks to Randolph Chung for finding the patch.) + + -- LaMont Jones Thu, 6 Apr 2006 10:27:13 -0600 + +glibc (2.3.6-0ubuntu15) dapper; urgency=low + + * debian/debhelper.in/libc-alt.install: Add gconv-modules, the addition + in debian/sysdeps/amd64.mk is overwritten. + + -- Matthias Klose Sat, 25 Mar 2006 07:38:45 +0000 + +glibc (2.3.6-0ubuntu14) dapper; urgency=low + + * libc6-i386 (amd64). Fix path of gconv-modules and install gconv-modules. + Ubuntu #34324, #34427. + + -- Matthias Klose Sat, 25 Mar 2006 01:17:08 +0100 + +glibc (2.3.6-0ubuntu13) dapper; urgency=low + + * Fix getcwd on machines where PATH_MAX != PAGE_SIZE. + - Add debian/patches/local-all-getcwd.dpatch. + - Update debian/patches/00list. + + -- LaMont Jones Fri, 24 Mar 2006 10:18:29 -0700 + +glibc (2.3.6-0ubuntu12) dapper; urgency=low + + * Fix missing memory clobber in Sparc atomics: + - Add debian/patches/local-sparc-atomics.dpatch. + - Update debian/patches/00list. + (Thanks David S. Miller for the patch) + + -- Fabio M. Di Nitto Fri, 24 Mar 2006 11:18:51 +0100 + +glibc (2.3.6-0ubuntu11) dapper; urgency=low + + * Fix clone() on sparc32 and sparc64. The fix has been upstream for about a + year: + - Add debian/patches/local-sparc-clone.dpatch. + - Update debian/patches/00list. + (Thanks David S. Miller for the patch) + + -- Fabio M. Di Nitto Wed, 22 Mar 2006 07:14:03 +0100 + +glibc (2.3.6-0ubuntu10) dapper; urgency=low + + * Add debian/patches/eh-frame-terminator.diff (from Debian glibc-2.3.5-8): + Merge .eh_frame terminator fix, by Richard Sandiford (Closes: #334112). + + Welcome back gij/gcj on hppa. Thanks John David Anglin. + + -- Matthias Klose Fri, 17 Mar 2006 23:28:15 +0100 + +glibc (2.3.6-0ubuntu9) dapper; urgency=low + + * Fix maintainer scripts to properly restore "$@" when using + "set --": + - Update debian/debhelper.in/libc-otherbuild.{postinst,postrm} + - Update debian/debhelper.in/libc.postinst + + The wrong usage of "set --" resulted in "$@" from maintainer scripts + invocation to be mangled. In some cases, like installing + libc6-sparcv9v (or -otherbuild), the result was missing calls to + chuncks of code that rely on configure/remove/etc. actions requested + by dpkg. + + * Stop applying local-sparc-sparc64biarch.dpatch: + - Update debian/patches/00list. + + The patch was uncoditionally forcing an extra search path appending "64" + to whatever directory was scanned. While this was good a long time ago, + the same is achieved since 2003 by add_system_dir in + sysdeps/unix/sysv/linux/sparc/dl-cache.h in a more clean and less noisy way. + + -- Fabio M. Di Nitto Sun, 12 Mar 2006 11:37:59 +0100 + +glibc (2.3.6-0ubuntu8) dapper; urgency=low + + * Fix install path for libc6-sparc64b: + - Update debian/sparc.mk + + -- Fabio M. Di Nitto Sun, 05 Mar 2006 12:25:17 +0100 + +glibc (2.3.6-0ubuntu7) dapper; urgency=low + + * Don't do timezone work on install. + - debian/debhelper.in/libc.postinst: Remove timezone magic. + - debian/control.in/libc: Move locales recommends to ... + - debian/sysdeps/depflags.pl: ... here, and make it a depends. + - debian/control: Regenerate. + + * Add Sparc Niagara support. + - debian/control.in/opt: Add new packages for sparc64b, sparc64v, + and sparcv9b. + - debian/debhelper.in/libc.postinst: Handle HWCAP disabling for + new optimised packages. + - debian/patches/local-sparc-niagara.dpatch: New file. + - debian/patches/amd64-libs.dpatch: Shuffle so that it still applies. + - debian/patches/00list: Use it. + - debian/control: Regenerate. + Thanks to Dave Miller for these patches! + + * Support RLIMIT_RTPRIO. + - debian/patches/cvs-mash-rlimit-rtprio.dpatch: New file. + - debian/patches/00list: Use it. + + -- Jeff Bailey Wed, 1 Mar 2006 19:27:27 +0000 + +glibc (2.3.6-0ubuntu6) dapper; urgency=low + + * Drop timezones from main libc package. + - debian/debhelper.in/libc.install: Drop /usr/share/zoneinfo + drop usr/bin/locale + - debian/debhelper.in/libc.manpages: Drop locale.1 and localedef.1 + - debian/debhelper/in/libc.dirs: Add /usr/share/zoneinfo + - debian/control.in/libc: Recommends: locales + + * Add HPPA fpu patch. + - debian/patches/submitted-hppa-fpu.dpatch: New file. + - debian/patches/00list: Use it. + + * Move localedef to locales. No need to hack glibc anymore for locales. + - debian/debhelper.in/libc.install: Drop usr/sbin/localedef. + - debian/patches/00list: Drop local-all-localedef-fix-trampoline. + Drop local-all-belocs-locale-update. + Drop local-all-belocs-test. + + -- Jeff Bailey Wed, 1 Feb 2006 17:19:08 +0000 + +glibc (2.3.6-0ubuntu5) dapper; urgency=low + + * Fix segfaults caused by collation issues (Malone#28640) + - debian/patches/cvs-all-strxfrm.dpatch: New file. + - debian/patfches/00list: Use it. + + -- Jeff Bailey Mon, 30 Jan 2006 13:38:59 -0500 + +glibc (2.3.6-0ubuntu4) dapper; urgency=low + + * Fix up amd64 biarch bootstrap/buildability/installability: + - debian/control.in/main: add libc6-dev-i386 [amd64] to build-deps + - debian/control.in/i386: s/libc6-i686/libc6-i386/ + - debian/control.in/i386: s/lib64gcc1/lib32gcc1/ + - debian/control: regenerate to pull in the above changes + - sysdeps/amd64.mk: link /lib/ld-linux.so.2 to /lib32/ld-linux.so.2 + - patches/amd64-lib: on amd64, i[3456]86* is a lib32 target, not lib + * New patch local-all-dynamic-resolvconf.dpatch: allow long-running + processes to re-read a dynamically changed resolv.conf on the fly. + + -- Adam Conrad Wed, 11 Jan 2006 18:55:05 +1100 + +glibc (2.3.6-0ubuntu3) dapper; urgency=low + + * Drop the init script as it does nothing useful except hide a message + beneath usplash. + + -- Scott James Remnant Tue, 10 Jan 2006 09:07:55 +0000 + +glibc (2.3.6-0ubuntu2) dapper; urgency=low + + * Jeff Bailey + + * Add amd64/i386 biarch. + - debian/sysdeps/amd64.mk: Add i386 NPTL pass. + - debian/control.in/i386: New file. + - debian/rules.d/control.mk: Use it. + - debian/control: Update. + - debian/rules.d/debhelper.mk: Use the same logic where + destdir is 32 as when destdir is 64. + + -- Jeff Bailey Tue, 3 Jan 2006 12:23:34 +0000 + +glibc (2.3.6-0ubuntu1) dapper; urgency=low + + "The point of philosophy is to start with something so simple as + not to seem worth stating, and to end with something so paradoxical + that no one will believe it." + - Bertrand Russell + + * Jeff Bailey + + * Update to 2.3.6. + + * Use debhelper v5 semantics. + - debian/compat: Set to 5. + - debian/control.in/main: Use debhelper >= 5.0.0 + - debian/rules.d/build.mk: Do not filter comments from .install files. + - debian/debhelper.in/libc-dev.install: Install all *.a files, + don't bother listing them all. + - debian/libc-alt-dev.install: Ditto. + - debian/control: Renerate. + + * Use g++-4.0 for ABI checks. + - debian/rules: Set g++-4.0 + - debian/control.in/main: Build-dep on g++-4.0, not g++-3.4 + - debian/control: Regenerate + + * Massive patch review and renaming. + - The point of this exercise is to make it clear which + hacks are going upstream, and which ones are not. + The patches directory had become a crazy pile of 85 patches + only 55 or so were actually being applied. This has been + reduced to 35 with selective pruning, combining, splitting. + + debian/rules/00list describes the naming scheme, which is now + consistant and regular. + + * Merge packaging changes from Debian 2.3.5-10 + - debian/rules: Call it locales-depver instead of locales-shlibver. + Use DEB_HOST_ARCH_OS instead of DEB_HOST_GNU_SYSTEM FIXME + Include libidn for all targets. + - debian/shlibver: Bump to 2.3.5-1 + - debian/control.in/amd64: Change section to libs and priority to + standard. Capitalise AMD64. Change priority of libc6-dev-amd64 + optional. + - debian/control.in/libc: Change section to libs + - debian/debhelper.in/glibc-doc.install: Look for the files in + manual/libc/, not manual/. + - debian/debhelper.in/libc-dev.install: Install sprof. + - debian/debhelper.in/libc-dev.manpages: Install sprof.1 + - debian/debhelper.in/libc-pic.dirs: Remove leading / + - debian/debhelper.in/libc-prof.install: Don't install sprof. + - debian/debhelper.in/libc-prof.manpages: Delete + - debian/debhelper.in/libc.dirs: Remove leading /, add etc/init.d + - debian/debhelper.in/libc.docs: Add CONFORMANCE and NAMESPACE + - debian/debhelper.in/libc.postinst: Use symbolic names rather + than $1 and $2. + Use dpkg --print-architecture, not --print-installation-architecture + Restart saslauthd and atd when upgrading from older versions. + Pretty up the text for NSS restarts. + Run /etc/init.d/glibc.sh at startup. + - debian/debhelper.in/nscd.init: Support "status" argument. + - debian/local/etc_default/tmpfs: Delete + - debian/local/etc_init.d/devpts.sh: Delete + - debian/local/etc_init.d/mountkernfs: Delete + - debian/local/etc_init.d/nscd: Add dependancy based init magic. + - debian/local/etc_init.d/glibc.sh: New file. + - debian/local/manpages: Update. They've been localised now. + - debian/po: Update. + - debian/sysdeps/depflags.pl: Update with various conflicts. + - debian/sysdeps/hppa.mk: Cosmetic changes. + - debian/sysdeps/i386.mk: Set MIN_KERNEL_VERSION to 2.6.0 for + amd64 biarch package. + - debian/sysdeps/linux.mk: Don't try to add nptl as an add-on. + Allow overriding concurency with SETNJOBS. + - debian/sysdeps/powerpc.mk: Set MIN_KERNEL_SUPPORTED to 2.6.0 for + ppc64. + - debian/rules.d/build.mk: Add logme logic, use it so that + builds fail when configure is run or the build dies. + - debian/rules.d/debhelper.mk: Use kernelcheck.sh, install + debian/glibc.sh.generated as /etc/init.d/glibc.sh. + Do a more robust TLS check in the presence of LinuxThreads. + - debian/scripts.in/kernelcheck.sh: New file. + + -- Jeff Bailey Thu, 29 Dec 2005 23:56:51 +0000 + +glibc (2.3.5-10) unstable; urgency=low + + [ GOTO Masanori ] + * debian/local/etc_init.d/glibc.sh: Change the last 'exit 0' to + ': exit 0' to not block sourcing. (Closes: #340147) + + [ Phil Blundell ] + * Merge patch from upstream CVS (courtesy Daniel Jacobowitz) to + fix weak alias related build problem on ARM. + * Merge patch from upstream CVS (courtesy Ulrich Drepper) to fix + strfry() crash. (Closes: #343365) + * Merge patch from upstream CVS (courtesy Roland McGrath and Anton + Blanchard) to fix problem with execute permissions on GOT when using + 64kB pages on PowerPC. (Closes: #344105) + * Require binutils 2.16.1cvs20051109-1 to ensure that i386 biarch + linking works properly. + * debian/script.in/kernelcheck.sh: Require kernel >= 2.4.0 on arm to + avoid llseek problem. (Closes: #324795) + * Also restart atd on upgrade. (Closes: #331293) + * Merge patch from upstream CVS (courtesy Ulrich Drepper) to fix + problems with accuracy of tanh and related functions, per request of + Rafael Laboissiere. (Closes: #328504) + * Add "validlocale" program (ex base-config) to locales package, per + request of Joey Hess. (Closes: #344954) + * sysdeps/hppa.mk: Add new /usr/hppa64-linux-gnu/include symlink, per + request of Matthias Klose. (Closes: #326583) + + [ Clint Adams ] + * Steal glibc-235-sparc-datastart.dpatch from Ubuntu. + * Steal ia64 libm symbol patch from Ubuntu. + * Compile with -g2 instead of -g1 on sparc. + + -- Clint Adams Wed, 28 Dec 2005 13:18:56 -0500 + +glibc (2.3.5-9) unstable; urgency=low + + [ Daniel Jacobowitz ] + * Downgrade priority of amd64 libraries on i386. + * Move packages from base to libs. + + [ Clint Adams ] + * Remove sparc64 TLS patch, and disable TLS for sparc64 build + (Closes: #340835, #341514). + * Add patch to fix build failure with __bind and other + socket-related symbols being already defined on + sparc (Closes: #342755). + * Add patch from Anton Blanchard to fix build failure with + __bind and other socket-related symbols being already + defined on powerpc (Closes: #343571). + * Replace amd64 sem_trywait patch from Kurt Roeckx's NMU with + fix from upstream glibc CVS (Closes: #339389). + * Add patch from Anton Blanchard to fix build failures with + "__moddi3" and friends being already defined on i386 + and powerpc (Closes: #339415). + * Bump Standards-Version to 3.6.2 and add myself to Uploaders. + + -- Clint Adams Sat, 17 Dec 2005 10:33:38 -0500 + +glibc (2.3.5-8.1) unstable; urgency=low + + * Non-maintainer upload. + * Rename sem_trywait to __new_sem_trywait in amd64 nptl code + so the alias works properly, and it can be build. + (Closes: #339389) + + -- Kurt Roeckx Sun, 27 Nov 2005 11:22:03 +0100 + +glibc (2.3.5-8) unstable; urgency=low + + * Add missing build dependency on libc6-dev-ppc64 on powerpc. + * Add patch to fix sparc64 TLS build failure, from Aurelien Jarno + (Closes: #335821). + * Also restart saslauthd at upgrades, from Philipp Hug (Closes: #334101). + * Merge .eh_frame terminator fix, by Richard Sandiford (Closes: #334112). + * Merge armeb support, from Lennert Buytenhek (Closes: #335116). + * Add LSB headers to glibc.sh and nscd init scripts, from Petter + Reinholdtsen (Closes: #335308, #335343). + * Remove obsolete mountkernfs, tmpfs, and devpts.sh files from debian/. + * Temporarily set hppa back to gcc 3.4, from Steve Langasek + (Closes: #326581). + * Re-enable libidn (Closes: #181025). + + -- Daniel Jacobowitz Sat, 12 Nov 2005 19:15:29 -0500 + +glibc (2.3.5-7) unstable; urgency=low + + [ GOTO Masanori ] + * debian/script.in/kernelcheck.sh: Drop real-i386 kernel support. + + [ Daniel Jacobowitz ] + * Build 64-bit packages on i386 - based on patches from both Ubuntu + and Andreas Jochens . + - Build depend on a biarch linux-kernel-headers package. + - Build depend on new libc6-dev-amd64 package. + - Conflict with amd64-libs to avoid stale libraries. + - Replace files from amd64-libs-dev. + - Use lib64 for 64-bit libraries on i386. + - Search lib64 for ldconfig. + - Install 64-bit headers in /usr/include/x86_64-linux-gnu. + * Remove obsolete references to NPTL as an add-on. + * Conflict with broken versions of libterm-readline-gnu-perl + (Closes: #326856, #326492). + * Merge makefile patch from Goswin Brederlow + to fail earlier if builds fail + (but omit the bit for make -k check) (Closes: #325460). + * Update debconf dependency to work with cdebconf (Closes: #331838). + * Merge MIPS fix from CVS (Closes: #329043). + * Do not complain about incompatible libraries in /etc/ld.so.conf + (Closes: #310047). + * Update hppa assembly for current CVS binutils. + * Use 8-byte-aligned buffers for doubleword FPU transfers on HPPA + (Closes: #333766). + + -- Daniel Jacobowitz Fri, 14 Oct 2005 14:18:22 -0400 + +glibc (2.3.5-6) unstable; urgency=low + + * GOTO Masanori + + * debian/script.in/kernelcheck.sh: Use sed instead of bash extension. + (Closes: #325373, #325471, #325504, #325511) + + -- GOTO Masanori Mon, 29 Aug 2005 12:40:32 +0900 + +glibc (2.3.5-5) unstable; urgency=low + + * GOTO Masanori + + * debian/debhelper.in/debhelper.mk: Don't expand debug-packages with + DEB_INDEP_REGULAR_PACKAGES. It causes binary-indep is unexpectedly + included. (Closes: #233390, #233391, #233392) + + * Add the correct new line. (Closes: #324450) + - debian/control.in/sparc64: Likewise. + - debian/control: Update. + + * Support Hurd again. (Closes: #324165) + - debian/sysdeps/gnu.mk: Rename to... + - debian/sysdeps/hurd.mk: ... this. + + * debian/local/usr_sbin/locale-gen: Don't break locale-gen when locale-def + warns errors. + + * debian/patches/glibc235-localedata-sr_CS.dpatch: New file, to fix + sr_CS localedef breakage. (Closes: #321580, #322655) + * debian/patches/glibc235-localedata-locales.dpatch: New file, to fix + mn_MN and sid_ET localedef breakage. (Closes: #321634) + + * debian/sysdeps/powerpc.mk: Enable PowerPC NPTL. + (Closes: #246689, #307984) + + * debian/README: Add the description about dropping __ctype_* symbol support + of static linked application/libraries in etch. (Closes: #324526) + + * debian/sysdeps/linux.mk: Check SETNJOBS environment variable to specify + the number of parallel make by users. + + * debian/sysdeps/depflags.pl: Add Conflicts: e2fsprogs (<< 1.35-7) + because new ldd cannot work with old e2fsprogs. (Closes: #324550) + + * debian/patches/glibc235-alpha-divqu.dpatch: New file, to fix alpha + divqu/remqu that does not return the correct result when their dividend + and divisor are the same and 63bit is 1. (Closes: #324455) + + * Hurd requires gcc-3.3 to compile instead of gcc-4.0. Requested by + Michael Banck . + - debian/sysdeps/hurd.mk: Change CC/BUILD_CC to gcc-3.3. + - debian/control.in/main: Build-Depends falls back to gcc-3.3. + - debian/control: Update. + + * Introduce bootstrap kernel version check script. + - debian/debhelper.in/libc.preinst: Move detection script to... + - debian/script.in/kernelcheck.sh: ...this, new file. + - debian/local/etc_init.d/glibc.sh: New file, it includes kernelcheck.sh. + - debian/debhelper.in/libc.postinst: Invoke /etc/init.d/glibc.sh as S01. + - debian/rules.d/debhelper.mk: Add replacing KERNEL_VERSION_CHECK and + EXIT_CHECK for libc.preinst and glibc.sh. + - debian/debhelper.in/libc.dirs: Create etc/init.d. + + * Don't use absolute path name. + - debian/debhelper.in/libc.dirs: Suppress the first slash. + - debian/debhelper.in/libc-pic.dirs: Likewise. + - debian/debhelper.in/nscd.dirs: Likewise. + - debian/debhelper.in/locales.dirs: Likewise. + + * Michael Banck : + - debian/patches/glibc235-gcc4-hurd.dpatch: New file, to build glibc + on Hurd with gcc-4.0. (Closes: #324549) + + -- GOTO Masanori Sun, 21 Aug 2005 12:33:42 +0900 + +glibc (2.3.5-4) unstable; urgency=low + + * The "hppa is important to someone, really - LaMont" release. + + * GOTO Masanori + + * d-i wants to remove libnss-files-udeb and libnss-dns-udeb dependency + from libc-udeb. Suggested by Joey Hess . + (Closes: #322506) + - debian/control.in/libc: Remove libnss-files-udeb libnss-dns-udeb + dependency. + - debian/control: Update. + + * Build-Depends fixes: + - debian/control.in/main: Change gcc-* dependency from | to ,. + Suggested by Andreas Jochens . + - debian/control.in/main: Add gcc-4.0 (>= 4.0.1-5) [hppa], because prior + versions cannot generate sane glibc binaries. + - debian/control: Update. + + * Enable libnss upgrade guard again. + (Closes: #321561, #321712, #321796, #322768, #323560) + - debian/debhelper.in/libc.preinst: Change guard to 2.3.5-1. + - debian/debhelper.in/libc.postinst: Likewise. + - debian/debhelper.in/libc.postinst: Fix to invoke NSS check again. + + * debian/debhelper.in/nscd.dirs: Add /var/db/nscd. + (Closes: #323352, #323487) + + * debian/debhelper.in/locales.prerm: Add purge to remove locale-archive. + (Closes: #321719) + + * debian/patches/00list: Drop glibc234-hppa-remove-mallocdef.dpatch. + It causes unconditional locking problem, because it was already replaced + by Carlos' new patches. Reported by LaMont Jones . + + * Add Depends: lib64gcc1 and provide lib64c-dev for 64bit -dev packages. + Suggested by Matthias Klose . (Closes: #323552) + - debian/control.in/sparc64: Likewise. + - debian/control.in/ppc64: Likewise. + - debian/control.in/s390x: Likewise. + - debian/control: Update. + + * debian/patches/glibc235-dl-execstack.dpatch: New file, to fix execstack + failed to check on kernel <= 2.4.18. (Closes: #321717, #321718, #323409) + + * Roland Stigge : + - debian/debhelper.in/glibc-doc.install: Install HTML documents + correctly. (Closes: #321740) + + -- GOTO Masanori Sat, 6 Aug 2005 06:52:42 +0900 + +glibc (2.3.5-3) unstable; urgency=low + + * The "Keep Debconf5 speed" and the "Welcome back the recent glibc to + unstable" release. + * Glibc bumps up from 2.3.2.ds1 to 2.3.5 on etch. + + * GOTO Masanori + + * Localedata update: + - debian/patches/cvs-localedata.dpatch: New file, to update localedata + to the latest cvs. Reported by Safir Secerovic , + Reviewed by Denis Barbier . (Closes: #312902) + - debian/patches/locale-iso4217.dpatch: New file, to fix localedef + breakage for tr_TR.ISO-8859-9. (Closes: #314855) + + * To make glibc-2.3.5 buidable with gcc-4.0: + - debian/patches/00list: Drop glibc234-hppa-full-nptl-2004-12-20.dpatch + line replaced by the new patches: glibc235-hppa-sysdeps.dpatch and + glibc235-hppa-lt.dpatch. It'll be removed when hppa unstable works + nicely. + - debian/patches/glibc235-gcc4-sparc-inline.dpatch: Update the patch + to compile sparc64. + - debian/patches/glibc235-gcc4-s390-inline.dpatch: New file, fix s390 + compilation breakage by changing static inline to auto inline for + dl-machine.h. + - debian/patches/glibc235-gcc4-alpha-profile.dpatch: New file, fix + alpha compilation breakage by removing strong_alias. + - debian/patches/glibc235-gcc4-hppa-profile.dpatch: New file, fix hppa + compilation breakage by removing strong_alias. + - debian/sysdeps/alpha.mk: Disabled __thread for static linked + executables. + - debian/control.in/main: Add Build-Depends: gcc-3.4 for powerpc and + m68k. + - debian/control: Regenerated. + + * To make glibc-2.3.5 buildable with gcc-3.4: + - debian/sysdeps/m68k.mk: New file, to use gcc-3.4 as CC and BUILD_CC + due to gcc-4.0 ICE. See #319312. + - debian/patches/glibc235-gcc34-m68k-seccomment.dpatch: New file, fix + m68k binutils comment parse error. + + * Introduce RUN_TESTSUITE for disabling make check, taken from Jeff + Bailey : + - debian/rules: Enable RUN_TESTSUITE in default. + - debian/rules.d/build.mk: Check RUN_TESTSUITE before invoking tests. + - debian/sysdeps/hppa.mk: Disable RUN_TESTSUITE because linuxthreads + cannot work correctly. + - debian/sysdeps/alpha.mk: Likewise. + + * Introduce loose locales version dependency to avoid locales version + mismatch for FTBFS architectures, taken from Jeff Bailey + (Closes: #204696, #308824): + - debian/locales-depver: New file, describes minimum locales dependency + version. It's renamed from locales-shlibver because it's not "shlib". + - debian/rules.d/debhelper.mk: Use LOCALES_DEP_VER to generate locales + dependency. + - debian/rules: Include debian/locales-depver. + + * debian/rules.d/build.mk: Add --without-selinux for nscd. It should be + removed after this version ASAP. + + * debian/sysdeps/depflags.pl: Drop Depends: libdb1-compat because it's + until sarge stuff. Suggested by Colin Watson . + (Closes: #318885) + + * debian/debhelper.in/nscd.dirs: New file, add /var/run/nscd dir to + invoke nscd correctly. (Closes: #314892) + + * debian/local/manpages/locale.gen.5: Fix typo, charsets -> charmaps. + (Closes: #312297, #318982) + + * debian/debhelper.in/libc.preinst: Remove dpkg + --assert-support-predepends + check like base-passwrd, suggested by Bastian Blank . + (Closes: #316217) + + * debian/patches/locales-supported.dpatch: Don't apply to drop UTF-8@euro + locales from SUPPORTED. (Closes: #274491) + + * debian/debhelper.in/libc.preinst: Fix typo. (Closes: #306136) + * debian/debhelper.in/libc.postinst: Likewise. + + * Michael Banck : + - debian/patches/hurd-enable-ldconfig.dpatch: New file, to build ldconfig + again on Hurd. (Closes: #309489) + - debian/sysdeps/gnu.mk: Hurd-i386 needs --without-tls option to build. + - debian/patches/hurd-libpthread-indirect-loading.dpatch: New file, to + make libpthread load indirectly on Hurd. (Closes: #312488) + - debian/patches/hurd-ioctl-pfinet.dpatch: New file, to support part of + SIOCGIFHWADDR for pfinet on Hurd. (Closes: #295117) + + * Jeff Bailey : + - debian/patches/glibc235-hppa-sysdeps.dpatch: New file, to build hppa + linuxthreads locking problem and sysdeps correctly again. + - debian/patches/glibc235-hppa-lt.dpatch: New file, likewise. + + * Denis Barbier : + - debian/debhelper.in/locales.config: Use LANG=C for locale-dependent + commands. (Closes: #314717) + - debian/debhelper.in/locales.postinst: Likewise. + - debian/debhelper.in/locales.postinst: Fix repeated locale entry + duplication when at least a locale is defined twice in /etc/locale.gen. + (Closes: #271526) + + * Stephen Gildea : + - debian/debhelper.in/nscd.init: Provides a "status" option, fix the exit + status if the script is given an unsupported option. (Closes: #312404) + + * Serge Belyshev : + - debian/patches/glibc235-execvp-fix.dpatch: Fix execvp segv caused by + invalid free pointer. + + * This version fixes some bugs that are already marked as + fixed-in-experimental and explained the reason in this changelog. + (Closes: #144670, #185991, #258647, #276062, #279423, #280030, #298784) + (Closes: #300806, #300842, #304963, #305400, #305662, #305666, #309618) + (Closes: #311793, #313404, #314084, #315347, #315793) + + * This version fixes some bugs that are already confirmed as fixed + (fixed-in-experimental) in the experimental glibc: + - Can compile rpc/xdr.h with gcc-4.0. (Closes: #315198, #320963) + - Support posix_fadvise64 correctly on 2.4 kernel. + (Closes: #312406, #313219) + - Can static link with the recent toolchain changed with TLS/non-TLS + errno definition on amd64 and ia64. + (Closes: #317674, #317946, #318956, #318963, #319115) + - Fix mktime when setting a timezone value to AC_FUNC_MKTIME. + (Closes: #177940) + - Fix libc6-i686 to reexec init. (Closes: #270745) + + * This version fixes some bugs that are marked as fixed-upstream: + - Fix ucontext.h failure with g++-4.0 on ia64. + (Closes: #318429, #320240) + + - Missing icache flushing on PPC caused sometimes segv, and now cache + management is reworked and fixed. (Closes: #146489) + - Fix alpha atan() that gave wrong results for some operands. + (Closes: #210613) + - Fix PPC rint() that gave wrong result for negative arguments in the + rounding toward -inf and +inf mode. (Closes: #216800) + - Fix that the pmaplist frees the freed memory in xdr_pmaplist. + (Closes: #230219) + - Don't export unneeded symbol _fp_hw on s390. (Closes: #247681) + - Set locale correctly for generated threads in static linked binaries. + (Closes: #260221) + - Make g++ compilation with nptl pthread.h by changing initializers. + (Closes: #276309) + - Fix a race condition with pthread_cond_broadcast. (Closes: #276312) + - Fix re_exec() segv that caused on UTF-8 locales. + (Closes: #175163, #237681, #290551, #299137, #310443) + - Implement getcontext on alpha. (Closes: #293653) + - Fix an incorrect value of ceill and floorl on amd64. (Closes: #302458) + - Fix memory leaks in getaddrinfo/freeaddrinfo. (Closes: #304022) + - Fix mips/mipsel incomplete clobbered registers for syscalls. + (Closes: #304426) + - Support working sched_setaffinity on powerpc. (Closes: #311053) + - Support _SC_HOST_NAME_MAX in sysconf. (Closes: #314350) + - Fix pthread_rwlock_wrlock hangs with NPTL on amd64. (Closes: #314408) + + - Check timezone changes for localtime and friends. (Closes: #48184) + - Fix a race condition of sigaction and signal handler. + (Closes: #136990) + - Fix segmentation fault when invoking nscd -d. + (Closes: #156923, 245208) + - Support POSIX style strerror_r implementation. + (Closes: #159298, #169370, #182542, #202209) + - Enable to use short IPv4 address notation again. (Closes: #192091) + - Fix broken pthread_cleanup_push on Alpha. (Closes: #197988) + - Support POSIX message queues. (Closes: #202197, #280137) + - Don't use ?: in bits/mathinline.h. (Closes: #206015, #304500) + - Update Norwegian translation that fixes confusing text. + (Closes: #207266) + - Enable executable again for libc.so.*. (Closes: #215463, #264948) + - Improve putchar and io performance by changes to pthread locking code. + (Closes: #219205) + - Update sys/vm86.h. (Closes: #219476) + - Fix invalid __libc_dlclose() in nsswitch.c. (Closes: #222130) + - Support backtrace on ia64 and x86_64. (Closes: #235876) + - Fix nl_langinfo(ERA) returns NULL, not "". (Closes: #245836) + - Libintl.h is ready for some g++ compilation option. (Closes: #252753) + - Fix pthread_cond_timedwait and mutex hang with cancellation. + (Closes: #253303) + - Fix too long fraction digits handling in strtold(). (Closes: #260377) + - Fix some regexec() segv in UTF-8 locales. (Closes: #261135) + - Fix pthread_cond_timedwait with a outdated timespec destroys the + pthread_cond_t variable. (Closes: #261237) + - Declare EPOLLONESHOT in sys/epoll.h. (Closes: #261541) + - Fix returning invalid pointer when freeing valloc()-ed memory. + (Closes: #262782) + - Replace gcc-3.4 option for ppc64. (Closes: #263959) + - Fix zdump -v segv on ia64. (Closes: #266438) + - Support pthread_create with attributes. (Closes: #266507) + - Change __vector to __iovec for sys/io.h to prevent conflicts with + altivec. (Closes: #267442) + - Fix atan2 infinit loop on amd64. (Closes: #270823) + - Avoid memory leak for some gconv encoding by calling gconv_end. + (Closes: #274390) + - Fix mplayerplug-in crash closed by mozilla. (Closes: #275240) + - Fix invalid memory access of printf when its specifier combines + parameter number specification and floating point values. + (Closes: #277667, #312036) + - Don't touch unrelated bits in __feclearexcept on i386. + (Closes: #279294) + - Don't invoke unneeded cancellation if PTHREAD_CANCEL_DISABLE is set. + (Closes: #281775) + - Fix a race condition between pthread_create and pthread_exit. + (Closes: #282091, #292154) + - Fix for setfacl to handle many files in ntfw64. (Closes: #288710) + - Support large dev_t. (Closes: #289945, #299139) + - Use the correct ifndef __GNUC_PREREQ. (Closes: #315345) + + - Fix the indended first line of ldd output. (Closes: #209145, #276223) + - Fix misleading error message of ldd when kernel version is old. + (Closes: #224665) + - Fix typo of the language name in te_IN. (Closes: #276527) + - Replace old --help message that indicated glibcbug script. + (Closes: #315448) + + - Support IDN. (Closes: #181025) + - Support O_NOATIME. (Closes: #284131, #297010, #298488) + - The first day of a week in Finnish is Monday. (Closes: #288472) + + -- GOTO Masanori Sun, 17 Jul 2005 17:27:30 +0900 + +glibc (2.3.5-2) experimental; urgency=low + + * Debconf5 release. + + * GOTO Masanori + + * Merge glibc-2.3.4 branch to the main trunk for etch development. + + * These dpatches are removed from debian/patches because the similar + patches are already applied in the latest version: + - debian/patches/rtld-vdso-assertion.dpatch + - debian/patches/glibc232-sigsetjmp.dpatch + - debian/patches/hurd-weak-aliases.dpatch + - debian/patches/sched-update.dpatch + - debian/patches/glibc232-pthread-cancellation.dpatch + - debian/patches/glibc232-clock_settime.dpatch + + * The New dpkg-architecture changes: + - debian/rules: Replace DEB_HOST_BUILD_SYSTEM, use DEB_HOST_ARCH_OS. + Reported by Arthur Marsh . + (Closes: #315347, #315793) + - debian/control.in/main: Bump up Build-Depends: dpkg-dev (>= 1.13.5). + - debian/control: Updated. + - debian/debhelper.in/libc.preinst: Replace "dpkg + --print-installation-architecture", use "dpkg --print-architecture". + - debian/debhlper.in/libc.postrm: Likewise. + - debian/debhlper.in/libc.postinst: Likewise. + - debian/sysdeps/depflags.pl: Change checks from i386 to i486. + It also replaces -linux, use -linux-gnu. + + * Default compiler moves from gcc-3.3 to gcc-4.0: + - debian/rules: Use gcc-4.0 instead of gcc-3.3. (Closes: #315198) + - debian/control.in/main: Define Build-Depends: gcc-4.0. + - debian/control: Updated. + - debian/sysdeps/i386.mk: Replace depreciated "-mcpu", use "-mtune". + + * These dpatches are added to make glibc-2.3.5 buidable with gcc-4.0: + - debian/patches/glibc235-gcc4-cvs.dpatch: Fix some bad defintion of + internal for all architectures. + - debian/patches/glibc235-gcc4-elf.dpatch: Remove elf_machine_rel* + definitions for all architectures. + - debian/patches/glibc235-gcc4-jis0208.dpatch: Fix compilation breakage + for all architectures. + - debian/patches/glibc235-gcc4-wcstol_l.dpatch: Fix wcstol_l.c + compilation breakage for all 64bit architectures. + - debian/patches/glibc235-binutils216-ia64.dpatch: Fix _init/_fini was + not defined within procedure with binutils 2.16 for ia64. + - debian/patches/glibc235-gcc4-ia64-profile.dpatch: Fix compilation + breakage by removing strong_alias for ia64. + - debian/patches/glibc235-gcc4-ppc-procfs.dpatch: Fix ppc32 compilation + breakage by removing __uint128_t use. (Closes: #304963) + - debian/patches/glibc235-gcc4-arm-inline.dpatch: Fix arm compilation + breakage by changing static inline to auto inline for dl-machine.h. + - debian/patches/glibc235-gcc4-sparc-inline.dpatch: Fix sparc compilation + breakage by changing static inline to auto inline for dl-machine.h. + - debian/patches/glibc235-gcc4-sparc-mv8.dpatch: Fix obsolete gcc option + to replace newer standard one. + - debian/patches/glibc235-gcc4-mips-inline.dpatch: Fix mips compilation + breakage by changing static inline to auto inline for dl-machine.h. + - debian/patches/glibc235-gcc4-mips-sysdeps.dpatch: Fix mips compilation + breakage by changing large syscall arguments handling. + + * Move /etc/locale.alias to /usr/share/locale/locale.alias. + Don't install locale.alias.5. (Closes: #144670, #185991, #298784) + - debian/local/usr_sbin/locale-gen: Use /usr/share/locale/locale.alias + instead of /etc/locale.alias. + - debian/local/manpages/locale-gen.8: Delete reference to + locale.alias.5. + - debian/local/manpages/locale.gen.5: Likewise. + - debian/debhelper.in/locales.links: Remove file, don't link to /etc. + - debian/debhelper.in/locales.install: Install locale.alias under + /usr/share/locale, not /etc/. + - debian/debhelper.in/locales.manpages: Don't install locale.alias.5 + + * Add documents: + - debian/debhelper.in/libc.docs: Add CONFORMANCE and NAMESPACE. + + * Fix messages to add a patience message. (Closes: #305400) + - debian/local/usr_sbin/locale-gen + + * Move sprof from libc-prof to libc-dev. (Closes: #280030) + - debian/sysdeps/depflags.pl: Add Replaces: libc-dev (<< 2.3.5-2). + - debian/debhelper.in/libc-prof.install: Remove sprof install. + - debian/debhelper.in/libc-dev.install: Install sprof moved from -prof. + - debian/debhelper.in/libc-dev.install.hurd-i386: Likewise. + - debian/debhelper.in/libc-dev.manpages: Add sprof.1 install. + - debian/debhelper.in/libc-prof.manpages: Remove file, don't install + sprof.1. + + * Remove Depends: lib64gcc1 from libc6-sparc64. (Closes: #258647) + - debian/control.in/sparc64: Delete Depends: lib64gcc1. + - debian/control: Likewise. + + * Small change for libc6 upgrade problem. + - debian/debhelper.in/libc.postrm: Add plain messages and clean up. + + * Add conflicts to old initrd-tools for avoiding new glibc 2.3.4/5 ldd + blocks to generate initrd images. Suggested by Goswin von Brederlow + . + - debian/sysdeps/depflags.pl: Add conflicts initrd-tools (<< 0.1.79). + + * Add support PowerPC64, based on patches and suggestions by Bastian Blank + and Jeff Bailey : + - debian/control.in/main: Add Build-Depends: gcc-3.4 [powerpc] because + powerpc porting does not support gcc-4.0 currently. + - debian/control: Updated. + - debian/rules.d/control.mk: Add ppc64. + - debian/sysdeps/powerpc.mk: Added to support ppc64 target. + + * debian/sysdeps/hppa.mk: Add /usr/hppa64-linux-gnu/include symlinks for + dpkg-architecture changes. Reported by Matthias Klose + . (Closes: #313404) + + * A Costa . (Closes: #305662, #305666) + - debian/local/manpages/tzconfig.8: Fixed typo. + - debian/local/manpages/ldconfig.8: Likewise. + + * Clytie Siddall : + - debian/po/vi.po: Add the Vietnamese translation for locales. + (Closes: #309618, 311793) + + * Jens Seidel : + - debian/po/de.po: Fix typo. (Closes: #314084) + + -- GOTO Masanori Thu, 21 Apr 2005 16:52:36 +0900 + +glibc (2.3.5-1ubuntu17) dapper; urgency=low + + "Democracy is the process by which people choose the man who'll + get the blame." + - Bertrand Russell + + * Jeff Bailey + + * Fix FTBFS on sparc64 + - debian/sysdeps/sparc.mk: Add --without-tls --without-__thread + for sparc64. + + * Use 8-byte aligned buffers for doubleword transfer on HPPA + - debian/patches/hppa-fenv-align.dpatch: New file. + + * Implement glibc part of https://wiki.ubuntu.com//LocalesThatDontSuck + + * Disable locales package + - debian/control.in/main: Remove mention of locales package. + - debian/rules (DEB_INDEP_REGULAR_PACKAGES): Don't define locales + - debian/control: Regenerate. + + * Update locales binaries from Belocs locales packages. + - debian/patches/belocs-locale-update.dpatch: New file. + - debian/patches/belocs-test.dpatch: New file. + + -- Jeff Bailey Wed, 30 Nov 2005 10:41:50 -0500 + +glibc (2.3.5-1ubuntu16) dapper; urgency=low + + "A life without adventure is likely to be unsatisfying, but a life in + which adventure is allowed to take whatever form it will is sure to + be short." + - Bertrand Russell + + * Jeff Bailey + + * Fix symbol problems on sparc32/sparc64. + - debian/patches/ubuntu-new-binutils.dpatch: Same patch as needed + for powerpc. + + * Fix stricted iitlbp handling on hppa: + - debian/patches/hppa-iitlbp.dpatch: New file. + - debian/patches/00list: Update. + + * Don't do parallel on hppa, it gets sad. + - debian/sysdeps/hppa.mk: Force NJOBS to be 1. + + -- Jeff Bailey Thu, 24 Nov 2005 16:47:32 -0500 + +glibc (2.3.5-1ubuntu15) dapper; urgency=low + + * Jeff Bailey + + * Fix symbol problems on ia64. + - debian/patches/ubuntu-new-binutils.dpatch: Backport HJ Lu's + patch from CVS head for libm symbols. + + -- Jeff Bailey Wed, 23 Nov 2005 09:19:22 -0500 + +glibc (2.3.5-1ubuntu14) dapper; urgency=low + + * Jeff Bailey + + * Restore accidentally dropped amd64 patch. + - debian/patches/ubuntu-new-binutils.dpatch: Drop versioned + sem_trywait for amd64. + + -- Jeff Bailey Tue, 22 Nov 2005 13:24:30 +0000 + +glibc (2.3.5-1ubuntu13) dapper; urgency=low + + The "Where has all my time gone?" release. + + * Jeff Bailey Wed, 16 Nov 2005 21:39:17 -0500 + +glibc (2.3.5-1ubuntu12) breezy; urgency=low + + * Jeff Bailey + + * Add Serbian locale. + - debian/patches/locale-sr_CS.dpatch: New file + - debian/patches/00list: Update + + * Add Kurdish Locale. + - debian/patches/ku_TR.dpatch: New file + - debian/patches/00list: Update + + -- Jeff Bailey Thu, 6 Oct 2005 11:09:58 -0400 + +glibc (2.3.5-1ubuntu11) breezy; urgency=low + + * Jeff Bailey + + * Make langpacks less heavy to use. + - debian/patches/ubuntu-altlocaledir.dpatch: Update + Thanks to Martin Pitt for this patch! (Ubuntu# 11344) + + * Make sure services using NSS are restarted. + - debian/debhelper.in/libc.postinst: Set guard to 2.3.5-1 + (Ubuntu #13658) + + * Add Asturian locale from Spain + - debian/patches/ast_ES.dpatch: New file + - debian/patches/00list: Upate + Thanks to Jordi Mallach for this locale! + + * Protect against macro expansion in __memset_1 + - debian/patches/ubuntu-12864.dpatch: New file + - debian/patches/00list: Update + Thanks to Matthias Klose for this patch! (Ubuntu #12864) + + * Avoid segfault in initstate_r + - debian/patches/ubuntu-10245.dpatch: New file + - debian/patches/00list: Update + Thanks to Alex Mauer for reporting this! (Ubuntu #10245) + + * The French weekday starts on Monday. + - debian/patches/fr_FR.dpatch: New File + - debian/patches/00list: Update + Thanks to Sebastien Bacher for reporting this! (Ubuntu #12794) + + -- Jeff Bailey Thu, 1 Sep 2005 20:19:50 -0400 + +glibc (2.3.5-1ubuntu10) breezy; urgency=low + + * Jeff Bailey + + * Fix Missing Build Depend + - debian/control.in/main: Build-dep on libc6-dev-amd64 [i386] + - debian/control: Regenerate. + + -- Jeff Bailey Fri, 19 Aug 2005 17:48:47 +0000 + +glibc (2.3.5-1ubuntu9) breezy; urgency=low + + * Jeff Bailey + + * Make sure the header files for certain biarch setups are installed. + - debian/rules.d/debhelper.mk: Add call to extra_debhelper + - debian/sysdeps/i386.mk: Set extra_debhelper to cause the include + files to be added. + Add --includdir=/usr/include/x86_64-linux-gnu for amd64 pass. + + -- Jeff Bailey Fri, 19 Aug 2005 01:50:59 +0000 + +glibc (2.3.5-1ubuntu8) breezy; urgency=low + + * Jeff Bailey + + * Enable i386/amd64 biarch build. + - debian/patches/00list: Move amd64-lib patch to ... + - debian/patches/00list.amd64: ... here. This + installs our linker in /lib against the abi spec. We need + to install it in /lib64 in order for biarch to work. + - debian/control.in/amd64: New file + - debian/sysdeps/i386: Build amd64 pass. Use ldd from amd64 pass + instead of i386 pass. + - debian/rules.d/control.mk: Use amd64 + - debian/control regenerate. + + * Fix HPPA bug: + - debian/patches/00list: Disable glibc234-hppa-remove-mallocdef + Thanks to LaMont Jones / Carlos O'Donnell + + -- Jeff Bailey Thu, 11 Aug 2005 03:15:58 +0000 + +glibc (2.3.5-1ubuntu7) breezy; urgency=low + + * Jeff Bailey + + * Fix hppa build + - debian/sysdeps/hppa.mk: Make /usr/hppa64-linux-gnu before using it. + + * Make sure TLS information isn't stripped off + - debian/control.in/main: Build-dep on binutils >= 2.16.1-0 + (Fixes at least busybox-cvs, and possibly others) + - debian/control: Regenerate + + * Run the testsuite on Sparc + - debian/sysdeps/sparc.mk: Set libc_configure_build=sparcv9-linux + set sparc64_configure_build=sparc64-linux + + * Make some garbage collectors happier on Sparc + - debian/patches/glibc-235-sparc-datastart.dpatch: Define + __data_start. + - debian/patches/00list: Add it. + + -- Jeff Bailey Tue, 14 Jun 2005 14:13:33 +0000 + +glibc (2.3.5-1ubuntu6) breezy; urgency=low + + "Hold infinity in the palm of your hand..." -wb + + * Jeff Bailey + + * Fix ppc64 build + - debian/control.in/main: Add dependancy on libc6-dev-ppc64 + - debian/control: Regenerate + + -- Jeff Bailey Tue, 14 Jun 2005 10:11:54 +0000 + +glibc (2.3.5-1ubuntu5) breezy; urgency=low + + The " remember, it's c-h-a-i-n in toolchain :)" release. + + * Jeff Bailey + + * Update for binutils 2.16.1 + - debian/patches/glibc-235-ia64-binutils.dpatch: New file + - debian/patches/glibc-235-ppc-gcc34.dpatch: New file + (Thanks to Charles Majola for helping with this patch) + - 00list: Use them + + * More coping with dpkg-architecture changes + - debian/sysdeps/hppa.mk: Provide /usr/hppa64-linux-gnu/include + + * Drop support for Neanderthal Sparc systems + - debian/sysdeps/sparc.mk: Drop sparcv9 package + Default to nptl for main build and sparcv9b + - debian/control.in/opt: Drop sparcv9 package + - debian/control: Regenerate + + * Disable testsuite on hppa + - debian/rules.d/build.mk: Add check for RUN_TESTSUITE curpass + variable. + - debian/sysdeps/hppa: Set RUN_TESTSUITE to no. + + -- Jeff Bailey Mon, 13 Jun 2005 13:27:16 +0000 + +glibc (2.3.5-1ubuntu4) breezy; urgency=low + + The "Because the ppc build was just too fast..." Release. + + * Jeff Bailey + + * Enable ppc64 + - debian/rules.d/control.mk: Merge in ppc64 into the control file. + - debian/sysdeps/powerpc: Uncomment ppc64 lines. + - debian/control.in/main: Require gcc-3.4 3.4.4-0ubuntu4 on ppc + + -- Jeff Bailey Fri, 27 May 2005 16:11:26 +0000 + +glibc (2.3.5-1ubuntu3) breezy; urgency=low + + The "Come out come out wherever you are!" Release. + + * Jeff Bailey + + * More copping with dpkg-architecture changes + - debian/sysdeps/depflags.pl: Handle linux-gnu. + - debian/README: Change linux.mk reference to linux-gnu.mk + + * Prune .svn directories that were added by accident. + + * HPPA Take N... + - debian/sysdeps/hppa.mk: Disable TIMEOUTFACTOR for now, it + seems to hang the testsuite. + + * Loosen dependancy of locales on glibc. + - debian/locales-shlibver: New file based on shlibver ... + - debian/rules: ... include it here. + - debian/rules.d/debhelper.mk: Use LOCALES_DEP_VER to generate + locales dependancy. + + * Bring back useful debugging information + - debian/sysdeps/sparc.mk: Use -g2 rather than -g0 to work around bug. + - debian/sysdeps/ia64.mk: Likewise + - debian/sysdeps/linux-gnu.mk: Likewise + - debian/sysdeps/i386.mk: Likewise + - debian/sysdeps/amd64.mk: Likewise + + + -- Jeff Bailey Thu, 19 May 2005 13:21:04 +0000 + +glibc (2.3.5-1ubuntu2) breezy; urgency=low + + The "Join us now and share the software" Release. + + * Jeff Bailey + + * Cope with changes to dpkg-architecture + - debian/sysdeps/linux.mk: Rename to ... + - debian/sysdeps/linux-gnu.mk: ... this + + * "Be relaxed in what you receive" - RIPJP1998 + - debian/rules: Map older dpkg-architecture output + from "linux" to "linux-gnu" + + -- Jeff Bailey Wed, 18 May 2005 14:14:20 +0000 + +glibc (2.3.5-1ubuntu1) breezy; urgency=low + + This is the " *WHAT*EVER* :-)" release... + + * Jeff Bailey + + * Merge changes from Debian. + - Leave shlibver at 2.3.4-1, no new symbols were added. + - glibc232-tls-crashfix replaces ubuntu-26 patch. + - Provide nptl headers on systems where it's not the default + in /usr/include/nptl (Ubuntu BZ#3182) + + * Build with gcc-3.4 on all archs. + - debian/control.in/main: Set gcc-3.4 [!ia64], + gcc-3.4 (>= 3.4.3-6ubuntu1)[ia64], g++-3.4 + - debian/rules: Set BUILD_CC to gcc-3.4 + Force g++ to g++-3.4 + - debian/rules.d/build.mk: set CXX in configparms, + pass it on the configure commandline. + - debian/sysdeps/i386.mk: Enable bug work around for gcc-3.4 + Use -mtune instead of -mcpu. + - debian/sysdeps/hppa.mk: Likewise + - debian/sysdeps/sparc.mk: Likewise + - debian/sysdeps/amd64.mk: Remove gcc-3.4 hardcode + - debian/sysdeps/powerpc.mk: Likewise + - debian/sysdeps/ia64.mk: Likewise + + * Build on hppa again, welcome back! + - debian/patches/glibc-235-hppa-configure.dpatch: New file. + - debian/patches/glibc-235-hppa-lt.dpatch: New file. + - debian/patches/glibc-235-hppa-sysdeps.dpatch: New file. + - debian/patches/00list: Update, prune glibc234-hppa-linesep + and glibc234-hppa-full-nptl-2004-12-20. + - debian/sysdeps/hppa.mk: Force disable tls and __thread. + set TIMEOUTFACTOR=10 to allow the testsuite to finish correctly. + Thanks for Carlos O'Donell and LaMont Jones for helping with this. + + -- Jeff Bailey Tue, 17 May 2005 21:26:39 +0000 + +glibc (2.3.5-1) experimental; urgency=low + + * GOTO Masanori + + * New upstream release. + - debian/shlibver: Bump up to 2.3.5-1. + + * Drop patches: + - debian/patches/hurd-malloc.dpatch: Removed, it's already applied in + the upstream source. + + * Merge with 2.3.2.ds1-21, added: + - debian/patches/linuxthreads-sizefix.dpatch: Added. + - debian/po/fi.po: Added. + - debian/patches/glibc23-mips-lazy-eval.dpatch: Added, drop dl-machine.h + because the recent upstream should not need such change. + - debian/patches/glibc232-tls-crashfix.dpatch: Added, remove some parts + that are applied in the recent version. + + * Merge with 2.3.2.ds1-21, changed: + - debian/debhelper.in/libc.preinst: Fix typo, proofreading. + - debian/debhelper.in/libc.preinst: Add export LC_ALL=C. + - debian/patches/00list: Update. + + * Update linuxthreads size fix for not only ia64, but also alpha, + amd64, i386, powerpc, s390, sh and sparc. + - debian/patches/linuxthreads-sizefix.dpatch: Update. + + * Fix more libc6 upgrade problem from old <= 2.3.4-1: + - debian/debhelper.in/libc.postinst: Don't use uname -m, use + dpkg --print-installation-architecture. Hwcappkgs mechanism does not + work on (ex:) install architecture: i386, kernel architecture: amd64. + - debian/debhelper.in/libc.postrm: Likewise. + + * Support libc6-dev NPTL static libraries and headers into + /usr/lib/nptl and /usr/include/nptl. (Closes: #276062, #279423) + - debian/rules.d/build.mk: Add installation code from tmp-nptl to + tmp-libc. + - debian/debhelper.in/libc-dev.install: Add tmp-libc/usr/lib/nptl*. + + -- GOTO Masanori Sun, 10 Apr 2005 14:02:19 +0900 + +glibc (2.3.5-0ubuntu3) breezy; urgency=low + + * Jeff Bailey + + - debian/sysdeps/amd64.mk: Hardcode gcc-3.4 + - debian/debhelper.in/libc.preinst: Fix pasto for ppc kernel check + also add check for ia64 kernel. + - debian/control.in/main: Build-dep on gcc-3.4 for amd64. + + -- Jeff Bailey Thu, 21 Apr 2005 10:39:41 -0400 + +glibc (2.3.5-0ubuntu2) breezy; urgency=low + + * Jeff Bailey + + * ia64 is now NPTL only + - debian/control.in/main: Require gcc-3.4 for ia64 + - debian/sysdeps/ia64.mk: Build only one pass, make it nptl. + + * Fix currency definition for Turkey, New Lira (Ubuntu BZ#9743) + - debian/ubuntu-9743-tr_TR.dpatch: New file + + -- Jeff Bailey Thu, 21 Apr 2005 02:37:32 -0400 + +glibc (2.3.5-0ubuntu1) breezy; urgency=low + + * Jeff Bailey + + * Update to new version, merge updates from Debian. + - debian/patches/00list: Remove hurd-malloc. + - debian/control.in/main: Depend on linux-kernel-headers >= 2.6.11.2-0 + - debian/sysdeps/depflags.pl: Likewise. + - debian/sysdeps/powerpc: New file for ppc64 and nptl. + - debian/control.in/ppc64: New file for ppc64. + - debian/control.in/sparc64: Add trailing space to make control happy. + - debian/rules.d/control.mk: Add in ppc64 control bits. + - debian/rules.d/build.mk: Forcably disable selinux for now. + - debian/debhelper.in/libc.preinst: Require 2.6 kernel for ppc. + - debian/control.in/main: Require gcc-3.4 for powerpc. + + * Disable PPC64 bits, pending toolchain update. + + -- Jeff Bailey Thu, 14 Apr 2005 00:33:04 +0000 + +glibc (2.3.4-3) experimental; urgency=low + + * GOTO Masanori + + * The complete libc6 installation breakage is fixed when hwcap packages + (libc6-i686 and libc6-sparcv9/sparcv9b) is installed. It introduced + /etc/ld.so.hwcappkgs to track hwcap packages. + - debian/debhelper.in/libc.postinst: Create /etc/ld.so.hwcappkgs if + such file is not existed. Check hwcap packages and decide to keep + /etc/ld.so.nohwcap. Put special ld.so.nohwcap string when the + downgraded version does not support ld.so.hwcappkgs. + - debian/debhelper.in/libc-otherbuild.postinst: When it's configured, + check /etc/ld.so.hwcappkgs and decides to keep /etc/ld.so.nohwcap. + - debian/debhelper.in/libc-otherbuild.postrm: When it's removed, + check /etc/ld.so.hwcappkgs and search other hwcap package's version + consistency. Then it decides to remove /etc/ld.so.nohwcap. + - debian/rules.d/debhelper.mk: Include "libc-" into OPT string + replacement. + + -- GOTO Masanori Tue, 29 Mar 2005 17:22:25 +0900 + +glibc (2.3.4-2) experimental; urgency=low + + * GOTO Masanori + + * Fix libc6 installation breakage when old libc6 and libc6-i686 was + installed, and it's replaced with a new libc6. This fix is limited + for i686 optimized package, not for sparc multiple opt packages. + (Closes: #300806, #300842) + - debian/debhelper.in/libc.postinst: Add check for the existence of + multiple optimized packages. + - debian/rules.d/debhelper.mk: Add the replace code from CURRENT_VER + to $(DEB_VERSION) for libc.postinst. Install libc-otherbuild.postrm. + - debian/debhelper.in/libc-otherbuild.postrm: Added to remove + unneeded ld.so.nohwcap for single optimized package. + + -- GOTO Masanori Tue, 22 Mar 2005 11:17:32 +0900 + +glibc (2.3.4-1) experimental; urgency=low + + * GOTO Masanori + + * Reflect from glibc-snapshot package 2.3.4-0.3.snapshot20041220.2. + + * Add glibc-libidn package handling for the following files: + - debian/sysdeps/gnu.mk + - debian/sysdeps/linux.mk + - debian/sysdeps/kfreebsd-gnu.mk + - debian/rules + + * Add separated shlibver file: + - debian/rules: Include debian/shlibver. + - debian/shlibver: Bump up shlibver to 2.3.4-1. + + * Delete removed file info/libc-dir-add.info: + - debian/debhelper.in/glibc-doc.install + - debian/rules.d/build.mk + + * These dpatches are added in debian/patches/: + - glibc234-alpha-xstat.dpatch: Fix alpha compilation failure when + kernel headers < 2.6.4 is used. + - glibc234-hppa-linesep.dpatch: Add to fix hppa compilation failure. + - glibc234-hppa-remove-mallocdef.dpatch: Add to + fix hppa compilation breakage until ldcw lock change is introduced. + This patch will be removed when ldcw patch is revised to apply. + - glibc234-m68k-linuxthreads-fPIC.dpatch: Add to fix m68k compilation + warnings to remove linuxthreads o-iterator. + - glibc234-hppa-full-nptl-2004-12-20.dpatch: Remove in-cvs parts, + apply the remained stuff for hppa, except for ldcw lock change. + This file is renamed from 50_glibc232-hppa-full-nptl-2003-10-22.dpatch. + + * These dpatches are modified/replaced with the newer patches in + debian/patches/: + - glibc-i686-timing.dpatch: Modify makefile. Fix i686 library breakage. + - glibc23-cmov.dpatch: Drop additional TLS parts. + - glibc23-sse-oldkernel.dpatch: Regenerated. + - hppa-drop-utimes.dpatch: Regenerated. + - ldconfig.dpatch: The previous patch seems being wrong because it + supresses all warnings about error. The new patch I introduced should + not warn during debootstrap, and works finely during normal operation. + - ldd.dpatch: Regenerated. + - ldso-disable-hwcap.dpatch: Regenerated. + - locale-no_NO.dpatch: Drop locale.alias part which is already applied. + - makeconfig.dpatch: Regenerated. + - 50_glibc232-arm-dwarf2-buildfix.dpatch: Modify to fix sjlj compilation. + - 50_glibc232-m68k-dwarf2-buildfix.dpatch: Likewise. + + * These dpatches are currently suspended to apply (those entries in + 00list are commented out) with various reasons, they need update or + confirmation: + - 30_glibc232-base.dpatch: If this patch is needed, the another + binutils related problem should be occured. It's disabled for a + while, then remove iff no problem is reported. + - alpha-pic.dpatch: #175511 said the upstream should have another + different fix. After confirmation, it should be removed. + - arm-output-format.dpatch: I believe the recent arm glibc should work + without this patch. If arm still has problem, then enable it. + - glibc232-globfree-clear.dpatch: The latest upstream has gl_pathv=NULL + part, bug gl_pathc=0 part. I think the current code is harmless. + It needs confirmation to Jeff Licquia. + - translation-fr.dpatch: The upstream rejects this wishlist bug. After + confirmation, it'll be removed. + - mips-asm-unistd.dpatch: I need to look at the result of the current cvs + unistd.h. + - hurd-enable-ldconfig.dpatch: Disabled currently. + + * These dpatches are currently applied, but it may be removed from + 00list as until sarge stuff: + - libgcc-compat-all.dpatch: It'll be removed in future. + - libgcc-compat-other.dpatch: Likewise. + + * These dpatches are currently suspended to apply from 00list because + we plan to be removed after sarge release: + - glibc23-ctype-compat.dpatch: Until sarge stuff. + - glibc23-errno-hack.dpatch: Until sarge stuff. + - glibc23-errno.dpatch: This patch should not be considered permanent; + it may be one of until sarge stuff. + - glibc23-function-compat.dpatch: Until sarge stuff. + - locales-supported.dpatch: Debian specific, until sarge stuff. + + * This dpatch is not used currently: + - 10_cvs.dpatch + + * These dpatches are removed from debian/patches/ because they are already + in upstream cvs: + - 11_cvs_locales.dpatch + - 11_shlib-lds.dpatch + - 51_glibc232-hppa-dist.dpatch + - 51_glibc232-hppa-nopltrel.dpatch + - 51_glibc232-hppa-profiling.dpatch + - 52_glibc233-hppa-feupdateenv.dpatch + - 90_glibc232-statvfs.dpatch + - 90_glibc232-timezones.dpatch + - alpha-crti.dpatch + - alpha-rtsigaction-fix.dpatch + - fno-unit-at-a-time.dpatch + - glibc23-dlclose-l_opencount.dpatch + - glibc23-libio-compat.dpatch + - glibc23-powerpc-sigcontext.dpatch + - glibc23-sparc-pread64.dpatch + - glibc232-catchsegv-insecure-temp.dpatch + - glibc232-hppa-unwindinfo.dpatch + - glibc232-ia64-unwindinfo.dpatch + - glibc232-iconv-ucs2-unalign.dpatch + - glibc232-mips-dl-machine.dpatch + - glibc232-misc-syslog.dpatch + - glibc232-nptl-posix-timer.dpatch + - glibc232-ppc32-nanosecond.dpatch + - glibc232-remove-vsyscall.dpatch + - glibc232-sparc64-softfp.dpatch + - glibcbug.dpatch + - hppa-syscall.dpatch + - hurd-cleanup.dpatch + - hurd-exit-attr-hidden.dpatch + - hurd-i386-hwcap.dpatch + - hurd-libc-lock.dpatch + - hurd-utmp-file.dpatch + - locale-byn_ER.dpatch + - locale-et_EE.dpatch + - locale-ro_RO.dpatch + - locale-strfmon.dpatch + - mips-sgidefs.dpatch + - nptl-io-locking.dpatch + - nptl-page-align.dpatch + - nptl-pthread-c++.dpatch + - nptl-pthread-create-attr.dpatch + - nptl-pthread-once.dpatch + - pthread-cleanup.dpatch + - s390-backtrace.dpatch + - s390-pthread-fpic.dpatch + - syslog-locale.dpatch + + * Hurd update: + - debian/patches/hurd-string.dpatch: Removed, it's already in cvs. + - debian/patches/00list.hurd-i386: Removed. + - debian/patches/hurd-malloc.dpatch: Add to fix Hurd build fix, patch + from Michael Banck . + + -- GOTO Masanori Fri, 18 Mar 2005 09:41:49 +0900 + +glibc (2.3.2.ds1-21) unstable; urgency=low + + * GOTO Masanori + + - debian/debhelper.in/libc.manpages: Add tzconfig.8. Reported by Matthijs + Mohlmann . (Closes: #182981) + - debian/local/manpages/iconv.1: Escape hyphens for Unicode environments. + Patched by Lars Wirzenius . (Closes: #292013) + + - debian/po/pl.po: Add Polish debconf translation. Patched by Emilian + Nowak . (Closes: #294444) + + -- GOTO Masanori Mon, 14 Feb 2005 09:26:26 +0900 + +glibc (2.3.2.ds1-20ubuntu13) hoary; urgency=low + + * debian/rules.d/control.mk: Mark debian/control target as phony. + + -- Colin Watson Wed, 23 Mar 2005 18:56:07 +0000 + +glibc (2.3.2.ds1-20ubuntu12) hoary; urgency=low + + * Martin Pitt + + - debian/patches/ubuntu-altlocaledir.dpatch: Revert new time + comparison result caching from 2.3.2.ds1-20ubuntu11 since this + breaks if applications use several translation domains from both + /usr/share/locale and /usr/share/locale-langpack/. Now just avoid + to stat64() files when we already know that they don't exist. + This reduces the number of stat calls at least a bit. + (Ubuntu #7835) + - debian/local/usr_sbin/remove-language-locales: Never remove the + system default locale specified in /etc/environment. + (Ubuntu #8000) + + * Jeff Bailey + + - debian/patches/ubuntu-7897-threading.dpatch: Take various patches + from upstream to resolve subtle incompatabilities between + linuxthreads headers and NPTL compiling. + Thanks to Gerald Hochegger for narrowing the patch down. + (Ubuntu #7897) + - debian/patches/11_cvs_locales.dpatch: Update from CVS HEAD + to get current locale information. + - debian/patches/11_cvs_timezone.dpatch: Update from tzdata2005c. + - debian/patches/ubuntu-26-tls.dpatch: Let xmms work on + machines with nVidia binary drivers and tls. (Ubuntu #26) + - debian/patches/ubuntu-5604-iso3166.dpatch: Serbia and Montenegro + was Yugoslavia. (Ubuntu #5604) + + - debian/patches/00list: Disable locale-et_EE, provided by CVS update. + Disable 90_glibc232-timezones, add 11_cvs_timezone + Add ubuntu-26-tls, ubuntu-5604-iso3166. + + * Colin Watson + + - debian/debhelper.in/locales.config: Be careful to set + LC_COLLATE=C while sorting locale lists. + Sort/uniq locales read from locale.gen to avoid duplicate + locales reproducing indefinitely. + Avoid generating multiple identical UTF-8 locales for similar + legacy locales. + Write user-visible messages to stderr, not stdout; the latter + belongs to debconf. + + -- Jeff Bailey Wed, 23 Mar 2005 13:08:26 +0000 + +glibc (2.3.2.ds1-20ubuntu11) hoary; urgency=low + + * debian/local/usr_sbin/install-language-locales: + - Reworked updating of /etc/locale.gen to not sort the file, but only + append not yet existing locales. + - Use --keep-existing for locale-gen. + * debian/patches/ubuntu-altlocaledir.dpatch: Cache time comparison result + instead of stat()ing the files over and over again. (Ubuntu #7487) + + -- Martin Pitt Mon, 14 Mar 2005 23:22:54 +0000 + +glibc (2.3.2.ds1-20ubuntu10) hoary; urgency=low + + * debian/local/usr_sbin/locale-gen: Add --keep-existing option, so that + successive calls to locale-gen (e.g. by language packs) don't take + O(n^2) time. + * debian/local/manpages/locale-gen.8.sgml: Document --keep-existing. + * debian/local/usr_sbin/install-language-locales: Use locale-gen + --keep-existing. + + -- Colin Watson Thu, 10 Mar 2005 17:11:40 +0000 + +glibc (2.3.2.ds1-20ubuntu9) hoary; urgency=low + + * debian/local/usr_sbin/install-language-locales: Fixed grepping of locales + to install if /etc/locale.gen is not present. + + -- Martin Pitt Thu, 3 Mar 2005 18:44:16 +0000 + +glibc (2.3.2.ds1-20ubuntu8) hoary; urgency=low + + * Don't use parallel make, breaks from time to time. + + -- Matthias Klose Thu, 10 Feb 2005 13:23:48 +0000 + +glibc (2.3.2.ds1-20ubuntu7) hoary; urgency=low + + * debian/patches/ubuntu-multiarch.dpatch: Added Tollef Fog Heen's multiarch + support. + + -- Martin Pitt Wed, 9 Feb 2005 11:50:25 +0100 + +glibc (2.3.2.ds1-20ubuntu6) hoary; urgency=low + + * Updated patch ubuntu-altlocaledir.dpatch: Also take the very first found + domain into account when comparing timestamps. (Ubuntu #6048) + + -- Martin Pitt Tue, 8 Feb 2005 16:26:36 +0100 + +glibc (2.3.2.ds1-20ubuntu5) hoary; urgency=low + + * Updated patch ubuntu-altlocaledir.dpatch to fix some language pack bugs: + - Fix domain lookup for the very first string, which did not look in all + available /usr/share/locale-langpack/ locales before. (Ubuntu #6047) + - Fix mtime timestamp comparison to actually pick the latest (not the + last) one. (Ubuntu #6048) + - Changed the looping over all translation domains to be consistent with + the other code. + - Changed stat() to stat64() to be consistent with the other code. + + -- Martin Pitt Tue, 1 Feb 2005 17:32:03 +0000 + +glibc (2.3.2.ds1-20ubuntu4) hoary; urgency=low + + * debian/patches/pthread-sigsetjmp.dpatch: Fix __sigsetmask function + declaration. Triggered by gcc-4.0. + + -- Matthias Klose Tue, 1 Feb 2005 13:57:22 +0100 + +glibc (2.3.2.ds1-20ubuntu3) hoary; urgency=low + + * debian/local/usr_sbin/: Added scripts install-language-locales, + remove-language-locales which generate/remove all supported UTF-8 locales + (ignoring @euro ones) for a given language code. + * debian/local/manpages/: Added install-language-locales.8, + remove-language-locales.8 + * debian/debhelper.in/locales.install, debian/debhelper.in/locales.manpages: + install the scripts and manpages + + -- Martin Pitt Mon, 24 Jan 2005 16:24:08 +0100 + +glibc (2.3.2.ds1-20ubuntu2) hoary; urgency=low + + * debian/debhelper.in/locales.config: Don't attempt to trap ERR, which is + not portable (closes: Ubuntu #5458). + + -- Colin Watson Wed, 19 Jan 2005 12:01:41 +0000 + +glibc (2.3.2.ds1-20ubuntu1) hoary; urgency=low + + * Merge 2.3.2.ds1-20 changes. + Backout the change to move the amd64 lib64 symlinks from base-files + to glibc. Requires more work. + + -- Matthias Klose Sat, 8 Jan 2005 20:27:52 +0100 + +glibc (2.3.2.ds1-20) unstable; urgency=high + + * GOTO Masanori + + - debian/patches/hppa-drop-utimes.dpatch: Fix sudo breakage because + system call utimes() is not defined on hppa. Patched by Randolph Chung + . (Closes: #284449) + + - Fix ia64 unwind FTBFS. Patched by Matthias Klose : + - debian/patches/glibc232-ia64-unwindinfo.dpatch: Modify Makeconfig + which unconditionally set the libunwind macro to -lunwind, until the + it's safe again to regenerate the configure script, on advice of + Jeff Bailey. (Closes: #284563) + - debian/control.in/main: Tighten build dependency on ia64 to + gcc-3.3_3.3.5-5. + - debian/control: Likewise. + + - debian/patches/librt-mips.dpatch: Update to provide clock_{set,get}time + with versioned symbol both GLIBC_2.0 and GLIBC_2.2. This patch should + be applied until sarge+1 will be released. + + - debian/local/manpages/locale.1: Add the description about + /usr/share/i18n/SUPPORTED. Requested by Guillermo S. Romero + . (Closes: #284137) + + -- GOTO Masanori Wed, 15 Dec 2004 19:44:47 +0900 + +glibc (2.3.2.ds1-19ubuntu4) hoary; urgency=low + + * Add zoneinfo-udeb package containing time zone information tables for + use in the installer. + + -- Colin Watson Fri, 31 Dec 2004 21:35:11 +0000 + +glibc (2.3.2.ds1-19ubuntu3) hoary; urgency=low + + * debian/debhelper.in/locales.config: Automatically generate UTF-8 locales + corresponding to existing legacy locales. Note that this currently + happens every time locales.config is run; suggestions for where to + record that the migration is complete are welcome. + + -- Colin Watson Wed, 22 Dec 2004 04:27:46 +0000 + +glibc (2.3.2.ds1-19ubuntu2) hoary; urgency=low + + * ubuntu-altlocaledir.dpatch: fix FTBFS by including (brown + paperbag...) + + -- Martin Pitt Fri, 17 Dec 2004 09:53:22 +0100 + +glibc (2.3.2.ds1-19ubuntu1) hoary; urgency=low + + * Added patch ubuntu-altlocaledir.dpatch: support an alternate gettext tree + in /usr/share/locale-langpack/ + + -- Martin Pitt Fri, 10 Dec 2004 15:00:03 +0000 + +glibc (2.3.2.ds1-19) unstable; urgency=high + + * GOTO Masanori + + - debian/local/manpages/gencat.1: Use \fR instead of \fT for bold + font, and use .TP instead of .PP for option usage. Patched by + Lars Wirzenius . (Closes: #279685) + - debian/local/manpages/iconvconfig.8: Likewise + fix typo. + - debian/local/manpages/mtrace.1: Likewise. + - debian/local/manpages/locale.1: Add "SEE ALSO" to the end of the + manual. (Closes: #282128) + + - debian/sysdeps/linux.mk: Drop -fomit-frame-pointer from compiling + option to build NPTL packages in order to get valid backtrace. + -D__USE_STRING_INLINES is also dropped to consider about backtraces. + Requested by David Mosberger . + - debian/sysdeps/amd64.mk: Likewise. + - debian/sysdeps/i386.mk: Likewise. + - debian/sysdeps/s390.mk: Likewise. + - debian/sysdeps/sparc.mk: Likewise. + + - debian/patches/glibc232-hppa-unwindinfo.dpatch: Add for unwind + information for hppa plt fixup routine. Patched by + Randolph Chung . (Closes: #281993) + - debian/patches/glibc232-ia64-unwindinfo.dpatch: Add to work + ia64 unwind info and libunwind properly. Requested by David Mosberger + . (Closes: #278837) + + - debian/patches/glibc232-catchsegv-insecure-temp.dpatch: Add fix + CAN-2004-0968: catchsegv creates insecure temporary file. + (Closes: #278278) + - debian/debhelper.in/libc.install: Remove glibcbug to fix CAN-2004-0968, + and it's meaningless to include nowadays. (Closes: #205600) + - debian/debhelper.in/libc.manpages: Remove glibcbug.1 from manpage. + - debian/patches/glibcbug.dpatch: Add comment to be removed. + + - debian/make-cvs-patch.sh: Change like make-cvs-locales-patch.sh. + + - debian/patches/s390-pthread-fpic.dpatch: Add to fix lam build failure. + It changes pthread_atfork in libpthread_nonshared.a is built with + -fPIC, not -fpic, that is already applied in libc_nonshared.a. + (Closes: #280445) + + - debian/control.in/libc: Add gcc | c-compiler to Recommends of libc-dev. + This change avoids that aptitude tries to install various compiler + packages if only c-compiler is specified. (Closes: #283668) + - debian/control.in/main: Add Build-Depends: gcc-3.3 (>= 1:3.3.5-3) [ia64] + | gcc-3.4 (>= 3.4.3-2) [ia64] because ia64 should be built with gcc + which supports libunwind. Requested by Matthias Klose + . + - debian/control: Update. + + - debian/patches/nptl-pthread-c++.dpatch: Add to disable using C99 + designators for nptl pthread.h to fix C++ breakage. Patched by + Andreas Jochens and Matthias Klose + . (Closes: #275997, #283461) + + -- GOTO Masanori Sat, 6 Nov 2004 19:04:26 +0900 + +glibc (2.3.2.ds1-18) unstable; urgency=high + + * GOTO Masanori + + - debian/patches/glibc232-sparc64-softfp.dpatch: Add to fix + glibc build breakage on sparc with binutils 2.15. It's caused by + the register misusage, that was allowed by the previous binutils. + (Closes: #266598) + - debian/debhelper.in/libc.postinst: Fix to execute NSS services + correctly when file-rc is used. (Closes: #275403) + + - debian/patches/90_glibc232-timezones.dpatch: Update to tzdata2004e. + + - debian/debhelper.in/locales.prerm: Add to fix warning not to remove + /usr/lib/locale/locale-archive. (Closes: #264020) + - debian/debhelper.in/locales.postrm: Add to remove /etc/locale.gen + when purge is specified. + + -- GOTO Masanori Tue, 5 Oct 2004 09:32:01 +0900 + +glibc (2.3.2.ds1-17) unstable; urgency=high + + * GOTO Masanori + + - debian/sysdeps/depflags.pl: Fix typo, from "kerberos4th-dev" to + "kerberos4kth-dev". (Closes: #266637) + - debian/patches/00list: Add locale-byn_ER.dpatch that was missing + when I fixed. (Closes: #270998) + + - debian/patches/glibc23-dlclose-l_opencount.dpatch: Fix reference + counter in dl that does not sometimes decrement correctly. + (Closes: #233301, #259211) + - debian/patches/glibc232-globfree-clear.dpatch: Workaround and + to make sure that fix to enforce clear gl_pathc and gl_pathv in + globfree() for sarge to conform LFS test, requested by Jeff Licquia. + (Closes: #264884) + + - debian/local/manpages/tzselect.1: Fix typo. (Closes: #269747) + + - debian/debhelper.in/libc.preinst: Don't install glibc when kernel + is not 2.6 on amd64. + - debian/sysdeps/amd64.mk: Patch from Andreas Jochens: + - Drop the 'nptl' pass from GLIBC_PASSES. + - Use 'nptl' instead of 'linuxthreads' in the 'libc' pass (this + requires kernel >= 2.6.0, but 2.4 is not supported by the amd64 + port anyway). + + -- GOTO Masanori Thu, 19 Aug 2004 12:39:35 +0900 + +glibc (2.3.2.ds1-16) unstable; urgency=high + + * GOTO Masanori + + - debian/FAQ: Add note about errno + NPTL workaround. + (Closes: #261035) + - debian/patches/glibc232-mips-dl-machine.dpatch: Fix mips/mipsel + compilation breakage with the recent binutils. (Closes: #262646) + - debian/patches/glibc232-m68k-reloc.dpatch: Fix m68k compilation + breakage with the recent binutils. (Closes: #263601) + + * Jeff Bailey + + - debian/debhelper.in/libc-dev.install.hurd-i386: Don't install + getconf. + + -- GOTO Masanori Mon, 2 Aug 2004 11:53:54 +0900 + +glibc (2.3.2.ds1-15) unstable; urgency=high + + * Jeff Bailey + + - debian/sysdeps/depflags.pl: Replace ${libc}, not libc6. + (Closes: #262669) + + - Marking urgency as high, last upload should have been marked + this way for RC bug fix. + + -- Jeff Bailey Sun, 1 Aug 2004 08:50:13 -0400 + +glibc (2.3.2.ds1-14) unstable; urgency=low + + * GOTO Masanori + + - debian/patches/glibc232-iconv-ucs2-unalign.dpatch: Add to fix + iconv unalignment access with UCS-2BE/UCS-2LE on some architectures. + (Closes: #234691) + - debian/patches/locale-byn_ER.dpatch: Add to fix byn_ER localedef + breakage. Patched by Denis Barbier . + (Closes: #246270, #257658) + - debian/patches/locales-supported.dpatch: Add no_NO.ISO-8859-1 into + SUPPORTED. (Closes: #246170) + - debian/patches/glibc232-nptl-posix-timer.dpatch: Fix posix timer + SIGEV_THREAD notification is broken. (Closes: #259878) + - debian/patches/glibc232-remove-vsyscall.dpatch: Remove __ASSUME_VSYSCALL + to fix the system startup failure on the machine using PAX. + (Closes: #245563) + - debian/patches/90_glibc232-timezones.dpatch: Updated to tzcode2004b + and tzdata2004b. + - debian/patches/locale-eu_FR.dpatch: Add eu_FR and eu_FR@euro. + Patched by Christian Perrier . (Closes: #257840) + - debian/patches/locale-sr_CS.dpatch: Add sr_CS and sr_CS@cyrillic. + Patched by Christian Perrier . But this patch is + conflicted to sr_YU things - it's disabled for a while. + + - debian/local/etc_init.d/nscd: Rewritten the whole script to make + use of the initscript's method. Patched by Thomas Hood + . + (Closes: #229273, #229484, #253119, #252284, #222953) + + - debian/local/manpages/iconv.1: Add small description for `-c' and + so on. (Closes: #189958) + - debian/local/manpages/rpcgen.1: Add -M option description. + (Closes: #193467) + - debian/po/de.po: Updated. Patched by Helge Kreutzmann + . (Closes: #251732) + + - debian/debhelper.in/libc.postinst: Add apache-ssl and apache-perl to + restart script. Suggested by Daniel Jacobowitz . + (Closes: #208997) + - debian/debhelper.in/libc.postinst: Add vsftpd to restart script. + Suggested by Jeff Bailey . (Closes: #213535) + - debian/debhelper.in/libc.postinst: Add lpr-ppd. Change init script + name from lpr, lpr-ppd to lpd, lpd-ppd. (Closes: #205084) + - debian/debhelper.in/libc.postinst: Fix package detection failure when + uninstalled package is encountered during NSS upgrade. + (Closes: #193278) + - debian/debhelper.in/libc.postinst: Add export LANG=C to work scripts + correctly even if user sets locale environment variable. + - debian/debhelper.in/libc.postinst: Change sleep time from 1 to 2. + It's work-around fix, actual fix is start-stop-daemon --stop should + check the process termination. See: #211784. + + - debian/local/usr_sbin/tzconfig: Fix typo: old_timezone vs oldtimezone. + Reported by Kai Henningsen . (Closes: #213159) + + - debian/control.in/libc-dbg: Add Provides: libc-dbg for -dbg package. + (Closes: #219145) + - debian/control.in/libc, debian/control: likewise. + + - /usr/bin/getconf and getconf.1 are moved from libc-dev to libc. + (Closes: #239170) + - debian/debhelper.in/libc-udeb.install: Add libutil* and libcrypt* + to -udeb. (Closes: #258956) + + - Put amd64 port from Andreas Jochens. + - debian/control: Updated. + - debian/control.in: Modify Build-Depends: gcc-3.3 | gcc-3.4. + glibc can build at least gcc-3.3 and later. And this will make it + possible to build glibc with gcc-3.4 when gcc-3.4 becomes the default + on amd64 without changing glibc again. + - debian/sysdeps/amd64.mk: Use workaround -g0 option when gcc-3.4 is + used, because gcc-3.4 on amd64 with -g0 + nested functions are broken: + http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=260710 + + * Andreas Jochens + + - debian/rules.d/control.mk: Add amd64 at the appropriate places. + - Add debian/patches/amd64-lib.dpatch to disable the biarch lib64 dir on + amd64 and enable this patch in debian/patches/00list. (Closes: #246547) + - Add a new file debian/sysdeps/amd64.mk with GLIBC_PASSES += nptl + (Closes: #248192) + - debian/sysdeps/amd64.mk: Use gcc instead of gcc-3.3 on amd64. + - debian/patches/fno-unit-at-a-time.dpatch: Add -fno-unit-at-a-time + test to configure for amd64 + gcc-3.4. (Closes: #261082) + + * Jeff Bailey + + - debian/patches/syslog-locale.dpatch: Include patch from Jakub + Jelinek to make sure syslogging happens in the C locale. + Thanks to pere for catching this. (Closes: #161340, #158651) + + - debian/patches/hurd-string.dpatch: New file + - debian/patches/00list.hurd-i386: Only load hurd-string on hurd-i386. + + -- GOTO Masanori Mon, 31 May 2004 23:43:29 +0900 + +glibc (2.3.2.ds1-13) unstable; urgency=low + + * Jeff Bailey + + - debian/control.in/main: Change to new email address. + - debian/debhelper.in/libc-dev.install.hurd-i386: Add missing files. + Thanks to Michael Banck (Closes: #246355) + - debian/sysdeps/gnu.mk: Stub out kernel_check. + Thanks to Michael Banck + + * GOTO Masanori + + - debian/debhelper.in/libc.preinst: Fixed to work when kernel version is + x.y.zFOOz pattern. (Closes: #245643) + - debian/patches/locale-ro_RO.dpatch: Fix Romania can't be built. + (Closes: #245657) + - debian/local/manpages/locale.1: Fix typo: LOC_PATH -> LOCPATH. + (Closes: #246557) + - debian/rules: Fix build correctly when we execute "debian/rules binary". + Patched by Jurij Smakov . (Closes: #247241) + - debian/patches/glibc232-misc-syslog.dpatch: Fix syslog segv under + memory shortage. (Closes: #249559) + - debian/patches/s390-backtrace.dpatch: Fix 900 test failures in the + libjava testsuite in gcc-3.4 on s390. (Closes: #243394) + - debian/sysdeps/linux.mk: Fix build failure when kernel headers directory + in /usr/src has symlink asm direcotry. Patched by Wolfram Gloger + . (Closes: #249408) + + - debian/debhelper.in/libc-udeb.install: Add libnss_files.so*, + - debian/libnss-dns-udeb, libnss-dns-files: Update description. + - debian/control: Update. + + * Colin Watson + + - debian/rules: Add libnss-dns-udeb and libnss-files-udeb. + (Closes: #247430) + - debian/.cvsignore: Likewise. + - debian/control.in/libc: libc-udeb depends on libnss-dns-udeb and + libnss-files-udeb. + - debian/debhelper.in/libc-udeb.install: Remove libnss_dns and libnss_files. + - debian/rules.d/control.mk: Likewise. + - debian/control.in/libnss-dns-udeb: Update description. + + -- GOTO Masanori Wed, 26 May 2004 00:18:06 +0900 + +glibc (2.3.2.ds1-12) unstable; urgency=low + + * GOTO Masanori + + - debian/local/etc_init.d/mountkernfs: Fix typo. (Closes: #229340) + - debian/local/etc_init.d/mountkernfs: Fix error if the kernel does not + set CONFIG_TMPFS on 2.4. (Closes: #230758) + - debian/local/etc_init.d/mountkernfs: Check each mount directory is + actually directory or not. (Closes: #234813) + - debian/local/etc_init.d/mountkernfs: remove "set -e". + - debian/debhelper.in/libc.postinst: use invoke-rc.d to invoke + mountkernfs when it's available, suggested by Junichi Uekawa + . (Closes: #230008) + + - debian/debhelper.in/libc.install: drop installing three files: + debian/local/etc_init.d/mountkernfs, debian/local/etc_default/devpts, + and debian/local/etc_default/tmpfs. Because initscripts now provides + those files. (Closes: #238963) + - debian/debhelper.in/libc.preinst: devpts.sh should be actually replaced to + mountkernfs. But by now mounting filesystems should be done with + mountvirtfs in initscripts. Initscripts needs to remove devpts.sh and + mountkernfs. + - debian/debhelper.in/libc.postinst: likewise. + - debian/debhelper.in/libc.postrm: likewise. + + - debian/debhelper.in/libc.preinst: Fix kernel version detection correctly. + Patched by Goswin von Brederlow . + (Closes: #241395). + + - debian/rules.d/debhelper.mk: Fix build failure in strip processing. + + - debian/patches/51_glibc232-hppa-nopltrel.dpatch: Do not process + lezy relocations if no DT_PLTREL is present. Reported by + Richard Hirst and Patched by + Carlos O'Donell . (Closes: #228375) + - debian/patches/glibc232-ppc32-nanosecond.dpatch: Fix ppc32 stat + reports bogus nanosecond data. Patched by Anton Blanchard + . (Closes: #231358) + - debian/patches/nptl-io-locking.dpatch: Add stdio performance + improvement for nptl. Dpatched by Michael Clark + . (Closes: #238213) + - debian/patches/52_glibc233-hppa-feupdateenv.dpatch: + The newest compiler in unstable has caught a bug in the feupdateenv + implementation for hppa. The code should not be using the constant input + argument as temporary scratch. Patched by Carlos O'Donell + . + - debian/patches/localedef-fix-trampoline.dpatch: Fix localedef segv + when run under exec-shield/PaX and so on due to trampoline issue. + Dpatched by James Troup . + (Closes: #231438, #198099, #215624, #215821, #221740) + - debian/patches/alpha-rtsigaction-fix.dpatch: Fix alpha sigaction with + SA_SIGINFO (rt_sigaction), keep program execution after exiting signal + handler, with correctly calling rt_sigreturn. (Closes: #221969) + - debian/patches/translation-fr.dpatch: Include fr.po translation patch. + Patched by Petter Reinholdtsen . Related bug #243183 + is currently suspended. + - debian/patches/locale-et_EE.dpatch: Fix et_EE locale incorrect charset. + Patched by Petter Reinholdtsen . (Closes: #208238) + + - debian/debhelper.in/libc.postinst: add rsync to NSS checking code. + (Closes: #229196) + - debian/debhelper.in/libc.preinst: add kernel version check code if + real i386 is used. (Closes: #231538) + + - debian/po/da.po: added. Patched by Morten Brix Pedersen . + (Closes: #230669) + - debian/po/cs.po: added. Patched by Miroslav Kure + . (Closes: #230969) + - debian/po/el.po: added. Patched by Konstantinos Margaritis + . (Closes: #230997) + - debian/po/ru.po: added. Patched by Ilgiz Kalmetev + . (Closes: #221657) + - debian/po/uk.po: added. Patched by Eugeniy Meshcheryakov + . (Closes: #235850) + - debian/po/zh_CN.po: added. Patched by Hiei Xu + and Carlos Z.F. Liu . (Closes: #231907) + - debian/po/tr.po: added. Patched by Ercin EKER + and Recai Oktas . (Closes: #240654) + + - debian/debhelper.in/glibc-doc.links: add manpages links for sem_*. + + - debian/patches/template.dpatch: split Author to Dpatch author and + Patch author. + + - debian/sysdeps/hppa.mk: added to create symlink + /usr/hppa64-linux/include to /usr/include for hppa64. (Closes: #239020) + - debian/sysdeps/depflags.pl: added conflicts to gcc-3.3-hppa64 and + gcc-3.4-hppa64. + - debian/sysdeps/depflags.pl: Add replaces: kerberos4th-dev (<< 1.2.2-10) + to avoid conflicting /usr/include/ifaddrs.h. (Closes: #234347) + + - debian/control.in/opt: made libc6-i686 description easier to + understand from users' requests. (Closes: #218396, #239555, #242546) + + - debian/local/usr_sbin/locale-gen: Add code to write an error if the + line doesn't satisfy the format. Patched by Petter Reinholdtsen + . (Closes: #207199) + + * Jeff Bailey + + - debian/debhelper.in/libc.preinst: Don't use awk except in + upgrade mode. (Closes: #229461) + Also make sure that it doesn't trip on words being added to the + upstream revision number. Thanks to James Troup for + mentioning this. + Thanks to Bastian Blank for the fix. + - debian/debhelper.in/libc.postinst: Respect DEBIAN_FRONTEND=noninteractive + for setting timezone. Default to UTC. (Closes: #196382) + + - debian/debhelper.in/libc.docs: Add TODO. + + Hopefully the last round of hurd-i386 fixes: + + - debian/debhelper.in/libc-dev.install.hurd-i386: New file. + - debian/rules.d/debhelper.mk: Deal with the arch-specific install files. + - debian/patches/hurd-cleanup.dpatch: New file for dl-procinfo.c and + missing include in malloc.c (Both in upstream) + - debian/patches/00list: Update + + Locales surgery, with many thanks to Petter Reinholdtsen: + + - debian/patches/glibc22-eo_EO.dpatch: Rename to ... + - debian/patches/locale-eo_EO.dpatch: ... this. + - debian/patches/11_cvs_locales.dpatch: New generated file from CVS. + - debian/patches/locales-stuff.dpatch: Remove bogs code and split + into .. + - debian/patches/locale-de_CH.dpatch: ... this and ... + - debian/patches/locale-ru_RU.dpatch: this. + - debian/patches/locale-no_NO.dpatch: New file to keep no_NO around + during the transition to nb_NO. + - debian/patches/locale-strfmon.dpatch: New file from CVS needed + for new locales formatting. (Closes: #226047) + - debian/patches/00list: Update. + + - debian/patches/glibc22-locales.dpatch: Obsoleted by CVS update. + - debian/patches/locale-es_AR.dpatch: Add template header. + - debian/patches/locales-supported.dpatch: Remove entries provided + by CVS. Add no_NO for transition. + + (Closes: #211607, #215466, #218424) + + - debian/patches/template.dpatch: Tweak to make it easier to + generate patches. + - debian/make-cvs-locales-patch.sh: New file. + + * Daniel Jacobowitz + + - Add separate-debug-info files to libc6-dbg to allow backtraces through + optimized libraries (Closes: #227097, #219459) + - debian/control.in/main: Bump build dependencies for binutils and + debhelper. + - debian/control.in/libc-dbg: Update package description. + - debian/rules: Set NOSTRIP after loading sysdeps rules files, so that + it actually gets set. + - debian/rules.d/debhelper.mk: Generate separate debug info libraries. + Touch stamp file for libc-udeb. + - debian/sysdeps/i386.mk, debian/sysdeps/linux.mk, s390x_extra_cflags, + debian/sysdeps/sparc.mk: Use -g1 instead of -g0 so that we get + unwind information. + - debian/wrapper/objcopy: Wrapper script to remove excess debug + info, for now. + - Remove tabs from debian/changelog, since they confuse + dpkg-parsechangelog. + - Add missing quotes in debhelper.mk NOSTRIP test. + - Don't add libc-dir-add.info to info after all + (Closes: #222171, #230765). + (debhelper.in/glibc-doc.info, debhelper.in/glibc-doc.install) + + * Ben Collins + + - Added and enabled a sparc v9b target (UltraSPARC III). + + * Bastian Blank + + - Add libnss-dns-udeb package. + - Rename udebs to match the real packages. (Closes: #183139) + - Fix provides of udebs. (Closes: #183143) + - Use debhelper udeb knowledge. + + -- GOTO Masanori Wed, 21 Apr 2004 00:40:55 +0900 + +glibc (2.3.2.ds1-11) unstable; urgency=low + + * Jeff Bailey + + - debian/control.in/s390x: Remove -dev dependency on gcc-3.2. + - debian/sysdeps/s390.mk: Add missing ) + - debian/rules: Fixes for cross-compiling + - debian/patches/90_glibc233_tcsetaddr.dpatch: LSB Fix for tcgetattr + (Closes: #218131) + - debian/sysdeps/depflags.pl: Update wine conflicts. + (Closes: #218717) + - debian/sysdeps/depflags.pl: Update cyrus-imapd conflicts. + (Closes: #220983) + - debian/sysdeps/sparc.mk: Force -m32 when building sparcv9 + - debian/patches/glibc-sparc-timing.dpatch: New file to let sparcv9 works. + (Closes: #222886) + - debian/patches/nptl-page-align.dpatch: New file to fix page + alignment troubles. (Closes: #223241, #225466) + + - debian/patches/hurd-exit-attr-hidden.dpatch: New file to fix + compilation on gcc-3.3 and hurd-i386 + - debian/patches/hurd-i386-hwcap.dpatch: New file to give the needed + i386 HWCAP defines on hurd-i386 + - debian/patches/hurd-libc-lock.dpatch: New file to fix FTBFS on hurd-i386 + - debian/patches/hurd-utmp-file.dpatch: New file to fix FTBFS on + non-Linux. + - debian/patches/glibc23-cmov.dpatch: Update for moved i386 HWCAP + definitions. + - debian/patches/glibc23-sse-oldkernel.dpatch: Updated for + severelly munged sysdeps/unix/sysv/linux/i386/dl-procinfo.h + Thanks to Barry deFreese for helping get these in order. + + - debian/patches/00list: Update + + - debian/debhelper.in/libc.preinst: For Linux kernels of the form + x.y.z-n, fail the install if z >= 255. (Closes: #226688) + Thanks to James Morrison and Kevin Everets for help on the wording + of the error message. + + - debian/sysdeps/sparc.mk: Revert Ben's change of '-mcpu=v8 + -mtune=ultrasparc'. This was misleading because it was always + overridden by the glibc Makefile and had no effect. + + * Phil Blundell + + - Require linux-kernel-headers >= 2.5.999-test7-bk-9 to avoid module- + related problems on ARM. + + * Ben Collins + + - Bump sparcv9 back to -mcpu=v8 -mtune=ultrasparc. Should fix sparcv9. + + * Daniel Jacobowitz + + - Pass CC to configure; should fix sparc64. + - Suppress the errno warning message for now. Update to point to + README.Debian.gz. + - debian/patches/glibc23-errno-hack.dpatch, debian/FAQ + - Redirect dpkg -s sysvinit's stderr to /dev/null (Closes: #225601). + - Fix on MIPS targets. Thanks to Guido Guenther + for testing and improvements to the patch (Closes: #223891, #226483). + - debian/patches/mips-asm-unistd.dpatch + - Fix for GCC changes from Thiemo Seufer (Closes: #224744). + - debian/patches/mips-sgidefs.dpatch + - Fix i386-linux build failure. + - debian/patches/glibc23-sse-oldkernel.dpatch + - Quote a backslash in libc.preinst + + * GOTO Masanori + + - debian/debhelper.in/glibc-doc.links: add missing links for + pthread_mutex_*(), pthread_mutexattr_*(), pthread_cond_*(), and + pthread_condattr_*(). + - debian/control.in/main: remove Build-Depends-Indep: latex2html. + (Closes: #221317) + + - debian/local/etc_init.d/devpts.sh: rename to mountkernfs. + - debian/local/etc_init.d/mountkernfs: rename from devpts.sh, for + adding to mount tmpfs(shmfs), sysfs, and usbfs. + - debian/local/etc_default/tmpfs: add to control tmpfs upper limit size. + - debian/debhelper.in/libc.dirs: add to make /sys. + - debian/debhelper.in/libc.install: add mountkernfs and tmpfs, + remove devpts.sh. + - debian/debhelper.in/libc.postrm: rename devpts.sh to mountkernfs. + - debian/debhelper.in/libc.postinst: likewise. + - debian/local/etc_init.d/mountkernfs: fix devpts_mounted to check + its pathname is exactly started from the top directory. + + - debian/debhelper.in/libc.preinst: fix preinst does not stop + on mips even if it's kernel version is < 2.4.22. (Closes: #223769) + + - debian/po/pt_BR.po: Update pt_BR debconf template translation. + Patched by Andre Luis Lopes . (Closes: #219839) + - debian/po/nl.po: Update nl debconf template translation. + Patched by cobaco . (Closes: #220693) + + * Carlos O'Donell + + - debian/patches/51_glibc232-hppa-dist.dpatch: Add entry.h to dist. + - debian/patches/51_glibc232-hppa-profiling.dpatch: Fix profile support. + (Closes: #221010) + + -- Daniel Jacobowitz Tue, 20 Jan 2004 09:41:48 -0500 + +glibc (2.3.2.ds1-10) unstable; urgency=low + + This is the "Swimming to the surface" release. + + * GOTO Masanori + + - debian/control.in/opt: Add more ix86 CPUs in the description. + - debian/debhelper.in/libc.preinst: Ignore old libc4/5. + (Closes: #218449) + + * Daniel Jacobowitz + + - Add a patch to automatically disable NPTL for programs which + reference the old errno; and update the FAQ to match. + (glibc23-errno-hack.dpatch). + - Update make build dependency as reported by Mikko Kautto + (Closes: #218595). + - Update debian/po/nl.po with new translation from Bart Cornelis + (Closes: #218642). + - Update SSE disabling patch to work for static binaries too + (Closes: #218524, #219025). + - debian/debhelper.in/libc.preinst: Ignore ia32-libs also + (Closes: #219176). + - debian/control.in/main: Build depend on fixed linux-kernel-headers + to get ia64 module syscalls (Closes: #218645). + + * Jeff Bailey + + Update to Standards-Version 3.6.1: + - debian/changelog: Convert from Latin-1 to UTF-8. 1 Line affected. + - debian/control.in/main: Update version number. + Fix some lintian warnings: + - debian/changelog: Remove obsolete user-emacs settings. + - debian/control.in/libc: Remove trailing periods from synopis'. These + aren't full sentences. + - debian/local/manpages/gencat.1: New file. + - debian/local/manpages/trace.1: New file. + - debian/debhelper.in/libc-dev.manpages: Install them. + - debian/local/manpages/iconvconfig.8: New file. + - debian/debhelper.in/libc.manpages: Install it. + - debian/patches/90_glibc232-statvfs.dpatch: Don't get confused on bad + mtab. (Closes: #219271) + - debian/patches/90_glibc232-timezones.dpatch: Update timezone + information. + + * Phil Blundell + + - debian/patches/arm-ioperm.dpatch: Third time lucky? + + -- Jeff Bailey Wed, 5 Nov 2003 10:53:14 -0500 + +glibc (2.3.2.ds1-9) unstable; urgency=low + + * GOTO Masanori + + - debian/po/es.po: Update. Patched by Carlos Valdivia Yagüe + . + - debian/debhelper.in/libc.preinst: Replace s/libc6/glibc/ + in messages, actually there are not only libc6, but also + libc6.1, libc0.3, and so on. + + * Daniel Jacobowitz + + - Export libpthread symbols needed for thread debugging + (glibc23-thread-debugging.dpatch). + - Remove glibc23-thread-debugging.dpatch in response to upstream + comments. Don't strip libpthread symbols needed for thread debugging. + - Add version sanity check for kernels whose extraversion starts with a + dot (Closes: #218546). + - Disable SSE for pre-2.4 kernels (Closes: #218524). + - Symlink asm-sparc and asm-sparc64 into debian/include if necessary. + - Don't duplicate .so symlinks in libc6-s390x and libc6-dev-s390x. + - Add a build fix for sparc64; pread syscall has been renamed to + pread64. + - Add a FAQ entry for unresolved errno (Closes: #218561). + - Import patch from CVS to fix ucontext_t/mcontext_t on powerpc32 + (Closes: #207806). + - Patch from Randolph Chung for HPPA system calls + (hppa-syscall.dpatch). + + -- Daniel Jacobowitz Sat, 1 Nov 2003 18:54:16 -0500 + +glibc (2.3.2.ds1-8) unstable; urgency=low + + * Daniel Jacobowitz + + - Don't use --enable-omitfp since we don't install libc_g.a. + - Enable NPTL for S/390. + - Fix the /lib/ld64.so.1 symlink for s390x. + - Update maintainer scripts for fixes lost in the rewrite. + - Enable NPTL for ia64. Thanks to Ian Wienand for testing. + - Automatically cross-compile if the kernel is too old to build + an optimized library. + - Do not run make check if cross compiling. + - Fix msqid_ds on MIPS. Dpatch from Guido Guenther, patch by + Thiemo Seufer (Closes: #215273, #200215, #217593). + - Check for old copies of glibc in a couple of places (Closes: #212224). + - Fix a libio compatibility code bug which crashed the Citrix client + (glibc23-libio-compat.dpatch). + - Remove fuzzy markers from fr.po. Patch from Denis Barbier + (Closes: #217865). + - Re-add debian/patches/80_glibc232-locales-nb_NO-fix.dpatch, which had + gotten lost. + - Re-add typo fixes to iconv.1 and rpcgen.1. (Closes: #202161) + - Merge iconv.1 fix to iconv.pod. + - Re-add fix for locale-gen and POSIXLY_CORRECT. + - Update ldso-disable-hwcap.dpatch and preinst/postinst scripts. + - Update maintainer scripts not to use basename; dpkg invokes the + scripts as tmp.ci/postinst, not libc6.postinst. + - Add a patch for building shlib.lds which fixes a parse error when + building without an existing -dev package installed. + - debian/patches/11_shlib-lds.dpatch + + * Jeff Bailey + + - debian/sysdeps/linux.mk: Use getconf _NPROCESSORS_ONLN instead + of /proc/cpuinfo to calculate NJOBS. The cpuinfo file format + is not consistent between arch's. + - debian/.cvsignore: New file. + + * GOTO Masanori + + - debian/debhelper.in/locales.dirs: Add /usr/lib/locale, because + localedef stops to create locale data if this dir is not found. + - debian/debhelper.in/libc-otherbuild.preinst: Fix typo which + disturbs to install libc-otherbuild package. + - Dan's checking code for old copies in libc6 preinst fixes + installation breakage for example /usr/lib/debug is in + /etc/ld.so.conf, or so on. + (Closes: #165374, #212224). + - debhelper.in/libc.preinst: add kernel version sanity check for + sun4m arch which needs at least 2.4.21 due to hardware multiplication + instruction is used by default. (Closes: #215010, #215012) + - debian/debhelper.in/libc.preinst: fix check_dirs return value. + + -- Daniel Jacobowitz Tue, 28 Oct 2003 18:29:09 -0500 + +glibc (2.3.2.ds1-7) experimental; urgency=low + + * Daniel Jacobowitz + + - Fix TLS libraries, which belong in /lib/tls, not /libtls. + - Fix -march for NPTL libraries on i386 - was i686, should have + been i486. + - Move i686 libraries to /lib/tls/i686/cmov. + - Include make check output in the libc package. + - S/390 perversely uses /lib/ld64.so.1 as the dynamic linker; include + a symlink. + - Leave /lib64/ld64.so.1 executable on S/390. + - Generate SUPPORTED again. + - Update ldconfig to prefer /lib/tls to /lib/i686/cmov. + - Disable conflicts between optimized libraries and libsafe/memprof; + they've worked for a while. + - Switch the i686 optimized libraries to use NPTL, and update their + description. + - Fix dependencies for locales package. + - Include SONAME symlinks in libc6-dbg. + - Remove vestigial gconv-modules Provides. + - Install more files for libc6 and locales packages. + - Correct section for zdump.8 man page. + - Install ld.so.8 in the right directory (debhelper thinks that .so is a + language extension). + - Install info menu entries for functions provided by libc, in + glibc-doc. + - Include changelog in glibc-doc also. + - Re-add libc6-dev dependency on matching libc6. + - Fix libc-udeb build. + + * Phil Blundell + + - debian/patches/arm-ioperm.dpatch: Try again. + + * Jeff Bailey + + Welcome back HPPA, Thanks to Carlos O'Donell + + - debian/patches/50_glibc232-hppa-full-nptl-2003-10-22.dpatch: New. + - debian/patches/50_glibc23-hppa-entry.dpatch: Remove. + - debian/patches/glibc23-00-hppa-pthreads.dpatch: Remove. + - debian/patches/glibc23-01-hppa-dl-machine.dpatch: Remove. + - debian/patches/glibc23-07-hppa-atomicity.dpatch: Remove. + - debian/patches/glibc23-hppa-compat.dpatch: Remove. + - debian/patches/glibc23-hppa-malloc8.dpatch: Remove. + + - debian/patches/00list: Update. + + - debian/rules: Define NJOBS as 1. + - debian/sysdeps/linux.mk: Define NJOBS based on number of processors + - debian/rules.d/build.mk: Use -j $(NJOBS) during build. + Based on patch from Ian Wienand + + - debian/debhelper.in/libc.install: Install pt_chown + - debian/rules.d/debhelper.mk: Don't clobber SUID on pt_chown + - debian/debhelper.in/glibc-doc.docs: Install DEB_SRCDIR/ChangeLog* + - debian/rules.d/build.mk: Don't run testsuite if DEB_BUILD_OPTIONS + contains nocheck + + - debian/sysdeps/gnu.mk: Define slibdir. + - debian/rules.d/build.mk: Only set slibdir in configparms if its set. + - debian/debhelper.in/glibc-doc.doc-base: New file. + - debian/debhelper.in/glibc-doc.install: New file. + - debian/debhelper.in/glibc-doc.links: New file. + - debian/rules.d/build.mk: Generate HTML files. + - debian/rules.d/debhelper.mk: Map LIBC to $(libc) in generated files. + - debian/debhelper.in/libc.install: Install Linuxthreads ChangeLog. + - debian/debhelper.in/libc.docs: Install various docs. + - debian/sysdeps/kfreebsd-gnu.mk: New file. Put in all the magic + from the old packaging. + - debian/sysdeps/kfreebsd.mk: Deleted. + - debian/sysdeps/gnu.mk: Add in GLIBC_OVERLAYS to allow patching to work, + create ld.so symlink at end of build. + - debian/sysdeps/sparc.mk: Change MIN_KERNEL_REQUIRED to + MIN_KERNEL_SUPPORTED. + - debian/sysdeps/s390.mk: Likewise. + - debian/rules: Define kernel_check macro. + - debian/sysdeps/linux.mk: Override kernel_check for Linux. + - debian/rules.d/build.mk: Call kernel_check macro when --build == + --host + + * GOTO Masanori + + - debian/po/ru.po: Update. Patched by Ilgiz Kalmetev + . (Closes: #214349) + + -- Daniel Jacobowitz Sat, 25 Oct 2003 15:09:02 -0400 + +glibc (2.3.2.ds1-6) experimental; urgency=low + + * Phil Blundell + + - debian/patches/arm-ioperm.dpatch: New. + + * Daniel Jacobowitz + + - Add debhelper build dependency. + - Use linux-kernel-headers package for headers. + - Add S/390 support. + - Build libc6-dev-sparc64. + + -- Daniel Jacobowitz Mon, 20 Oct 2003 16:27:39 -0400 + +glibc (2.3.2.ds1-5) experimental; urgency=low + + * Daniel Jacobowitz + + - Fix a thinko in i686 timing patch for non-HP_TIMING architectures. + - Add -k to make check. + + -- Daniel Jacobowitz Mon, 13 Oct 2003 10:53:31 -0400 + +glibc (2.3.2.ds1-4) experimental; urgency=low + + * Daniel Jacobowitz + + - Update i686 timing patch to fix clock_gettime. + - Update glibc23-cmov patch to let ld load tls libraries from + ld.so.cache. + - Include symlinks in optimized library directories to placate + dpkg-shlibdeps. + - Fix shlibs files to include a version again. + - Re-enable make check. + - Update makeconfig.dpatch to fix a typo that broke make check. + - Add glibc-make-check-perms.dpatch to fix an upstream make check + problem. + - Build some optimized libraries using appropriate --build options + so that they can run make check. + + * Jeff Bailey + + - Build libraries for sparcv9 and sparc64. + - Enable TLS for ia64. + + -- Daniel Jacobowitz Sun, 12 Oct 2003 19:42:11 -0400 + +glibc (2.3.2.ds1-3) experimental; urgency=low + + * Daniel Jacobowitz + + - Use ldd* in debhelper.in/libc6, because non-i386 arches don't have + lddlibc4. + - Include gconv-modules in libc6. + - Don't include some unnecessary generated kernel headers. + - Merge previous .dpatch files (Closes: #214470). + - Run depflags.pl again (Closes: #214468). + - Don't include profiled libraries in libc-dev (Closes: #214504). + - Ship /usr/include/asm-generic (Closes: #214512). + + -- Daniel Jacobowitz Mon, 6 Oct 2003 21:18:28 -0400 + +glibc (2.3.2.ds1-2) experimental; urgency=low + + * Daniel Jacobowitz + + - Install the right headers in /usr/include/asm, instead of trying to + replace the directory with a symlink (Closes: #214233). + - Map DEB_HOST_GNU_CPU to a uname value for creating the asm symlink. + - Move libc6-dev's postinst back to preinst. + - Support multiple autoconf.h headers. + - Add an ia64 autoconf.h, from Branden Robinson. + + -- Daniel Jacobowitz Sun, 5 Oct 2003 14:47:05 -0400 + +glibc (2.3.2.ds1-1) experimental; urgency=low + + * Essentially redo the debian/ packaging directory. + + Specifically, the following directories were changed: + - debian/sysdeps/*: Redo into os-based and arch-based handling. + - debian/debhelper.in/*: Use debhelper for all package management. + - debian/rules.d/*: Split out rules file into logical pieces. + - debian/local/*: Move all of the files that Debian provides to here. + + Update dpatch to more closely match the debian package: + - debian/patches/0list: Rename to 00list to match dpatch update. + - debian/rules.d/dpatch.mk: Sync with Debian package with the + following four changes: + 1) Support srcdir != builddir builds. + 2) Support $(stampdir) + 3) patch target depends on unpack + 4) Use $(DEB_SOURCE_PACKAGE) instead of $(PACKAGE) + + Remove dependency on various kernel-headers packages, bring into + the package: + - linux-kernel-headers/: New directory, import from 2.6.0-test2 + + Add NPTL support on i386: + - debian/sysdeps/i386.mk: Add NPTL patterns, set minimum kernel. + + Redo "DBS-Style" tarball support: + - debian/rules.d/tarball.mk: New file + - debian/sysdeps/linux.mk: Bring in linuxthreads and nptl overlays. + - prep.sh: Remove. + - version: Remove. + + Update to recent CVS snapshot to support NPTL: + - debian/patches/10_cvs.dpatch: update + + This cleanup project is the result of several discussions between + Jeff Bailey, GOTO Masanori, Daniel Jacobowitz, and Philip Blundell. + + The initial work here was done by Jeff Bailey, Branden Robinson, + and Daniel Jacobowitz. + + -- Daniel Jacobowitz Thu, 2 Oct 2003 13:47:40 -0400 + +glibc (2.3.2-9) unstable; urgency=medium + + Urgency set to medium, because this version should bring HPPA alive again. + + * GOTO Masanori + + - debian/patches/82_glibc232-iconv-euc-jp-ms-fix.dpatch: Fix EUC-JP-MS + does not work even if they are listed as available in iconv. + Dpatched by Topia . (Closes: #212080) + + - debian/manpages/iconv.1: Fix typo in -o option. Patched by + Max Vozeler . (Closes: #211733) + + - debian/manpages/rpcgen.1: Fix typo which cause some infos for the '-o' + option are not shown, and add -Sm option description. Patched by + Nicolas Francois . + (Closes: #211984) + + - debian/libc/DEBIAN/preinst: Updated libc6 libnss restarting version + from 2.2.94-1 to 2.3.2-2 in preinst. Postinst code was already fixed + in 2.3.2-2. (Closes: #211825) + + - debian/locales/DEBIAN/template: There is no reason to + set LANG=C in /etc/environment, so do not display this locale + in the locales/default_environment_locale question. + - debian/locales/DEBIAN/config: Likewise. + - debian/locales/DEBIAN/postinst: If /etc/environment sets the LANG + variable and a new configuration asks for not setting it, the + line was not removed from this file. + - debian/po/templates.pot: Update templates followed by above changes. + - debian/po/fr.po: Update accordingly using debconf-updatepo with new + translation. + - debian/po/ja.po: Likewise. + - debian/po/ca.po: Update accordingly using debconf-updatepo. + - debian/po/de.po: Likewise. + - debian/po/es.po: Likewise. + - debian/po/fr.po: Likewise. + - debian/po/ko.po: Likewise. + - debian/po/pt_BR.po: Likewise. + - debian/po/ru.po: Likewise. + - debian/po/nl.po: Update accordingly using debconf-updatepo with + fixing line invalid wrapping. + All patched by Denis Barbier . + + - debian/patches/80_glibc232-locales-nb_NO-fix.dpatch: Added to fix + nb_NO as real locale, not an alias. Patched by Petter Reinholdtsen + . (Closes: #206474) + + * Jeff Bailey : + + - 20_glibc232-hppa-full-2003-10-20.dpatch: New HPPA patch. + (Closes: #209253) Thanks to Carlos O'Donell + + - 50_glibc23-hppa-entry.dpatch: Remove. + - 80_glibc232-locales-nb_NO-fix.dpatch: Remove. + - glibc23-00-hppa-pthreads.dpatch: Remove. + - glibc23-01-hppa-dl-machine.dpatch: Remove. + - glibc23-07-hppa-atomicity.dpatch: Remove. + - glibc23-hppa-compat.dpatch: Remove. + - glibc23-hppa-malloc8.dpatch: Remove. + + - 0list: Update + + -- Jeff Bailey Wed, 22 Oct 2003 13:46:39 -0400 + +glibc (2.3.2-8) unstable; urgency=low + + * Phil Blundell + + - debian/control.in/main: add gawk to Build-Depends, since testsuite + apparently requires it. + + - debian/patches/pthread-cleanup.dpatch: Vector __pthread_cleanup_push + and __pthread_cleanup_pop through __libc_pthread_functions. + (Closes: #205234) + + - debian/patches/arm-no-hwcap.dpatch: Admit HWCAP_FAST_MULT again, + since we want to start using this for openssh. + - debian/patches/arm-updates.dpatch: Add some miscellaneous arm + changes taken from upstream. + - debian/patches/arm-vfork.dpatch: Avoid bad interaction between + vfork and libpthread. + + * GOTO Masanori + + - debian/patches/80_glibc232-fesetround-fix.dpatch: Fix fesetround static + link time failure. (Closes: #211135) + + - debian/patches/lo_LA.UTF-8_not_supported.dpatch: Dropped, to support + lo_LA.UTF-8 again. + - debian/patches/80_glibc232-locales-lo_LA.dpatch: Added to support + lo_LA.UTF-8 again. + + - debian/locales/usr/sbin/locale-gen: Fix locale-gen breaks with bash + 2.03, unset POSIXLY_CORRECT iff it's previously defined. + Patched by Daniel Verite . (Closes: #210301) + + -- Philip Blundell Wed, 17 Sep 2003 20:44:48 +0100 + +glibc (2.3.2-7) unstable; urgency=medium + + * GOTO Masanori + + - debian/patches/90_glibc232-mathinline_iso.dpatch: Fix inline math + function complaints with gcc -pedantic -ffast-math. Patched by + Thomas Richter . (Closes: #208016, #207221) + + - debian/patches/template.dpatch: Added DP: Related bugs: field. You can + use it to put which bugs are related with this dpatch. + + * Daniel Jacobowitz + + - debian/control.in/main: Update binutils dependency for !s390. + + - debian/patches/linuxthreads-push-pop.dpatch: Add __libc_cleanup_push + and __libc_cleanup_pop. + - debian/patches/syslog-backrev.dpatch: Remove, no longer necessary. + This should fix the crashes in syslog without libpthread loaded. + + - debian/patches/linuxthreads-jumptable-wine.dpatch: Move + pthread_cond_timedwait out of the way, so that it doesn't break + the way Wine pokes into this structure (Closes: #210347). + + - debian/patches/ia64-memccpy.patch: Fix a segfault on ia64 + (Closes: #210441). + + -- Daniel Jacobowitz Fri, 12 Sep 2003 14:56:19 -0400 + +glibc (2.3.2-6) unstable; urgency=low + + * Phil Blundell + + - debian/control.in/main: require kernel-headers-2.4.20-m68k (>= + 2.4.20-1) for m68k. Requested by Adam Conrad . + + - debian/patches/pthread_cond_timedwait.dpatch: avoid problem when + pthread_cond_timedwait is used in code that doesn't link with + -lpthread. (Closes: #209139) + + * GOTO Masanori + + - debian/sysdeps/kfreebsd-gnu.mk: Added to support kfreebsd-gnu. + Patched by Robert Millan . (Closes: #206663) + - debian/sysdeps/freebsd.mk: Dropped because of replacing kfreebsd-gnu.mk. + - debian/sysdeps/soname.mk: Modified from freebsd to kfreebsd-gnu. + + -- Philip Blundell Mon, 8 Sep 2003 08:51:49 +0100 + +glibc (2.3.2-5) unstable; urgency=low + + * Phil Blundell + + - debian/control: change section for -pic, -dbg, -prof packages + from devel to libdevel. + + - debian/control.in/main: add Build-Depends changes from 2.3.2-3 + here as well. + + - debian/packages.d/*.mk: add md5sums for generated packages, + thanks to Petr Konecny. (Closes: #158354) + + - debian/patches/80_glibc232-locales-header.dpatch: adjust + filenames so patch applies correctly. + + - debian/locales/DEBIAN/config: The "Leave alone" option has been + removed, but locale-gen crashes if it was set by a previous run, + so really discard it. Patch by Denis Barbier (Closes: #204958) + + - debian/patches/lo_LA.UTF-8_not_supported.dpatch: remove this + locale from SUPPORTED file; requested by Denis Barbier. + (Closes: #205118) + + - debian/patches/nss_compat-shadow: fix problem with shadow + passwords and NIS. Patch from Thorsten Kukuk. (Closes: #204711) + + * GOTO Masanori + + - debian/control.in/libc: Add more missing change section for -pic, + -dbg, -prof packages from devel to libdevel. + - debian/control.in/libc-dbg: likewise. + + - debian/patches/80_glibc232-locales-header.dpatch: Fix an_ES, + wa_BE, yi_US localedata header. (Closes: #194289) + + - debian/locales/usr/sbin/locale-gen: Add "unset POSIXLY_CORRECT" + because if user set POSIXLY_CORRECT, this script is interrupted. + (Closes: #206784) + + - debian/patches/glibc22-ttyname-devfs.dpatch: Fix one byte leak + in getttyname_r. Patched by Hunor Csordas . + (Closes: #194637) + + - debian/sysdeps/freebsd.mk: Modified config-os from freebsd-gnu + to kfreebsd-gnu. Patched by Robert Millan . + (Closes: #206663) + + - debian/patches/80_glibc232-iconvdata-fix.dpatch: Fix cp932 + does not work. (Closes: #205679) + + -- Philip Blundell Tue, 26 Aug 2003 22:51:03 +0100 + +glibc (2.3.2-4) unstable; urgency=low + + * Jeff Bailey + - debian/locales/DEBIAN/postinst: Use tail -n 1 instead of tail -1. + Thanks to Jurij Smakov (Closes: #206464) + + * Phil Blundell + - debian/patches/glibc23-arm-waitpid.dpatch: deleted. + - for arm, Build-Depend on kernel-headers 2.4.19-4 or newer. + (Closes: #206895) + - debian/patches/revert-old-libio.dpatch: back out changes causing + problems with fseek in binaries linked with glibc 2.0. + (Closes: #206839) + - debian/libc/DEBIAN/postinst: also restart cucipop (Closes: #206783) + - debian/patches/arm-output-format.dpatch: Very bad hack to avoid + problem with libc.so on ARM until a proper fix is forthcoming. + - debian/patches/81_glibc232-utimes-fix.dpatch: replace with version + that applies cleanly to current sources. + - debian/control: require sed 4.0.5-4 or later. + + * GOTO Masanori + + - debian/po/es.po: Updated Spanish (es) debconf template. + Patched by Carlos Valdivia Yagüe . + - debian/patches/81_glibc232-utimes-fix.dpatch: Fix utimes wrong time + calculation. Patched by Paul Eggert . + (Closes: #204728, #202243, #205110) + + -- Philip Blundell Tue, 26 Aug 2003 17:27:00 +0100 + +glibc (2.3.2-3) unstable; urgency=low + + * GOTO Masanori + + - debian/patches/80_glibc232-futimes-buildfix.dpatch: Fix build failure + on arm, mips, mipsel, due to be missing #include . + (Closes: #204768) + + - debian/libc/DEBIAN/preinst: Modified chown owner:group separater from + `.' to `:', according to POSIX 1003.1-2001. (Closes: #205527) + - debian/packages.d/glibc-doc.mk: likewise. + - debian/packages.d/libc-dbg.mk: likewise. + - debian/packages.d/libc-dev.mk: likewise. + - debian/packages.d/libc-pic.mk: likewise. + - debian/packages.d/libc-prof.mk: likewise. + - debian/packages.d/libc-udeb.mk: likewise. + - debian/packages.d/libc.mk: likewise. + - debian/packages.d/locales.mk: likewise. + - debian/packages.d/nscd.mk: likewise. + - debian/packages.d/optimized.mk: likewise. + - debian/packages.d/s390x.mk: likewise. + - debian/packages.d/sparc64.mk: likewise. + + - debian/libc/DEBIAN/postinst: Restarting script supported dovecot. + (Closes: #205566) + + - debian/po/pt_BR.po: Updated Brazilian Portuguese (pt_BR) debconf + template. Patched by Andre Luis Lopes . + (Closes: #195873) + - debian/po/nl.po: Added nl.po debconf template. Patched by + Bart Cornelis . (Closes: #205090) + + -- GOTO Masanori Fri, 8 Aug 2003 20:32:24 +0900 + +glibc (2.3.2-2) unstable; urgency=low + + This is the "fleeing to the horizon" release... + + * GOTO Masanori + + - debian/patches/glibc23-arm-waitpid.dpatch: Fix arm ld-linux failure due + to sys_waitpid missing. Patched by Philip Blundell . + - debian/patches/50_glibc232-arm-dwarf2-buildfix.dpatch: Avoid arm dwarf2 + build failure. Patched by Philip Blundell . + - debian/patches/50_glibc232-m68k-dwarf2-buildfix.dpatch: Avoid m68k + dwarf2 build failure. Suggested by Philip Blundell , + Andreas Schwab . + - debian/libc/DEBIAN/postinst: Modified watermark of restarting NSS + services from 2.1.94-1 to 2.3.2-2, because libnss_compat is changed in + 2.3.2-1 (2003-06-17 Upstream change). + - debian/patches/80_glibc232-wcsmbs-fix.dpatch: Added to fix wcsmbs bugs + which is lacked in 2003-07-15 upstream cvs. (Closes: #202969) + + - These bugs are fixed in this update: + * Bug in dlopen/dlclose leads to segfaults with kdecore is fixed in this + version. (Closes: #201221) + * Static linking adjtimex() on alpha failed to compile due to undefined + reference to `__adjtimex_tv32'. It's fixed in this version. + (Closes: #186331) + + * Jeff Bailey + - debian/packages.d/s390x.mk: Remove gcc-3.2 hardcode + + * Phil Blundell + - debian/patches/alpha-crti.dpatch: remove stray .prologue causing + alpha build failure. + - debian/patches/alpha-pwrite.dpatch: add missing __GI___pwrite64 alias. + - debian/control: demand binutils 2.14.90.0.5-0.1 or later (required + for .usepv on alpha) + + -- GOTO Masanori Sat, 19 Jul 2003 00:37:11 +0900 + +glibc (2.3.2-1) experimental; urgency=low + + ** UPLOADING THIS TO EXPERIMENTAL ** + + * Clint Adams + - debian/control: build-dep on gcc-3.3 for sparc(64) + - debian/rules: re-enable sparc64 build + - debian/packages.d/sparc64.mk: use gcc-3.3 to build sparc64 + - debian/sysdeps/linux.mk: re-enable sparc64 build + + * Jeff Bailey + - debian/patches/hurd-enable-ldconfig.dpatch: New file + - debian/packages.d/libc.mk: Install regular ldconfig, not + debian/ldconfig-hurd.sh on hurd-i386 + - debian/patches/0list: Add hurd-enable-ldconfig + - debian/sysdeps/paths.mk: Comply with FHS, use $(prefix)/lib, not + $(prefix)/libexec + - debian/rules: Introduce "perfect_make_check_archs" concept - + arch's listed in this variable must pass make check cleanly, + or the build will fail. Start off with i386, powerpc, sparc, alpha + and s390. + - debian/control.in/main: Build-dep on gcc-3.3 + - debian/sysdeps/tools.mk: Use gcc-3.3 + - debian/patches/sparc32-buildfix.dpach: Prune after yet another CVS + update + - debian/patches/syslog-backrev.dpatch: New file + + * GOTO Masanori + - Updated glibc 2.3.2. + - debian/patches/cvs.dpatch: rename it to 10_cvs.dpatch. + I plan to introduce <2digitnumber>_.dpatch filename. + - debian/patches/10_cvs.dpatch: update 2003-07-15 upstream cvs. + - version: bump up to 2.3.2. + - rules.d/shlibs.mk: bump up to 2.3.2. + - debian/sysdeps/sysdeps.mk: i386 optimization level is back to -O2. + + - These debian/patches/ are removed from cvs because + they are no longer being used and were superceeded by CVS patches: + * document-fix.dpatch + * glibc23-cert-rpcxdr.dpatch + * glibc23-getdents64-fix.dpatch + * glibc23-getaddrinfo.dpatch + * glibc23-hppa-shmlba.dpatch + * glibc23-m68k-madv.dpatch + * glibc23-malloc-check.dpatch + * glibc23-regcomp.dpatch + * signal-texi.dpatch + * glibc23-ia64-strncpy.dpatch + * elf-machine-rela-mips.dpatch + * glibc23-linuxthreads-fix.dpatch + * locales-monetary.dpatch + + - These debian/patches/ are removed from cvs because + they are no longer being used and already fixed the previous versions: + * rtsig.dpatch + * crypt.dpatch + * s390x-lib64.dpatch + * hurd-fork-fix.dpatch + + - These debian/patches/ are fixed to apply for glibc + 2.3.2 + cvs.dpatch. + * alpha-pic.dpatch: Fix the diff conflict. + * glibc23-hppa-Rminkernel.dpatch: likewise. + * libgcc-compat-all.dpatch: remove reflected entries in glibc-2.3.2. + * libgcc-compat-other.dpatch: likewise. + * ldconfig.dpatch: modify to be enable to compile again + + - These bugs are fixed in this update: + * glibc 2.3.2 can handle errno correctly if 32 bit uid or gid is used + and errno=ENOSYS is defined before geteuid() is called. + setfsuid(), setfsgid() and getgroups() are also fixed with my patch, + bug reported by Fumihiko Kakuma. (Closes: #183694) + * Submitter Neil's patch is applied in the upstream. (Closes: #181701) + * cfmakeraw definition in manual terminal.texi is fixed with my patch. + It can be reassign only to manpages-dev. + * sparc and powerpc has O_DIRECT definition in fcntl.h. + (Closes: #157142, #157143) + * The definition both __bswap_16 and __bswap_32 in bits/byteswap.h is + fixed and it can be ready for non-gcc C-compilers. (Closes: #181910) + * BSD derived random functions are correctly braced into #if defined + __USE_BSD with my patch. (Closes: #108619) + * Dynamic loading problems with the recent OpenOffice.org, KDE, + Wine/Mono, Quake3 Arena, Oracle, and NVidia libGL library, is fixed. + Glibc TLS does not properly handle using dlopen() to access shared + libraries which utilize some TLS models. + (Closes: #171695, #184696, #167564, #192096, #200386) + * Missing ntp_adjtime weak reference on alpha is defined. + (Closes: #182654) + * Sparc64 sysdep.h typo is fixed. (Closes: #185648) + * stdio-common/sscanf.c for libc6-sparc64 with gcc-3.3 can become to be + compiled. (Closes: #185649) + * Timezone data is updated to tzdata2003a. + (Closes: #140788, #149862, #186210, #164719, #190322) + * /usr/bin/locale -a searches both /usr/lib/locale// and + /usr/lib/locale/locale-archive in this release. (Closes: #166979) + * Powerpc fpu_control.h is fixed to be enable to compile _FPU_SETCW + macro. (Closes: #137020) + * The IA-64 versions of __sigsetjmp() and getcontext failed to restore + ar.unat before returning, is fixed in this version. (Closes: #186654) + * regcomp() crashed with some regexp pattern is fixed. + (Closes: #187475) + * pthread_atfork() is removed from unistd.h. Including this definition + in unistd.h is implementation dependent issue, and the upstream + decided not to keep it. (Closes: #106254) + * It's fixed that malloc_stats() segfaults if you don't first allocate + memory. (Closes: #191295) + * Typo in the symbol lookup code is fixed, which causes the loading of + the oracle binary to fail (and possibly affects other apps as well). + (Closes: #191952) + * The abday values for de_DE is changed to two letters. (Closes: #115536) + * IA64 umount needs to set second parameter for sys_umount. It's fixed + in 2003-05-14 cvs. (Closes: #193327) + * tmpfile64() is now available on hurd-i386. (Closes: #171022) + * SIOCSIFNAME is added. (Closes: #164638) + * cos() now correctly returns the cosine, not the sine, of values near + 0.80 on machines lacking an optimised libm. (Closes: #153548) + * ioperm() returns -ENODEV on ARM machines without ISA or PCI. + (Closes: #199134) + + - debian/locales/usr/sbin/locale-gen: Fix the localedef invocation + argument order, to run under POSIXLY_CORRECT=1 environment. + (Closes: #185924) + + - debian/sysdeps/depflags.pl: add Suggests: manpages-dev in libc-dev + package. (Closes: #158410) + - debian/sysdeps/depflags.pl: Adding entry "Suggests: glibc-doc" + into depflags.pl push. + - debian/control.in/libc: Remove "Suggests: glibc-doc" in each -dev + package entry. + - debian/control: likewise. + + - debian/patches/s390-tls.dpatch: add to build glibc 2.3.2 on s390. + The correct fix is to modify the kernel headers, but for the present + we use it regardless of the kernel issue. + Patched by Gerhard Tonn . + - debian/packages.d/libc-dev.mk: s390 kernel-headers package does not have + generate-asm.sh. The current libc-dev.mk assumes the existence of this + script, but on s390 it's not existed. Now libc-dev.mk s390 asm setup + part does not use generate-asm.sh, and has the generate-asm.sh + functionality in its own. This makes s390 which has 32/64 bit multi + libraries are much easier to build. + Patched by Gerhard Tonn . + - debian/packages.d/s390x.mk: likewise. + + - debian/locales/DEBIAN/postinst: add "rm -rf /usr/lib/locale/*" + to remove all old locale dir and locale-archive in locales + configuration time. Requested by Denis Barbier . + - debian/locales/DEBIAN/config: /usr/lib/locale/* files are no more + deleted when /etc/locale/gen is not managaed by debconf. Patched by + Denis Barbier + - debian/locales/DEBIAN/postinst: likewise. + + - debian/locales/DEBIAN/{config,postinst,templates}: Debconf must not + be used to store configuration items; another even more important is + that user changes in configuration files must be preserved. + These files are now fixed with this issue. Patched by Denis Barbier + . Some suggestions by Joey Hess . + - debian/locales/DEBIAN/config: + * Replace /bin/bash by /bin/sh on the shebang line. + * Add support for backing up. + * Parse configuration files and set debconf values. + - debian/locales/DEBIAN/postinst: + * Recreate configuration files from debconf values and run locale-gen + * As explained by Joey Hess, this script should be safer because some + border cases are now taken into account: configuration files might + have no EOL at EOF, and line order is preserved. + - debian/locales/DEBIAN/templates: + * Apply patch from #117509 and another typo fix by Joey Hess + (Closes: #117509) + * In locales/locales_to_be_generated, Choices is no more translatable + because it is set to Choices: ${locales} + - debian/locales/usr/sbin/locale-gen: + * Clean up /usr/lib/locale/ before generating locales + - debian/po/{ca.po, de.po, es.po, fr.po, ja.po, ko.po, pt_BR.po, ru.po, + templates.pot}: update with debconf-updatepo. + + - debian/control: Change Section: from devel to libdevel for packages: + libc0.3-dev, libc6-dev, libc6-dev-s390x, libc6-dev-sparc64, libc6.1-dev + and libc1-dev. + - debian/control.in/libc: likewise. + - debian/control.in/s390x: likewise. + - debian/control.in/sparc64: likewise. + + - debian/control: Remove "Conflicts: php4" from libc1 and libc0.3. + - debian/control: Add "Conflicts: gcc-3.0 (<< 1:3.0.4ds3-11), libgcc1 + (<< 1:3.0.4ds3-11), fakeroot (<< 0.4.5-2.7)" to fix /usr/lib/64 vs + /usr/lib64 issue with upgrading from woody for sparc64 (see bug 156947). + Suggested by Dagfinn Ilmari Mannsaker . + (Closes: #188383, #193331) + - debian/control.in/sparc64: likewise. + + - debian/copyright: update the version and the year 2003. + + - debian/patches/locales-monetary.dpatch: add to change some locales + LC_MONETARY symbols: ar_SD, sr_YU, sr_YU@cyrillic, and es_EC. + And now this patch is merged into the upstream cvs, drop dpatch. + (Closes: #160040, #173963, #185342, #187142, #188159, #190785, #193020) + (Closes: #193508, #193509, #193510, #194791) + + - debian/manpages/localedef.1: remove "-h" from --help option entry. + (Closes: #187621) + + - debian/debver2localesdep.pl: add clever version recognition for binary + only NMU or source NMU/local packaging. + Patched by Gerhard Tonn . + + - debian/patches/glibc23-linuxthreads-fix.dpatch: add to revert Jakub's + change in 2003-04-02 to be enable to compile librt.so for the present. + And this bug is fixed during the development, this patch is dropped now. + Thanks to Jack Howarth . + + - debian/libc/etc/init.d/devpts.sh: Modify mounting devpts for 2.5.68 and + later. As of 2.5.68, devpts is not automounted when using devfs. So + even in that case, devpts needs to be mounted via the devpts.sh script + as well as the case that devfs is not used. + (Closes: #189792, #189879, #191785) + + - debian/libc/DEBIAN/postinst: Add code to remove a relic of the past + /usr/doc/ symlinks. This script should keep at least until + sarge release. (Closes: #189854) + - debian/glibc-doc/DEBIAN/postinst: likewise. + - debian/locales/DEBIAN/postinst: likewise. + - debian/nscd/DEBIAN/postinst: likewise. + - debian/libc/DEBIAN/postinst: Remove symlinks for libc-{dbg,dev,pic,prof}. + + - prep.sh: Add NPTL extract code. + - version: Add NPTL version. + + - debian/packages.d/sparc64.mk: bumping up --enable-kernel version from + 2.4.0 to 2.4.1. + - debian/packages.d/s390x.mk: likewise. + + - debian/patches/50_glibc232-mips-buildfix.dpatch: add for building + mips/mipsel correctly. Patched by Guido Guenther , + Thiemo Seufer . + + - debian/packages.d/libc-udeb.mk: libc-udeb includes libnss_dns and + libresolv. (Closes: #192577) + + - debian/patches/50_glibc23-hppa-entry.dpatch: added to fix funcptr + (function descriptors) for _start on hppa, so we need a + sysdeps/hppa/elf/entry.h (similar to ppc64, ia64, etc). + Patched by Randolph Chung . (Closes: #193656) + + - debian/patches/30_glibc232-base.dpatch: add that binutils 2.14.90.0.2 + has entered in sid, which contain the binutils portion of the base fix. + Reported by Jack Howarth . + + - debian/patches/sparc32-buildfix.dpatch: added to fix sparc32 build. + + * Ben Collins + - debian/contron.in/sparc64: Remove the superflous (and incorrect) dep on + gcc-3.2 for libc6-dev-sparc64. Add lib64gcc1 as a dep for libc6-sparc64. + - Use CC for building sparc64 libs. + - Remove build-dep for gcc-3.3 on sparc. + - Really fix devpts.sh so that it mounts devpts whenever devpts is + available and not mounted. + - sparcv8-target.dpatch: New patch that enables v8 optimizations for + sparc-linux compiles. Debian specific. For some reason config.sub + doesn't recognize sparcv8, else I'd just pass sparcv8-linux as the host + target. + - Change how things are passed to configure for optimized packages, so + that we let glibc set all the optimizations for us. + - Change how sparc64 and s390x are built. Before the binary stage would + force the build of the packages. Now, the build/install phases dep on + the same for sparc64 and s390x. Same way that the OPT packages are done. + + -- Jeff Bailey Tue, 15 Jul 2003 14:35:58 -0400 + +glibc (2.3.1-17) unstable; urgency=low + + * GOTO Masanori + - debian/libc/DEBIAN/preinst: Add NSS restarting preinstallation + service detection routine and messages. xdm, kdm, gdm, + postgresql, xscreensaver needs user's hand restart. + (Closes: #165258, #165915, #184036, #184495, #188724) + - debian/libc/DEBIAN/postinst: Edit NSS restarting messages to + adopt some preinst messages. + - Cleanup optimized and sparc64 builds. + + -- GOTO Masanori Sat, 19 Apr 2003 22:01:40 +0900 + +glibc (2.3.1-16) unstable; urgency=high + + * GOTO Masanori + - debian/patches/glibc23-cert-rpcxdr.dpatch: Fix "CERT Advisory + CA-2003-10 Integer overflow in Sun RPC XDR library routines" + (Closes: #185508). + + - debian/packages.d/glibc-doc.mk: Fix unneeded file '[' and ']' in + /usr/share/man/man3. + - These debian/patches/ are removed from cvs because + they are no longer being used and were superceeded by CVS patches: + - libgcc-compat-mips.dpatch + - libgcc-compat-sparc.dpatch + - debian/libc/DEBIAN/postinst: add spamassassin to restart during + upgrade from 2.2 to 2.3. (Closes: #185275) + - debian/control.in/opt: add one empty line at the end of file. + This fix avoids opt packages to get mixed debian/control + message with libc-udeb package. (Closes: #185688) + + -- GOTO Masanori Tue, 18 Mar 2003 00:04:13 +0900 + +glibc (2.3.1-15) unstable; urgency=low + + * GOTO Masanori + - debian/packages.d/optimized.mk: drop configure --disable-static + option, because it does not work. enable-kernel version bumps + up to 2.4.1. + + - debian/manpages/nscd.8: Apply slightly improvement for the nscd(8), + nscd_nischeck(8), and nscd.conf(5) man pages. Patched by + Sebastian Rittau (Closes: #94058) + - debian/manpages/nscd.conf.5: likewise. + - debian/manpages/nscd_nischeck.8: likewise. + - debian/manpages/zdump.1: add the description that zonename should be + relative path name from /usr/share/zoneinfo. (Closes: #171017) + - debian/manpages/locale.1: add the description for LOCPATH. + (Closes: #176661) + + - debian/locales/DEBIAN/templates: Add a description "what is the + locale?". (Closes: #119197) + - debian/FAQ: Add description how to setup your own locale with + debconf + locales. (Closes: #99763) + + - debian/locales/DEBIAN/templates: Introducing new templates format + with po-debconf. Thanks to Denis Barbier . + - debian/packages.d/locales.mk: likewise. + - debian/po/*: likewise. + - debian/control.in/main: Build-Depends-Indep: po-debconf. + - debian/po/ja.po: Update translation data. + - debian/po/fr.po: Update translation data. Translated by + Denis Barbier . (Closes: #183652, #193083). + + - debian/sysdeps/depflags.pl: Remove conflicts: file-rc (<< 0.7.0) + - debian/libc/DEBIAN/postinst: Use /usr/sbin/update-rc.d in updatercd(), + suggested by Anthony Towns . + - debian/libc/DEBIAN/postinst: Check /usr/{lib,share}/file-rc/ + because file-rc >= 0.7.0 does not use /usr/lib/file-rc. + + - debian/patches/glibc23-hppa-compat.dpatch: add hppa libgcc-compat + symbols patch, patched by Randolph Chung . + - debian/patches/libgcc-compat-all.dpatch: update for mips and add + for alpha, patched by Guido Guenther . + - debian/patches/libgcc-compat-other.dpatch: add for arm, m68k, ia64 + and s390. Patched by GOTO Masanori . + + - debian/locales/usr/sbin/locale-gen: add "set -e" in order to return + value. (Closes: #183449) + + - debian/packages.d/libc-udeb.mk: contain libpthread.so to support + installer using pthread. (Closes: #183155) + + - debian/sysdeps/depflags.pl: remove php4 conflicts from libc6. + (Closes: #183477, #184091) + + - debian/libc/DEBIAN/postinst: add proftpd-{ldap,mysql,pgsql} to + restart during upgrade from 2.2 to 2.3. (Closes: #184129) + - debian/libc/DEBIAN/postinst: add cupsys. (Closes: #184257) + + - debian/patches/glibc23-m68k-madv.dpatch: add to fix build error + for some MADV_* used software on m68k, pulled from the latest cvs. + (Closes: #159723, #181661, #184589) + + - debian/patches/glibc23-00-hppa-pthreads.dpatch: add to improve + linuxthreads on hppa. Pathced by Carlos O'Donell + . His summary: LinuxThreads is now using a + self-aligning lock. + - debian/patches/glibc23-hppa-malloc8.dpatch: add to improve malloc + on hppa. Patched by Carlos O'Donell . + His summary: Malloc alignment has been moved back to 8 for optimal + performance. + + - These debian/patches/ are removed from cvs because + they are no longer being used and were superceeded by CVS patches: + - glibc23-02-hppa-min-kern-unwind-fde.dpatch + - glibc23-03-hppa-mcontext.dpatch + - glibc23-04-hppa-fcntl64.dpatch + - glibc23-05-hppa-buildhack.dpatch + - glibc23-06-hppa-tests.dpatch + - glibc23-08-hppa-configure.dpatch + + - Glibc 2.3 uses another regex engine: "sed: woody version more than + 1000 times slower than potato version" should be fixed. + (Closes: #155751) + - en_CA can generate without warnings. In addition, we use debconf + interface in these days, this kind of "manual edit /etc/locale.gen" + bug should be avoided. (Closes: #151631) + - libc6.postinst restarts samba in these days. (Closes: #168189) + - _FPU_SETCW/_FPU_GETCW macro works fine on powerpc in these days. + "Incorrect macro _FPU_SETCW in " should be fixed. + (Closes: #137020) + - hyper and unsigned hyper are supported in the current glibc. + "rpcgen(1) doesn't handle 64 bit types" should be fixed. + (Closes: #69041) + + -- GOTO Masanori Wed, 26 Feb 2003 18:44:08 +0900 + +glibc (2.3.1-14) unstable; urgency=low + + * GOTO Masanori + - debian/patches/glibc23-cmov.dpatch: Fix hwcap condition code again, + previous version did not work properly under some situation. + - debian/sysdeps/depflags.pl: Fix libnss-db dependency from << 2.2-6 + to <= 2.2-6.1.1, because the first version of libnss-db to work + with libc6 2.3 is 2.2-6.1, and 2.2-6.2 works under all architectures + correctly. Suggested by Ryan Murray . + (Closes: #181834) + - debian/sysdeps/depflags.pl: Fix libc6.postinst breakage with file-rc + (<< 0.7.0), now libc6 conflicts them. (Closes: #181683, #182320) + + -- GOTO Masanori Fri, 21 Feb 2003 09:19:45 +0900 + +glibc (2.3.1-13) unstable; urgency=low + + * GOTO Masanori + - debian/libc/DEBIAN/postinst: Replace from "/usr/lib/file-rc" to + "/usr/share/file-rc" to follow up file-rc 0.7. + (Closes: #181551, #181556, #181606) + - debian/libc/etc/init.d/devpts.sh: Fix devpts.sh failure if + $devfs_mounted is empty. (Closes: #181541, #181591) + + -- GOTO Masanori Wed, 19 Feb 2003 09:26:17 +0900 + +glibc (2.3.1-12) unstable; urgency=low + + * GOTO Masanori + - debian/patches/glibc23-malloc-check.dpatch: Fix hppa MALLOC_CHECK_ + invalid pointer problem. (Closes: #177242) + - debian/patches/libgcc-compat-sparc.dpatch: Fix sparc libgcc compat + symbol problem. Patched by Guido Guenther + (Closes: #178645) + - debian/patches/locales-supported.dpatch: This dpatch addes many + locales especially for UTF-8 and ISO-8859-15, to display debconf + locale menu using SUPPORTED.orig. + (Closes: #135334, #154556, #177472, #99623, #130517) + - debian/packages.d/glibc-doc.mk: add pthread_{getspecific, key_delete, + setspecific} manpage symlinks to pthread_key_create. (Closes: #99530) + - debian/manpages/ldconfig.8: Update from the redhat manpages. + (Closes: #180916) + - debian/patches/libgcc-compat-all.dpatch: Fix i386 libgcc compat + symbol problem, this dpatch merges with + libgcc-compat-{sparc,mips}.dpatch, patched by Guido Guenther + . (Closes: #179781, #180330) + - debian/locales/DEBIAN/{postinst,templates,config}: Fix default + environment variable "Leave alone" does not affect its meaning. + (Closes: #180040) + * Daniel Jacobowitz + - debian/libc/etc/init.d/devpts.sh: Update devpts.sh to work with the + new grep package (Closes: #181409). + + -- GOTO Masanori Sat, 8 Feb 2003 22:08:59 +0900 + +glibc (2.3.1-11) unstable; urgency=low + + * GOTO Masanori + - debian/libc/DEBIAN/preinst: Fix silly bug at parisc64 kernel version + check, replace from $ver to $kernel_ver. (Closes: #178159, #178217) + - debian/patches/glibc23-cmov.dpatch: Fix hwcap inappropriate handling + not to load CMOV libraries (/*/lib/i686/cmov/) on VIA C3 architecture. + - debian/patches/libgcc-compat-mips.dpatch: Fix undefined some symbols + like __umoddi3 to export libgcc compat symbol. Patched by + Guido Guenther . + - debian/patches/0list: Disabled ldso-disable-hwcap.dpatch because + (1) -opt is not provided currently, (2) disabling hwcap is not good + way whether -opt package is installed or not. + + -- GOTO Masanori Wed, 22 Jan 2003 22:17:45 +0900 + +glibc (2.3.1-10) unstable; urgency=low + + * The "trudging the sludge" release. + + * GOTO Masanori + - debian/packages.d/glibc-doc.mk: install linuxthreads/man/*.man + manpages into glibc-doc package. (Closes: #155794) + - debian/libc/DEBIAN/preinst: add kernel version check compared with + 2.4.19-pa17 on parisc64. Suggested by Randolph Chung. + - debian/libc/DEBIAN/preinst: add kernel version requirement for + 2.5.53-pa3 in 2.5 series kernel on parisc64. + - debian/locales/DEBIAN/config, debian/locales/DEBIAN/templates: + add translated selection "Leave alone" and "None" because such strings + were hardcoded and could not be localized in the templates file. + Patched by Denis Barbier . (Closes: #171502) + - debian/packages.d/glibc-doc.mk: Fix glibc-doc dangling symbolic link for + /usr/share/doc/glibc-doc/html/index.html. (Closes: #169878, #176701) + - debian/libc/DEBIAN/postinst: Fix to work $DEBIAN_FRONTEND value + regardless its case insensitivity. See #176483. + - debian/sysdeps/depflags.pl: Fix again to conflict against wine + (<< 0.0.20021007-1) and php4 (<< 4:4.2.3-5). (Closes: #170385) + - debian/control: Fix unneeded Conflicts: wine and php4, as denoted above. + - debian/control.in/libc: likewise. + - debian/patches/glibc23-cmov.dpatch: Add CMOV to hwcap, for VIA C3 which + is i686 class processor, but does not have 686 optional instruction CMOV. + - debian/patches/glibc23-regcomp.dpatch: Fix regex crash, if clearing + buffer, clear allocated too. This patch is pulled from the current + upstream glibc cvs. (Closes: #175529) + + * Daniel Jacobowitz + - debian/patches/alpha-pic.dpatch: Fix errno reporting from syscalls + on Alpha (Closes: #175511). + + -- GOTO Masanori Sun, 5 Jan 2003 09:13:22 +0900 + +glibc (2.3.1-9) unstable; urgency=low + + * Daniel Jacobowitz + - debian/packages.d/s390x.mk: Don't try to install CVS directories + (Closes: #174267). + - debian/packages.d/optimized.mk, debian/packages.d/sparc64.mk: + Likewise. + - debian/patches/glibc23-errno.dpatch: Updated for "h_errno" and "_res" + also. + - Upload properly this time, with a .diff.gz (Closes: #174436). + + * GOTO Masanori + - debian/patches/glibc23-hppa-shmlba.dpatch: Applied hppa SHMLBA + definition. (Closes: #170507) + - debian/libc/DEBIAN/postinst: add mysql-server in restarting service + list. (Closes: #172123) + - debian/patches/document-fix.dpatch: Applied patches sent by + H. S. Teoh and GOTO Masanori. (Closes: #117680) + - debian/patches/glibc23-asserth-decls.dpatch: Applied patches send by + Jeroen T. Vermeulen . (Closes: #106253, #164571) + - debian/libc/DEBIAN/postinst: Removed 'logind' from checking list + because it does not exist. + - debian/libc/DEBIAN/postinst: Replaced dpkg -s from apache2 to + apache2-common correctly. + - debian/libc/DEBIAN/postinst: Redirect dpkg stderr message to /dev/null, + which is showed if there are not installed packages. (Closes: #168481) + - debian/libc/DEBIAN/postinst: Message typo fixed as "successfully." + (Closes: #168483) + - debian/manpages/ldd.1: Updated newer version which is pulled from + RedHat manpages. + - debian/locales/usr/sbin/locale-gen: add '-A /etc/locale.alias' into + localedef option to consult locale alias name when making archives. + + -- Daniel Jacobowitz Thu, 2 Jan 2003 12:02:13 -0500 + +glibc (2.3.1-8) unstable; urgency=high + + * Daniel Jacobowitz + - debian/patches/glibc23-errno.dpatch: Temporarily re-enable linking + to "errno" to fix compatibility with broken binaries + (Closes: #174040, #174004). + - debian/patches/glibc23-getaddrinfo.dpatch: Add getaddrinfo patch + from CVS (Closes: #174027). + - debian/control.in/main: Add myself to Uploaders. + + -- Daniel Jacobowitz Tue, 24 Dec 2002 12:35:39 -0500 + +glibc (2.3.1-7) unstable; urgency=high + + * The "Climb Ev'ry Mountain" release. + + * GOTO Masanori + - debian/packages.d/s390x.mk: typo fixed, s390x-linux should be + ok to rebuild. (Closes: #173874) + - debian/patches/glibc23-getdents64-fix.dpatch: Fix getdents64 + failure on linux kernel 2.2. (Closes: #173913) + + * Jeff Bailey + - sysdeps/linux.mk: Finish disabling sparc64. + + -- GOTO Masanori Sun, 22 Dec 2002 01:35:43 +0900 + +glibc (2.3.1-6) unstable; urgency=low + + * The "I will not be thwarted" release. + + * Daniel Jacobowitz + - Update glibc23-ctype-compat.patch to fix segfaults in old static + binaries (Closes: #171451). + - Allow building from the CVS checkout without getting CVS dirs in the + resulting packages. Whew. + + * Jeff Bailey + - debian/patches/cvs.dpatch: Update. + (Closes: #171550, #170507) + - debian/patches/0list: Update + - debian/control.in/libc: Conflict against wine (<< 0.0.20021007-1) + (Closes: #170385) + Also conflict against php4 (<< 4:4.2.3-5) + Thanks to Steve Langasek for hunting this down! + - debian/rules: Disable sparc64 build targets for now. + - debian/packages.d/s390x.mx: Setup the 64 bit build as a cross-compile, + because 's390' cannot run binaries intended for 's390x' + + * GOTO Masanori + - cvs.dpatch update resolve some bugs (Closes: #169919, #165603) + - debian/patches/glibc23-hppa-Rminkernel.dpatch: Added hppa kernel + version checking due to prevent people from installing unmatched version. + Patched by Carlos O'Donell (Closes: #171804) + - debian/libc/DEBIAN/preinst: likewise. + - glibc23-function-compat.dpatch: Added for some bad application to + keep running and not to resolve some symbols like __libc_wait, + __libc_waitpid, so on. This patch will be removed when sarge will be + relased apparently. (Closes: #165358, #173201) + + - debian/locales/DEBIAN/config: db_set is set if and only if locale.gen + is existed. Patched by Masato Taruishi + His note: + The previous config script always set locales_to_be_generated + even when /etc/locale.gen doesn't exist. So the question in + dpkg-preconfigure time became empty in dpkg --configure locales time. + This change resolves long outstanding locales bug. + (Closes: #156386, #151784, #154244, #164523) + + -- Daniel Jacobowitz Mon, 2 Dec 2002 17:26:38 -0500 + +glibc (2.3.1-5) unstable; urgency=low + + * This is the "Leonids" release. + + * Jeff Bailey + - debian/packages.d/libc-udeb.mk: Do not rename file to SONAME if it's + a symlink. Needed for hurd-i386. + - debian/patches/signal-texi.dpatch: New file to remove link to + linuxthreads manual. Needed for hurd-i386. + + Welcome back, hppa: + + - debian/patches/glibc23-00-hppa-pthreads.dpatch + - debian/patches/glibc23-01-hppa-dl-machine.dpatch + - debian/patches/glibc23-02-hppa-min-kern-unwind-fde.dpatch + - debian/patches/glibc23-03-hppa-mcontext.dpatch + - debian/patches/glibc23-04-hppa-fcntl64.dpatch + - debian/patches/glibc23-05-hppa-buildhack.dpatch + - debian/patches/glibc23-06-hppa-tests.dpatch + - debian/patches/glibc23-07-hppa-atomicity.dpatch + - debian/patches/glibc23-08-hppa-configure.dpatch + Thanks to Carlos O'Donell for these! + + - debian/control.in/libc-udeb: Remove missing trailing blank line. + Thanks to Tollef Fog Heen. Closes: #169342 + - debian/control.in/s390x: Remove missing trailing blank line. + Thanks to Gerhard Tonn. + + - debian/libc/DEBIAN/postinst: Fix error in apache2 restart logic. + Thanks to Carlos O'Donell. + + - debian/packages.d/libc-dev.mk: Fix missing tabs from s390x section. + - debian/patches/s390-types.dpatch: New file to fix __ssize_t + Thanks to Gerhard Tonn for these. + + - debian/packages.d/libc-udeb.mk: use DEB_HOST_ARCH, not DEB_BUILD_ARCH + for determining package name. Fixes cross-compilation case. + + - debian/patches/0list: Update for above + + -- Jeff Bailey Mon, 18 Nov 2002 23:12:47 -0500 + +glibc (2.3.1-4) unstable; urgency=low + + * Daniel Jacobowitz + - debian/patches/cvs.patch: Fix RCS ID tags. + - debian/rules, debian/sysdeps/sysdeps.mk: Move i386 optimization + hack out of the rules file and put debugging information back in + libc6-dbg for i386 (Closes: #165892). + - debian/patches/crypt.dpatch: Fix initialization in crypt_r + (Closes: #163260). + - debian/patches/rtsig.dpatch: Fix the value of SIGRTMIN in non-threaded + applications (Closes: #165412). + - debian/rules, debian/packages.d/libc-dev.mk, + debian/packages.d/libc-udeb.mk: Don't use '{}' wildcards, to fix + building with /bin/sh -> ash. + + * GOTO Masanori + - debian/libc/DEBIAN/postinst: add more NSS services: + samba, courier-authdaemon + - debian/packages.d/sparc64.mk: fix build error. + - debian/libc/DEBIAN/postinst: modify apache2 service, + apache2 ships its init script in apache2-common, but the script + is in apache2. So replace from apache2-common to apache2 is needed. + Closes: #165959 + - debian/patches/cvs.patch: Hurd trailing slash handling fixed. + Closes: #162414 + - debian/patches/locales-stuff.dpatch: Fixed error generating de_CH, + it's caused by typo. Closes: #140054 + + * Jeff Bailey + - debian/patches/cvs.dpatch: New file. + - debian/patches/0list: Update + - debian/sysdeps/depflags.pl: Conflict against libnss-db <= 2.2-6 + Thanks to Ryan Murray for the patch. Closes: #168890 + + - debian/patches/s390x-lib64.dpatch: New file. + - debian/control.in/s390x: New file. + - debian/libc-s390x/postinst: New file. + - debian/packages.d/libc-dev.mk: Handle asm-s390x + - debian/packages.d/s390x.mk: New file. + - debian/rules: Include s390x files. + - debian/rules.d/control.mk: Add s390x to control_deps, and include + control.in/s390x + - debian/sysdeps/linux.mk: Add s390x support. + + Thanks to Gerhard Tonn. Closes: #169176, #166450. + + - debian/control.in/main: Update Standards-Version to 3.5.7.0 + + - debian/patches/glibc22-hppa-fcntl.dpatch: Remove File + - debian/patches/glibc22-hppa-fcntl-lfs.dpatch: Remove File + - debian/patches/glibc22-hppa-mcontext.dpatch: Remove File + - debian/patches/glibc22-hppa-pthreads.dpatch: Remove File + - debian/patches/glibc22-hppa-rela.dpatch: Remove File + - debian/patches/glibc22-hppa-tests.dpatch: Remove File + - debian/patches/glibc22-hppa-unwind.dpatch: Remove File + + - debian/patches/hurd-fork-fix.dpath: New File. + + Note: CVS patch disabled for this upload + + -- Daniel Jacobowitz Tue, 29 Oct 2002 13:14:51 -0500 + +glibc (2.3.1-3) unstable; urgency=low + + * GOTO Masanori + - debian/patches/librt-mips.dpatch: librt is not worked on + mips/mipsel architecture, we apply it until sarge will be + released. Thanks to Guido Guenther . + - debian/patches/glibc23-ctype-compat.dpatch: added. + glibc 2.3.x changes some symbols (__ctype_b, __ctype_toupper, + __ctype_tolower) as hidden attribute. These symbols that are + crashing the old 2.2.x dynamic linking code in static binaries + are now exported. + This patch is originally pulled from RedHat patch, I modified + it for current debian glibc. Closes: #165554 + + -- GOTO Masanori Sun, 20 Oct 2002 15:04:48 +0900 + +glibc (2.3.1-2) unstable; urgency=low + + * This is the "Why did everything stop working, mommy?" release + + * Jeff Bailey + - debian/libc/DEBIAN/postinst: Warn about NSS changes if upgrading + from older than 2.2.94-1. Add ssh-krb5 and apache2 to list of + services that definetly need restarting. + + Add libc-udeb (closes: #158589) Thanks to Tollef Fog Heen. + - debian/control.in/libc-udeb: New file + - debian/packages.d/libc-udeb.mk: New file + - debian/rules: Call udeb machinery. + - debian/rules.d/control.mk: Call udeb machinery. + + - debian/sysdeps/build-options.mk: Strip libc on alpha + + - debian/control.in/main: 2.13.90.0.10-1 is broken on s390 + require 2.13.90.0.4-1 for them. + + * GOTO Masanori + - debian/patches/0list: disable ip6-fix.dpatch. Closes: #165287 + - debian/packages.d/libc-udeb.mk: Clean up and fix indent crap. + - debian/rules.d/shlibs.mk: bump up to 2.3.1-1. Closes: #165456 + + -- Jeff Bailey Fri, 18 Oct 2002 11:27:07 -0400 + +glibc (2.3.1-1) unstable; urgency=low + + * This is the "twilight" release... + + * Jeff Bailey + - Upgrade tarballs to 2.3.1 + - version: Update to 2.3.1 + + - debian/sysdeps/linux.mk: Do not build optimized libraries + - debian/rules.d/control.mk: Likewise + + - debian/control.in/main: Require binutils 2.13.90.0.10-1 for ppc + + - debian/patches/elf-machine-rela-mips.dpatch: New file + - debian/patches/0list: Update accordingly. + + - debian/rules: Use -O on i386. This should go somewhere else, + but I want to get this release out. + + * XXX Below here was during the 2.3 development, and never released. + + * Jeff Bailey + - Upgrade tarballs to 2.3 + - version: Update to 2.3 + + - debian/patches/hppa-data-start.dpatch: Remove, incorporated upstream + - debian/patches/various-lsb-fixes.dpatch: Remove, incorporated upstream + + - debian/patches/0list: adjust accordingly + Also, prune ia64-reloc-none from the list. + I can't tell from the code snippet if this + has been incorporated or not. + + - .cvsignore: Add the stamp directories + + - debian/rules: Don't put CFLAGS in configparms, resolves ldconfig + miscompile on i386 + + - debian/rules: Add freebsd-i386 support + - debian/rules.d/control.mk: Add freebsd-i386 support + - debian/sysdeps/freebsd.mk: New file to add freebsd-i386 support + - debian/sysdeps/paths.mk: Add freebsd-i386 support + - debian/sysdeps/soname.mk: Add freebsd-i386 support + + * XXX Below here was during the 2.2.94 development, and never released. + + * Jeff Bailey + - Upgrade tarballs to 2.2.94 + - version: Update to 2.2.94 + + - debian/patches/cvs: Remove + - debian/patches/manual-texinfo4: Remove, incorporated upstream. + - debian/patches/i386-mathinline.dpatch: Remove, glibc headers require + ANSI compilers. + - debian/patches/db1-addon-enabler.dpatch: Remove + - debian/patches/0list: adjust accordingly + + - debian/patches/0list: Comment out string2-pointer-arith. + This was originally created to fix #44697, but without this + patch, 44697 is no longer reproducable. + + - debian/patches/fhs-linux-paths.dpatch: Update to new template format + + - .cvsignore: New file + + * XXX Below here was during the 2.2.93 development, and never released. + + * Jeff Bailey + - Upgrade tarballs to 2.2.93 + - version: Update to 2.2.93 + + The following important patches are still disabled: + + glibc22-hppa-pthreads, glibc22-hppa-rela, ia64-perf + + - debian/patches/0list: prune commented out patches that won't + be needed anymore + + - debian/patches/ia64-reloc-none.dpatch: Updated, thank to + Randolph Chung + + - debian/make-cvs-patch.sh: New file. + + - debian/patches/template.dpatch: Update headers to new format. + + - debian/patches/hurd-ioperms.dpatch - Deleted + - debian/patches/hurd-lfs64.dpatch - Deleted + - debian/patches/hurd-update.dpatch - Deleted + - debian/patches/syserrlist.dpatch - Deleted + + - debian/README - More updates + + - debian/rules.d/control.mk: debian/control should Depend on + debian/sysdeps/depflags.pl + + - debian/sysdeps/depflags.pl: Actually add the dependancy on + libdb1-compat. This is an update to GOTO Masanori's change, + Thanks to Ryan Murray for catching this. + + - debian/patches/mathpatch.dpatch: Prune + + - debian/rules.d/patch.mk: Add `setup' as an alias for `patch' + to provide dbs compatability. + + - debian/patches/cvs.dpatch: Sync with CVS from September 14th. + - debian/patches/0list: Updated + + * GOTO Masanori + - debian/packages.d/glibc-doc.mk: change texi2html processed file from + chapters.texi to libc.texinfo. Closes: #159417 + - debian/packages.d/libc-{dbg,pic,prof}.mk: fix /usr/doc removal + compilation failure. + - debian/libc/DEBIAN/postinst: Fix 'grep -v' failure if the size of + /etc/ld.so.nohwcap is 0. + - debian/rules.d/control.mk: Generate libc-opt control information. + + - Updating 2.2.9x fixes LSB 1.2 compliance. Closes: #156821 + - debian/control: add Depends: libdb1-compat. + Until woody, libdb1 is included in libc6 package. However after sarge, + libdb1 support is removed. libdb1-compat contains libdb1 which is + formerly provided by libc6. Now libc6 depends on libdb1-compat, + so upgrading from woody to sarge does not break any libdb1 issues. + Closes: #155904 + + - debian/patches/glibc22-hppa-fcntl.dpatch: added, patched by + Carlos O'Donell . + - debian/patches/glibc22-hppa-fcntl-lfs.dpatch: added, patched by + Randolph Chung . Closes: #160846 + + * Ben Collins + - Make sparc64 build use gcc-3.2. + - Update all config options to not use --disable-sanity-checks, since we + are actually using gcc-3.2 for everything. + - Patch cleanups. + - Re-enable optimized libs. Includes a simple mechanism which should fix + the conflicting symbols during libc/libc-opt upgrade scenarios. This + means that libc6-v9, libc6-i586 and libc6-i686 are back in full swing. + - Remove all references to /usr/doc symlink crap, which is deprecated. + + * XXX Below here was during the 2.2.92 development, and never released. + + * Jeff Bailey + - Upgrade tarballs to 2.2.92 + - version: Update to 2.2.92 + - debian/control.in/main: Require gcc-3.2 for all archs + - debian/patches/0list: prune glibc-cvs, glibc22-s390-resource, + gmon-start, locales-de_CH, sh-sysdep, alpha-build-failure + + These are already included in the 2.3 series. + + - debian/patches/glibc22-misc.dpatch: Split into ... + debian/patches/makeconfig.dpatch: ... this + debian/patches/locale-es_AR.dpatch: ... and this + debian/patches/i386-mathinline.dpatch: ... and this + debian/patches/ldconfig.dpatch: ... and this. + + - debian/patches/makeconfig.dpatch: Update for 2.3 series + + - debian/patches/0list: Temporarily disable some other patches: + + glibc22-hppa-pthreads, glibc22-hppa-rela, ia64-perf + + - debian/rules: memset.S works on ppc now, so stop deleting it. Thanks + to Jack Howarth for letting us know. + + - debian/sysdeps/gnu.mk: Remove --enable-libio, now set by default. Add + NO_TEST = yes, make check does not run on i386-gnu. + + - debian/sysdeps/tools.mk: Hardcode gcc-3.2 for $(CC) and $(BUILD_CC) + until gcc-defaults switches. + + - debian/rules: use CC=$(CC) when calling configure to get any changed + definitions. + + - debian/control.in/main: Require binutils (>= 2.13.90.0.4-1) + + - debian/rules: Add time/date stamps to beginning and end of log files + + - db1-addon-2.1.3.tar.bz2: Delete + + - debian/ppc-memset.S: Delete + + - debian/README: Update + + * GOTO Masanori + - debian/packages.d/libc-dbg.mk: update libpthread-0.9 -> 0.10. + - packages.d/libc.mk: likewise. + - packages.d/optimized.mk: likewise. + - packages.d/sparc64.mk: likewise. + + - debian/patches/glibc22-hppa-mcontext.dpatch: Fix unmatched userland + mcontext_t definition differed from kernel. Patched by + Carlos O'Donell . Closes: #157374 + + * XXX Below here was during the 2.2.5 development, and never released. + + * GOTO Masanori + - debian/patches/glibc-cvs.dpatch: Update from Glibc CVS. + - debian/patches: Dropped applying below patches due to updating + glibc-cvs.dpatch. + hurd-update, hurd-ioperms, ia64-strncpy, sparc-misc, resolv-nss_dns, + glibc-openoffice-fixes, xdr-array-security, hurd-lfs64, + syserrlist, mathpatch + - Fix gcc 3.1/3.2 compatibility building for glibc on ppc, with upstream + patched by Jack Howarth and + Franz Sirl . + Closes: #155606 + + -- Jeff Bailey Thu, 17 Oct 2002 08:37:52 -0400 + +glibc (2.2.5-15) unstable; urgency=low + + * debian/patches/dl-procinfo-fix.dpatch: Fix libssl optimization + problem occured by glibc dl-procinfo. + Closes: #161700, #161717, #161720, #161740, #161773, #161774 + Closes: #161786, #161788, #161813 + + -- GOTO Masanori Thu, 3 Oct 2002 09:56:46 +0900 + +glibc (2.2.5-14.3) unstable; urgency=low + + * NMU + * debian/patches/glibc22-mips-mcontext.dpatch: delete. + + -- Ryan Murray Sun, 15 Sep 2002 14:21:21 -0700 + +glibc (2.2.5-14.2) unstable; urgency=medium + + * NMU + * debian/patches/alpha-stxncpy.dpatch: keep testsuite patch (accepted + upstream), but disable all use of stxncpy until a correct patch can + be made. + + -- Ryan Murray Thu, 12 Sep 2002 13:04:47 -0700 + +glibc (2.2.5-14.1) unstable; urgency=low + + * NMU + * sysdeps/depflags.pl: Make libc{6,6.1} depend on libdb1-compat + (closes: #155904) + * debian/patches/alpha-stxncpy.dpatch: Add patch from Daniel Jacobowitz + for alpha stxncpy (closes: #159633) + * debian/patches/glibc22-mips-msq.dpatch: Add + sysdeps/unix/sysv/linux/mips/bits/msq.h for mips (closes: #159923) + * debian/patches/glibc22-hppa-fcntl.dpatch: Add DN_* and F_NOTIFY definitions + for hppa (closes: #159636) + * debian/patches/glibc22-hppa-mcontext.dpatch: correct definition of mcontext + to match kernel (closes: #157374) + * debian/patches/glibc22-mips-mcontext.dpatch: correct definition of mcontext + to match kernel (closes: #160462) + * add build-depends on dpkg 1.10.8 to ensure we use the install-info that + has the perl 5.8 workaround. + + -- Ryan Murray Tue, 10 Sep 2002 22:35:48 -0700 + +glibc (2.2.5-14) unstable; urgency=low + + * GOTO Masanori + - debian/patches/sh-sysdep.dpatch: Added the patch to compile for sh[34] + sh[34]eb. Closes: #156273 + - debian/patches/glibc22-m68k-compat.dpatch: Newer m68k debian specific + compatibility patch. Patched by Michael Fedrowitz . + - debian/patches/malloc-security.dpatch: Applied malloc security patch + Patched by Wolfram Gloger . + - debian/patches/alpha-build-failure.dpatch: Fix alpha build failure. + + -- GOTO Masanori Wed, 7 Aug 2002 20:56:54 +0900 + +glibc (2.2.5-13) unstable; urgency=low + + * Ben Collins + - Last maintainer upload for me. + - Fix double getent listing for build of libc package. + Closes: #154133, #152866 + - Set maintainer to the debian-glibc mailing list. Set uploaders to myself + and others. + - Placed into CVS (this log entry is the first test commit). + - ia64 build failure was fixed in last NMU. Closes: #151956 + - This sshd/libc bug is long since gone. Closes: #72596, #82468 + - ldconfig search order has also since been fixed. Closes: #105249 + - Add patches that OpenOffice needs in order to build. Closes: #153107 + - Bump min kernel supported to 2.2.0. Closes: #149529 + - Remove db1 compat library. The only user I know of this is coda. Coda + can include it's own version of the library now. I've emailed the coda + maintainer. + - Bump the shlibs ver because of the min-kernel change, and db1 removal. + - Add xdr-array.c security patch, Closes: #154992 + + * GOTO Masanori + - applied patches/locale-de_CH. + - debian/control: fix my uploader address due to my obsolete gpg key. + - debian/copyright: update copyright year. + + * Jeff Bailey + - Add hurd-i386 patch for support LFS from CVS + - Add patch to only declare sys_errlist and sys_nerr on Linux. This + allows gcc to build cleanly on hurd-i386. + - Require mig >= 1.3-2 (hurd-i386 only), and hurd-dev >= 20020608-1 + (hurd-i386 only) + - Prune hurd-ldflags from Hurd patch list. Noone is quite sure what + it's for. With this change, all hurd-i386 patches are now upstream + in CVS. + - Add 'mathpatch' to fix a math testsuite failure. + + -- Ben Collins Thu, 25 Jul 2002 11:13:22 -0400 + +glibc (2.2.5-12) unstable; urgency=low + + * Non-maintainer upload to fix build problems on ia64 + * replaces ia64-asm-fixes.dpatch with ia64-perf.dpatch, ia64-strncpy.dpatch + + -- Bdale Garbee Tue, 16 Jul 2002 17:09:24 -0600 + +glibc (2.2.5-11) unstable; urgency=low + + * Yet another NMU + * Build with a -11 version to work around fragile logic that breaks + locale dependencies when using NMU versioning. Closes: Bug#152968 + + -- Wichert Akkerman Sun, 14 Jul 2002 23:59:04 +0200 + +glibc (2.2.5-10.0) unstable; urgency=low + + * Non-maintainer upload by the security team + * Rebuild, uploads to both testing and unstable are not allowed + + -- Wichert Akkerman Sun, 14 Jul 2002 04:48:50 +0200 + +glibc (2.2.5-9) testing-security unstable; urgency=low + + * Something fucked up. Not sure why the .diff.gz size didn't match the + .changes/.dsc. Not sure why katie didn't reject the upload when it found + that out aswell. + + -- Ben Collins Sat, 13 Jul 2002 10:08:51 -0400 + +glibc (2.2.5-8) testing-security unstable; urgency=low + + * Resolver security bug fix. + + -- Ben Collins Fri, 12 Jul 2002 18:24:28 -0400 + +glibc (2.2.5-7) unstable; urgency=low + + * Misc ia64 asm updates, and strncpy fix + * Misc sparc patches from DaveM + * Revert sparc64 back to lib64 from my rebelious lib/64 effort. Use gcc-3.1 + now. + + -- Ben Collins Mon, 17 Jun 2002 22:33:39 -0400 + +glibc (2.2.5-6) unstable; urgency=low + + * Fix locales/config to be 755. + * Add big fat note to default nscd.conf about how host cache is insecure, + and disable it by default. This lowers the severity of #139879 for the + time being. I'll close it when a proper fix is in. + * Hurd patches from Jeff Bailey. Hurd goes to libc0.3! + + -- Ben Collins Sun, 28 Apr 2002 11:21:48 -0400 + +glibc (2.2.5-5) unstable; urgency=low + + * Fix missing LOCALES var in locale-gen. + * Fix space before "]" in locales/postinst. Closes: #139902, #139977, + #140048, #140464, #141408, #141515, #141558, #141617, #141786 + * Generate list of locales directly in locales/DEBIAN/config, so that we + have a working list during pre-inst. Closes: #76954, #141384 + * Backout nice changes for now. + + -- Ben Collins Mon, 25 Mar 2002 21:05:44 -0500 + +glibc (2.2.5-4) unstable; urgency=low + + * Include s/ip6.arpa/ip6.int/ patch from Fabbione. Closes: #119773, + #132310 + * Fix perms on locales/DEBIAN/config. Closes: #134094, #139682 + * Update from Glibc CVS: Lots of euro conversions and locales updates. + Closes: #128181, #130259 + Lots of other various fixes (please read the ChangeLog). Closes: #138094 + * Upstream fixed ia64 ldd rewrite problem. Closes: #128451 + * Upstream fixed nice return. Closes: #136815 + * pt_BR translation is ok now, Closes: #128530 + * Applied patch from Ganesan R to better handle some locale names. + Closes: #128969 + * Add ARM patch to disable hardware caps. + * Fix typos in catalan template. Closes: #133247 + * Add a "Leave alone" option for locales setting of /etc/environment. + Make it the default. Closes: #133315, #133315 + * HPPA patch from Randolph Chung. Closes: #133666 + * Fix zh_HK date output, from Anthony Fok. + * s/Noninteractive/noninteractive/ (hopefully for the last time). + Closes: #134381, #137348 + * Fix locales/config for when locale.gen doesn't exist. + Closes: #135343, #134613, #139284 + * Patch from Gary Hade (via Randolph Chung) to fix gmon-start. + Closes: #135748, #129903 + * Fix locale.1 - s/LC_PAPR/LC_PAPER/ Closes: #114174 + * Add glibc22-hppa-tests patch from Randolph Chung. Closes: #137513 + * Alistair McKinstry: + - Added locale.alias(5) and locale.gen(5) man pages. Closes: #106117 + - Patch for glibcbug to correctly handle bad EDITOR setting. + Closes: #128699 + - Include glibcbug.1 manpage. Closes: #128701 + - Add patch to fix segv in localedef. + - Patch for locale.1 and localedef.1 to add missing LC_* vars. + Closes: #114174 + - Fix for the d_fmt field in de_CH. Closes: #27397 + - Fix locale.alias so Russion charset is KOI8-R instead of ISO-8859-5. + Closes: #62586 + - s/Jun/Juni/ s/Jul/Juli/ for sr_YU. Closes: #131846 + - Typo in categories.def. Closes: #133379 + - Update iso-4217.def Closes: #133380 + - Re-enable el.po since we are using newer gettext. Closes: #133383 + * nscd.conf.5: Clarification. server-user option cannot be used with + -S/--secure. It will fail to start. Also note that using server-user other + than root may break some lookup services. Closes: #139433 + * Completely remove the pthread man pages. They are _way_ out of date (last + updated in 1998 according to the ChangeLog). Use the info or html docs + instead. Feel free to send me mucho patches for them, if you want them + back. Closes: #139052, #139042 + * Various LSB conformance patches from Joey Hess. Closes: #136815 + * ia64 patch for R_IA64_NONE relocs. Closes: #135314 + + -- Ben Collins Sun, 24 Mar 2002 09:49:37 -0500 + +glibc (2.2.5-3) unstable; urgency=low + + * Fix logic in locales postinst which would fail on empty or missing + /etc/environment. Closes: #132025, #131999, #132244 + * Remove build-dep on gcc-3.0-sparc64 + * Fix case where no locales are selected, so the only choices for LANG are C + and None. This left a hangin comma which debconf doesn't seem to like. + Closes: #132245 + + -- Ben Collins Sun, 3 Feb 2002 23:13:29 -0500 + +glibc (2.2.5-2) unstable; urgency=low + + * Remove glibc22-m68k-resource.dpatch. Patch is already included upstream. + Closes: #130922 + * Fix thinko in locales postinst. Also add a "None" option for LANG, and + check for it in postinst. + * HPPA correct unwind setting, from Matthew Wilcox. Also update patch + splitting the linuxthreads and rel/rela changes. Closes: #131216 + * Fix copyright shown for the GNU Libc Manual. Closes: #130866 + * Fix problem where a binary-NMU rebuild of libc would provide a version + that was incompatible with the current locales dep. + * Fix atomic_lock_t decleration for hppa. Closes: #131367 + * Fix logic in locales where LANG wasn't being set in /etc/environment. + Closes: #131040 + * Moved SUPPORTED list to /usr/share/i18n/, since policy says it can't be in + /usr/share/doc/locales/. Fixup debconf scripts to notice this. + * A few patches from CVS: + - Fixes bad optimization in dynamic linker + - Updates m68k and arm for unwind + - tzdata2002b updates + - Some irrelevant (for us) x86_64 updates + * Patch from Gerhard Tonn for s390-32 for bits/resource.h. + * libc6-sparc64-dev: Change dep to gcc-3.0 instead of gcc-3.0-sparc64. The + packages are now merged. + + -- Ben Collins Fri, 1 Feb 2002 11:52:54 -0500 + +glibc (2.2.5-1) unstable; urgency=low + + * New upstream. Closes: #122980, #126441 + * locales.postinst: Add a signature line to /etc/locale.gen so people can + take over the file manually instead of through debconf. + * Added -de template for locales. Closes: #114078 + * Removed need for generate-config.mk. SUPPORTED list for debconf is now + generated dynamically using SUPPORTED.gz. + * Added debconf option in locales to choose LANG= default in + /etc/environment based on contents of /etc/locale.gen. Closes: #117216, + #120410 + * Patched nscd init script. Patch supplied by Grant Bowman. Closes: #121942 + * Do not install tzconfig(8), Closes: #123679 + * Removed obsolete BSD license clause in debian/copyright. Closes: #123821 + * Applied spelling patch for locales description. Closes: #125092 + * Updated glibc-doc description to note that it includes html docs too. I am + not, however, splitting info and html docs into seperate packages. Closes: + #125825 + * Check for the existence of libdb.so.3 before cat'ing it. Closes: #126459 + * Added powerpc sysconf patch from David Schleef. Closes: #127560 + * Added SuperH support. Closes: #127740 + * No longer apply glibc-vs-gcc3 patch. Implementation merged upstream. + * Last minute ARM patch to fix unwind. + + -- Ben Collins Thu, 24 Jan 2002 00:31:40 -0500 + +glibc (2.2.4-7) unstable; urgency=low + + * glibc22-hppa: Fix mips/pt-machine.h, so that it patches both the ISA-1 and + ISA-2 cases of testandset(). Also add IPC updates from Willy. Closes: #120383 + * glibc22-hppa: Updated, from Mathew Wilcox. + + -- Ben Collins Mon, 3 Dec 2001 12:09:26 -0500 + +glibc (2.2.4-6) unstable; urgency=low + + * glibc22-hppa.dpatch: Fix lock_held macro on non-hppa. This patch is now + enabled by default for all archs. + * Update patches for HPPA dynamic loader from. + * m68k resource.h patch from Roman Zippel, Closes: #118909 + + -- Ben Collins Fri, 9 Nov 2001 21:20:59 -0500 + +glibc (2.2.4-5) unstable; urgency=low + + * Added patch from Ulrich to really fix the [x-] fnmatch() case. + Closes: #96013 + * Updated gcc3 compat patch. + * Several changes to ldconfig: + - Parse the config file before checking system directories. This is needed + to make sure it is possible to override system directories. + - Cleanup the config file parsing routine a bit. Make sure we open the + config file with correct perms in case it gets created by this call. + * Pulled from CVS as of Oct 27, 2001: + - Includes fnmatch fix upstream. + - strxfrm fix. + - dlfcn fix for C++ program usage. + - ENABLE_NLS fixes for various functions (doesn't affect us, since it is + mainly meant for non-nls builds). + - IPv6 reverse lookup fixes. + - Lots of libm fixes. + - Several language translation updates. + - Several m68k setjmp fixes. + - Some mips fixes merged. + - Timezone updates. + - S390 ucontext fixes. + - Several hurd fixes. + - ELFOSABI_* Updates. + * Update the kernel headers on all the systems I build for (arm, ppc, i386, + mips, sparc, sparc64, hppa). + * Added "es" template for locales, from Carlos Valdivia. Closes: #117413 + * Fixup ttyname patch for devfs, which broke some things. Closes: #117551 + * Remove the errno.texi explanation for _GNU_SOURCE for two defines. The + thing is, according to the libc manual conventions, this is not the + correct way to handle it. In fact, it is already done according to the + convention of the rest of the manual. The two items are tagged with the + "GNU" comment, meaning they are GNU extensions. The libc manual explains + in its introductory chapters that this means it needs the _GNU_SOURCE + define. + + -- Ben Collins Mon, 29 Oct 2001 20:25:40 -0500 + +glibc (2.2.4-4) unstable; urgency=low + + * Hopefully fix the damn .html docs. Looks good to me. Closes: #84237, + #89382 + * Fix inttypes.h typo. Closes: #114483 + * Disable sanity checks for gcc-3.0 archs, Closes: #114724 + * Fix entry for locales depending on debconf. Closes: #115155 + * Fix echo commands when generating locales.config. The -e option is not + portable. + * New hppa patch from several people. This, along with the .10 binutils, + should fix all of hppa's problems. + * Apply devfs compatibility patch for ttyname. Closes: #74911 + * Add (modified) patch for ldconfig to create ld.so.conf if it doesn't + exist. Original patch from David Whedon, Closes: #98763 + * Clarify some errno.texi functions wrt _GNU_SOURCE. Patch from Jeremiah + Savage. Closes: #99683 + * Add conflicts/replaces for all the potato locales that cannot be installed + with this glibc (and are actually supported now). Closes: #108015 + * Fix comma in confnames.h to make all the -pedantic folks happy :). + Closes: #113498, #113816, #114672 + * Include a mips termios.h cleanup patch, sent by Ryan Murray, patch by Ralf + Baechle. + * Add Russion template for locales package, by Ilgiz Kalmetev. Closes: + #114303 + * Fix sed in ia64/ldd-rewrite.sh: Closes: #115784 + * Add Brazilian Portuguese locales template from Andre Luis Lopes, closes: + #116435 + + -- Ben Collins Wed, 24 Oct 2001 12:28:49 -0400 + +glibc (2.2.4-3) unstable; urgency=low + + * Apply patch to fix es_AR number formatting. Closes: #108373 + * Fix SA_* defines on some archs. Patch sent upstream, and accepted. + Closes: #113273 + * Brought in dynamic module patch from CVS that fixes + mozilla/galeon/konquerer. Closes: #113457, #113481, #113708 + * Fixed libc postinst for the readlink call. Based on patch supplied by + Branden Robinson. Closes: #113459 + * Increase shlib dep to 2.2.4-2. Closes: #113731 + + -- Ben Collins Sat, 29 Sep 2001 23:38:11 -0400 + +glibc (2.2.4-2) unstable; urgency=low + + * Updates from CVS Head, includes some s390 fixes, closes: #109072 + * Reincluded some missed patches (notable the fakeroot fix), closes: + #109162 + * Include the iconvconfig program in the libc6 package, closes: #109600 + * Fixup locales/libc dep back to the old way, closes: #109850 + * Apply patch for locale-gen.8, closes: #110554 + * Apply patch to make /etc/locale.gen generated by debconf interface. + Thanks to Ho-seok Lee, closes: #110980, #110661 + * glibc22-fts.dpatch: Remove, fixes upstream now. + * libc/DEBIAN/postinst: Before calling init u, make sure /proc/1/exe + resolves to /sbin/init. This should help ensure we don't muck up + debootstrap. closes: #110615 + + -- Ben Collins Fri, 7 Sep 2001 14:52:02 -0400 + +glibc (2.2.4-1) unstable; urgency=low + + * Final release of 2.2.4. Not much changed from 2.2.3-11. + * Remove cruft from debian/patches/ + + -- Ben Collins Thu, 16 Aug 2001 09:29:14 -0400 + +glibc (2.2.3-11) unstable; urgency=low + + * Updated to HEAD of CVS as of Aug 11, 2001 + - Misc fixes found in 2.2.4pre2 + - This is basically 2.2.4pre3 + * New glibc-vs-gcc3 patch, closes: #108408, #108364, #108415, #108364, + #108454, #108476 + + -- Ben Collins Sun, 12 Aug 2001 10:02:12 -0400 + +glibc (2.2.3-10) unstable; urgency=low + + * Updated to HEAD of CVS, as of Aug 4, 2001 + - Mostly arch specific bug fixes. + - This is actually the same as 2.2.4-pre2 (releasing in a day or so) + * Ok, I give up. I don't want any more bug reports, so I've added the + nfs getdents fix. If it breaks anything, I will hunt down all of those + who submitted the patch/bug. closes: #86877 + * Added two more Q/A's to the Debian FAQ (AKA "The Overfiend Clause" :) + This documents Debian's glibc following stable CVS, and also + kernel-headers desync. + * Added latex2html to build-dep-indep, closes: #101662 + * Fix tzconfig so it handles ambiguous names correctly, closes: #105580 + Patch by Martin Pool + * Add copyright and license to tzconfig, closes: #105581 + * Updated libc0.2 hurd dep to (>= 20010718-1), closes: #106291 + * Include locale-gen.8 manpage from Eduard Bloch + * Duh. We don't need to cat in the saved libdb.so.3 to the new location. + Ldconfig does the work for us by creating a symlink to it. + * Remove sysdeps/powerpc/memset.S so ppc gets the generic C version for + now (which is actually faster on most machines anyway), until they get + their memset.S fixed (especially for Power3). + * Added updates for hppa patch from Matthew Wilcox. + * debian/rules.d/control.mk: Added hppa to list of archs for libc6 + + -- Ben Collins Tue, 7 Aug 2001 10:11:22 -0400 + +glibc (2.2.3-9) unstable; urgency=low + + * Really fix the timezone problem this time. I moved the UTC check + before the TZ check, and then reuse that to get the TZ date, instead + of the other way around. That solves the problem. Using this method, I + can get the UTC date first setting LC_ALL=C, and then allow the + override for the real UTC0 and $TZ date, so we get lang support + without breakage now. + + -- Ben Collins Tue, 24 Jul 2001 12:19:48 -0400 + +glibc (2.2.3-8) unstable; urgency=low + + * Use glibc- instead of glibc_ for the provides between libc and + locales. Underscores are actually not allowed in package names. + * CVS as of July 22, 2001 + * Use LC_ALL instead of LANG in libc postinst, closes: #106043, #106078, + #106081, #106187, #106215 + * Use Noninteractive, not noninteractive in postinst's, closes: #105902 + * SUPPORTED file ends in .gz...guess some people can't bother to add + that themselves. Also, add notes about locale-gen closes: #105915 + * Fix cp -L calls, use cat instead to make sure we avoid any command + line problems, closes: #106120, #106096 + * MIPS WARNING: The MAP_BASE_ADDR patch does not apply anymore, since it + seems that whole bit of code was removed. MAKE SURE THIS DOESN'T BREAK + ANYTHING! :) + + -- Ben Collins Sun, 22 Jul 2001 23:04:15 -0400 + +glibc (2.2.3-7) unstable; urgency=low + + * CVS as of 7-9-2001, closes: 101308, 103251, 100398, 100398 + * New hppa patch, still not enabled by default since I got deadlocks in + the linuxthreads tests (ex2 and ex10) on sparc. + * Increased shlibdep to 2.2.3-7 + * SUPPORTED locales list is now in doc dir, and locale.gen is a + non-changing file (still a conffile, but it doesn't change when glibc + changes). + * Fix fts patch so it doesn't break Hurd, closes: 102826 + * Make libc provide glibc_$DEBVERSION, and locales depend on it. This + way we make sure everything matches up. closes: 100605, 100605, + 101034, 100605, 99344 + * Added some more UTF-8 locales, closes: 103742, 86372 + * Fixed hurd's ldconfig, closes: #101691 + * Already fixed ld_envlib_path, closes: 101622 + * In libc preinst, detect if we are upgrading from a version where we + used to provide our own libdb.so.3, and keep a copy. We reuse it + during postinst. This way, we have no time where libdb.so.3 doesn't + exist. closes: 101795, 103586 + * Removed depends on libdb2 from libc6, since our hack above makes it + pointless. Now, libc6 should get installed before libdb2 (since it + depends on libc6), which will leave a working libdb.so.3. After libdb2 + is upgraded, the new libdb.so.3 will be installed, which will work + since the new libc6 that it depends on is also working. + * Fixed calls for zoneinfo as per JoeyH's suggestion. closes: 100461 + * Updated copyright notice since LGPL 2.1 is now used. + + -- Ben Collins Tue, 10 Jul 2001 14:00:59 -0400 + +glibc (2.2.3-6) unstable; urgency=low + + * CVS As of 6-9-2001, closes: #100055 + * debian/sysdeps/depflags.pl: Fix typo where netbase/netkit-rpc wasn't + being added to libc-dev control flags, closes: #98735, #99460, #99990, + #100382 + * Moved rpcinfo from /usr/sbin to /usr/bin... closes: #100279 + * Added fts() security patch + * Updated patch for HPPA, now also enabled per default + + -- Ben Collins Sat, 9 Jun 2001 16:35:29 -0400 + +glibc (2.2.3-5) unstable; urgency=low + + * CVS as of 5-28-2001 + * Added fake ldconfig script for hurd, provided by Robert Bihlmeye, + closes: #95189 + * Add replaces for netbase (<< 4.0), closes: #98708, #98735 + * Install rpcgen/rpcinfo manpages, closes: #98710 + + -- Ben Collins Mon, 28 May 2001 14:36:32 -0400 + +glibc (2.2.3-4) unstable; urgency=low + + * CVS as of 5-24-2001 + * Add forgotten mips ld.so patch + * Added s390 to arch lists, closes: #97718 + * Add m68k fPIC patch for libc_nonshared, closes: #97663 + * Add LD_LIBRARY_PATH to --library-path, closes: #98638 + + -- Ben Collins Thu, 24 May 2001 16:10:09 -0400 + +glibc (2.2.3-3) unstable; urgency=low + + * Upgraded to CVS as of 5-20-2001 + * New HPPA patch (applies cleanly) + * Fix prep.sh, closes: #97600 + * Add rpcinfo to libc, and rpcgen to libc-dev. Add Conflicts/Replaces + for both packages with netkit-rpc, closes: #93280 + + -- Ben Collins Mon, 21 May 2001 09:56:47 -0400 + +glibc (2.2.3-2) unstable; urgency=low + + * Enable threads for hppa + * Updated to CVS as of May 10, 2001, closes: #96968, #94501 + * Run locale-gen on upgrades from before 2.2.3-1, closes: #96767, #96913 + * Should be fixed, old regex problems, closes: #86728, #88677 + * This should be fixed now too, closes: #88662 + * There were some regcomp related fixes that appear to have fixed this, + closes: #93167 + * Build-Depends-Indep: s/perl5/perl/, closes: #95782 + * Updated eo_EO from Edmund GRIMLEY, closes: #78085 + + -- Ben Collins Thu, 10 May 2001 13:54:42 -0400 + +glibc (2.2.3-1) unstable; urgency=low + + * Were up to 2.2.3 now. + * libc-dev: Conflict with older gcc's that do not have the weak-sym or + pic-kludge patches. + * ldd.dpatch: New and improved fix for the "no execute permissions" + buglet. Now, ldd will not call the "file" command for every file. This + should speed up dpkg-shlibdeps a lot. + * Removed some obsolete db2 patches + * Removed some other obsolete patches + * Conflict with libnss-db that used db2 + * Depends on current libdb2 which contains libdb.so.3...hopefully this + wont make apt choke because of a dep loop + * Use the new gcc-3.0 to build sparc64 64bit libc/libc-dev packages. + * Build-Depend += gcc-3.0-sparc64 [sparc] + + -- Ben Collins Thu, 12 Apr 2001 21:08:33 -0400 + +glibc (2.2.2-4) unstable; urgency=low + + * Yeah! We can disable our libdb.so.3 (db2) interface in favor of the + one in libdb2. That package now has a symboled version so we can start + to migrate away from this cruft. However, we do still have the db1 + support. + + -- Ben Collins Fri, 23 Mar 2001 19:17:39 -0500 + +glibc (2.2.2-3) unstable; urgency=low + + * Disable building of optimized libs for now. I did not forsee the + problems involved with symbol skew between ld-linux.so.2 and the + optmized libc.so.6. As of now, I can see no way around this. + * Make libc6 conflict with the optimized libs for now, so we can get rid + of them, closes: #90753, #90758, #90763, #90770, #90778, #90779 + * RPC patch from Jakub Jelenik, probably closes: #90830 + * Add build-dep for file, m4 not needed now that opt libs are gone. + closes: #90773 + + -- Ben Collins Fri, 23 Mar 2001 10:31:24 -0500 + +glibc (2.2.2-2) unstable; urgency=low + + * Fix ld.so shlib output, closes: #87655 + * Update to latest CVS, as of 2001-03-21 + * manual/arith.texi: Fix documentation of fast and least integer + typedef's. Patch sent upstream, closes: #84711 + * glibc22-getaddrinfo.dpatch: Add fix from Hiroyuki YAMAMORI + , closes: #85304 + * i386/mathinlines.h: Fix non-ANSI ?: construct, closes: #85322 + * sysdeps/unix/sysv/linux/mips/bits/mman.h: Add and fix some madvise + declerations, closes: #86676 + * Explicitly list inetd to be restarted, closes: #86715 + * Updated Hurd SIOCS patch from Marcus Brinkman + , closes: #87903 + * Added eo_EO locale by Robert Thomson + * Check to make sure any services actually need to be restarted, closes: + #88440 + * Conflict with old strace, which appears to break under new libc6, + closes: #88775 + * Make sure we remove any CVS cruft, closes: #90173 + * Removed -O2 override for hppa, at Matt Taggart's request. + * Build-Depend on latest gcc so we get the weak sym stuff right. + * Made opt libs compiled specifically for 2.4.0+ kernels. This should + make them even faster and smaller since it reduces the compatibility + code. + * libc-opt/DEBIAN/preinst: Check to make sure we are running under a + 2.4.0 kernel, and under the correct cpu + * libc/DEBIAN/{prerm,postinst}: Changed check for package name to use + basename of $0 as opposed to uname. + + -- Ben Collins Fri, 23 Mar 2001 10:30:47 -0500 + +glibc (2.2.2-1) unstable; urgency=low + + * New upstream version + * Updated to CVS as of 2001-02-16, should make alpha build now. + + -- Ben Collins Thu, 15 Feb 2001 23:55:24 -0500 + +glibc (2.2.1-4) unstable; urgency=low + + * Fixup section "disparities" between control and overrides on + ftp-master + + -- Ben Collins Tue, 13 Feb 2001 11:47:22 -0500 + +glibc (2.2.1-3) unstable; urgency=low + + * Update CVS, should fix regex memleak, closes: #85788 + + -- Ben Collins Mon, 12 Feb 2001 22:57:56 -0500 + +glibc (2.2.1-2) unstable; urgency=low + + * Synced with CVS as of 2001-02-09, 2.2.2-pre1 + * shlibs: s/libdb1/libdb/ + * debian/rules (clean): remove shlibs file, since it is generated + * move getaddrinfo patch to it's own .dpatch + * Added some ia64 setups, closes: #82384 + * clean target, remove debian/control.in/libc?*, since they are + generated + * debian/control.d/main (locales): Fix description to reflect recent + merging of the i18ndata package, closes: #82347 + * Added hppa patch from Matt Taggart + * db/ndbm.h: s,db.h,db1/db.h, closes: #83171, #83443 + * Added extra disclaimer to the locale postinst warning. closes: #83394 + * libc/DEBIAN/postinst: change logic in check for init. closes: #84287 + + -- Ben Collins Mon, 29 Jan 2001 10:54:53 -0500 + +glibc (2.2.1-1) unstable; urgency=low + + * Upstream version 2.2.1 release, not many changes for us really, since + we've been using CVS all along. + * Included Hurd-SIOCS patch from Marcus Brinkman. + * segfault.c: s/__access/access/. Patch sent upstream. closes: #82026 + * Increase shlibdep version to 2.2.1 + * Merged i18ndata package into locales package. closes: #81990 + * Added snmpd to the restart list, closes: #81736 + * Resynced bug list. Count is 57 now... + + -- Ben Collins Wed, 10 Jan 2001 08:55:08 -0500 + +glibc (2.2-11) unstable; urgency=high + + * Synced to CVS as of 2001-01-09 - 52 unique bugs and decrementing... + This fixes the RESOLV_HOST_CONF security problem. + * Included nscd(8), nscd_nischeck(8) and nscd.conf(5) man pages by + Sebastian Rittau . closes: 66365 + * /etc/init.d/nscd: Actually uncomment and use the nscd_nischeck to see + if we want to start in secure mode. + * debian/manpages/getconf.1: New manpage for getconf utility. closes: + #63897 + * debian/manpages/catchsegv.1: New manpage for catchsegv utility. + closes: #70740 + * debian/glibc-doc/usr/share/doc-base/glibc-manual: Fix for new html + setup. + * sysdeps/posix/getaddrinfo.c (gaih_inet): Try absolute lookups first. + closes: #64192 + * manual/conf.texi (File Minimums): make _POSIX_PATH_MAX match the + posix1_lim.h value, patch sent upstream aswell. closes: #81628 + + -- Ben Collins Sun, 7 Jan 2001 16:15:34 -0500 + +glibc (2.2-10) unstable; urgency=low + + * Synced to CVS as of 2001-01-05 - 64 unique bugs and decrementing... + * manual/stdio.texi: getline(): Clarify the return value if EOF is + reached before a newline. Patch sent upstream aswell. closes: #14590 + * manual/string.h: basename()/dirname(): Added documentation for these. + Basename() required two definitions, one for the GNU version, the + other for the XPG version. Included examples. Patch sent upstream. + closes: #27586 + * DISCLAIMER: All three of the above changelog entries did in fact change + the state of the files in this source. It is the opinion of the + maintainer (hereto after refered to as GOD), that the changes made do + in fact make the package(s) better. GOD does not warantee that these + changes will make your life (be it sex life, or no life) better. GOD + does guarantee that you (hereto after refered to as NON-DIETY) will + gain great wisdom simply by using this(these) package(s). The + NON-DIETY shall not, in any event, hold GOD responsible for misreadings + of these statements. + + -- Ben Collins Fri, 5 Jan 2001 10:46:42 -0500 + +glibc (2.2-9) unstable; urgency=low + + * CVS synced as of 2001-01-03. Happy freaking new year. + * Remove FAKEROOT check, since we don't build locales now, we don't have + to worry about it. + * dlfcn/dlerror.c: dlerror(): Check for result->errstring being NULL, + closes: #80991 + * No offense, but I cannot be expected to debug fortran programs + compiled with a commercial(?), non-GNU compiler. Talk to them about + getting it to work. As for the "works on RH, but not Debian", most + likely that didn't do anything to make it very portable. closes: #68510 + * Tested with current NIS, and the test cases passes with no open fd's. + closes: #52222 + * Make note of AMD in libc6-i[56]86 descriptions. closes: #77791 + * Make note about some commercial programs not liking our optimized + libraries (IBM JDK for one). closes: #78656 + NOTE: To the submitter of this bugreport, I'm pretty sure the JDK + relies on frame-pointer to handle some special ass-backwards stuff, + which wont work with these libraries since they are compiled without + frame-pointer (making it hard to strace, and debug using these libs). + * Yes, semget(2) refers to SEMMSL, but nothing I can find says it should + be defined in userspace. closes: #11560 + * This patch only applies to kernel-headers, and since they don't need + to be used in userspace, it's ok to have some oddities, closes: #55578 + * I was able to write an 90 byte "Hello World" .c, and compile it into + an 800 byte static binary using -nostdlib and -Wl,-lc. closes: #21676 + * Making an ar archive from one .o is just silly, closes: #58606 + * Patch sent upstream. Might change a bit, but the result should be the + same, closes: #73003 + * I believe the reason the .pwd.lock file remains is to avoid a race + condition, where something might be waiting for the lock, and + unlinking it would cause something else to be able to obtain the lock, + even though it isn't available. closes: #14093 + * I tried to reproduce this, but glob kept working right for me. I think + the user is misusing the function. Most likely they are passing the + glob on the command line, which is in turn doing some escape + processing, and not working right with glob() itself. closes: #67921 + * In Debian, locales are not required to be installed. closes: #35875 + * Could not reproduce in the latest glibc. Upstream seems to have fixed + this. closes: #75163 + * Bug report log says this is fixed in glibc 2.1.1, closes: #36775 + * I think this was an issue with the gcc-2.95 compiler defaulting to + 486 instruction sets. This was fixed by gcc some time ago. closes: + #38998 + * The "order" directive in host.conf is supposed to be a space seperated + list of sources, not comma. This is a bug in host.conf(5), which has + already been reported. I'm closing this one to avoid duplication. + closes: #35731 + * Appears to be related to #36775, but I checked the test case anyway, + and it worked as expected. closes: #35035 + * I tried the test program, and it worked fine. So either guile or glibc + fixed the bug already. closes: #36030 + * The locales package is not referenced by any other package ATM. + closes: #38742 + * Symlink /usr/share/zoneinfo/localtime to /etc/localtime for libc5 + compat. closes: #48705 + * SUSv2 defines putenv as "int putenv(char *)", closes: #60960 + * From my understanding of of the SUSv2 definition, the pointer + reference of inbuf may be incremented to the current position of + translation. So in actuality, the object is not const. GLibc + interprets this using the __restrict compiler option (defined in gcc's + later than 2.92, e.g. egcs 1.1.2, and gcc 2.95). closes: #77312 + * Fixed ambiguity problem in tzconfig, closes: #69045 + * This was a netscape/libc5/plugin issue, closes: #50672 + * User error. He is setting all of the fd's in the pollfd struct to -1, + which returns POLLNVAL, which is the expected response. closes: #51877 + * objstack_* does use const definitions now, closes: #68918 + * This was the old xmms-segv's-on-exit bug, fixed by glibc 2.1.9X (can't + remember which version exactly). closes: #74345 + * leading zero makes sscanf determine the number as an octal, closes: + #69278 + * zic.8: zdump is section 1, not 8. closes: #72095 + * Old libdb2 upgrade issue, fixed in during the 2.1.9x uploads. closes: + #72663 + * Update this changelog to include the revisions from the stable (potato) + updates. + * Patch sent upstream. Fixes timezone showing up as "/etc/localtime". + closes: #71060 + + -- Ben Collins Tue, 2 Jan 2001 20:22:11 -0500 + +glibc (2.2-8) unstable; urgency=low + + * The one-liner fix for devpts.sh + * Patch sent and accepted upstream, closes: #80485 + * CVS synced as of 2000-12-30 + + -- Ben Collins Thu, 28 Dec 2000 09:49:30 -0500 + +glibc (2.2-7) unstable; urgency=low + + * Synced to CVS as of 2000-12-25 + * Patches sent upstream, closes: #75334, #34550, #71928, #11839, #75349 + closes: #38392, #68923, #77416, #39440 + * TCPOPT_EOL, TCPOPT_NOP, TCPOPT_MAXSEG: not declared in glibc (was a + libc5 thing), so they don't need to be documented, closes: #9888 + * Use texi2html for .html output, which actually does split the file, + closes: #61257, #76678 + * Hmm, not sure I can fix hamm->slink upgrades for libc6-doc->glibc-doc, + closes: #32792, #32801 + * Fixed by upstream, closes: #62173, #10686, #37014, #54051, #57297 + closes: #53786, #74611, #37162, #41388, #60255, #63569, #67204 + closes: #67205, #60034, #42850, #60320, #39594, #59800, #48371 + closes: #66803 + * Could not reproduce. My test program showed that it resolved the + libpthread properly. I am going to assume user error, or some + funkiness on the user's system. closes: #78585 + * This is reported as a kernel issue, and the submitter was asked to try + a newer kernel, but never replied. I'm closing on the grounds that I + believe it was a kernel issue, closes: #45693 + * The iconv test program seems to work as expected in glibc 2.2, + closes: #39762 + * lt_LT uses ISO-8859-13 now, closes: #10358 + * Things relying on sort to work correctly, should set LANG=C to get + expected behavior, closes: #56195, #61746, #69544 + * Fixed long long ago, closes: #58226, #58586, #35948, #76246, #53530 + closes: #39584, #13800, #34452, #53894, #54096, #42490, #30683, #32468 + closes: #29619, #34816, #35113, #39071, #35334, #35497, #42867, #36212 + closes: #59316, #62826, #35131, #36952, #43659, #24090, #36076, #45041 + closes: #54156, #37307, #27146, #34729, #47457, #34699, #35250, #34538 + closes: #30054, #35389, #36655, #36762, #36932, #36933, #61163, #58954 + * We no longer build locales at build time, but at install time, closes: #69172 + * I don't see the problem in this testcase, works for me, closes: #73018 + * debian/control.in/main: Show in description that nscd also handles + host lookups, closes: #48716 + * Unreproducable, probably fixed in 2.2, closes: #57026, #42726, #40768 + closes: #45848, #58367, #62990, #40870, #67296, #38897, #60099, #66769 + * nscd now has a --invalidate option, closes: #42727, #43729 + * adduser now calls nscd -i, so works correctly, closes: #36080 + * Hey, it's one of my bugs, and it isn't any good! closes: #34940 + * Yeah, I agree with the bug report. If you don't want nscd to run on a + particular system, just uh, don't install it, closes: #36621 + * Setting Fixed to, closes: #47289 + * Do not use UNIX_PATH_MAX, use SUN_LEN(ptr) (defined in sys/un.h), + closes: #61963 + * _PATH_DEFPATH is the bare minimum for linux. If you want more, use the + PATH env, closes: #31983 + * The man page is wrong. dlerror.c, and dlfnc.h both show that the + return string is allocated, so it is not const. closes: #35694 + * All together now, "Using kernel headers in userspace is BAD", + closes: #12207, #19646, #43105 + * Ran the test case with -O0, -O2, -O3, -O6 on sparc and i386, and did + not see the problem reported, closes: #37154, #27516 + * Seems perl has worked around this (or libc has), since perl modules + are building fine, AFAICT, closes: #34110 + * Linus does not suggest doing /usr/include/{linux,asm} symlinks + anymore. closes: #24949 + * This isn't a glibc bug, it was a gdb bug that is now fixed. closes: #27544 + * lrint is defined with -D_ISOC99_SOURCE, closes: #43530 + * No reference to which docs, nor is there a test case, so: closes: #63511 + * Doh, this was already fixed by me in 2.2-6! closes: #79666 + * User malfunction, not a bug. closes: #39648, #50261, #36075 + * Including stdio.h only ensures that getline will work, it does not + guarantee you that it's return type is defined, which you must do + yourself. closes: #62511 + * O_LARGEFILE is only usable when compiling with -D_LARGEFILE64_SOURCE, + closes: #68873, #52455 + * Ok, strcoll doesn't seem as slow now as shown in the bug report when + LANG is set. The thing is, this function will always be slower when it + has to take localization into account. closes: #62803 + * Re bug #44093 + a) I'm pretty sure there is no problem with libc translating errno + from the kernel, else we'de have some serious problems. + b) The ioctl() manpage cannot document all returns (and in fact it + says that it does not document all ioctl types). + c) I'm pretty sure the EIO return on this particular case is generated + by the kernel. + closes: #44093 + * Tested this, and I was able to get 1022 temp files from mkstemp on a + single run, using the same template, closes: #31415 + * Ulrich Drepper, Re: sortlist in libresolv: + >It never was and in general is not wanted. Beside, it is another poor + >DNS feature which doesn't work with IPv6. Finally, the NSS gethost*() + >functions don't have the supporting code. + closes: #64327 + * lpd should not be using internal glibc functions. closes: #33686 + * makedb -V has no translation now, closes: #34702 + * Checking printf returns is left to the programmer, closes: #28250 + * Ok, the 51 pages of flaming in tis bug report leads me to believe that + this will never be resolved in glibc. IMO, it is up to the programmer + to be smart enough to check these things (where it matters). I am + closing this bug report on the precedence that it is not really a bug + because current functionality meets specs (and this bug report would + break that compatibility). This entire bug report should be archived + all on it's own. Hell, it should have it's own BTS just to track the + conversation. closes: #28251 + * mkstemp complies with SUSv2 and BSD 4.3. Changing it's bahvior would + cause portability problems. closes: #34793 + * Downgrading is not supported, closes: #36578 + * The test case did not use pthread_detach(), which resolved the issue. + closes: #25879 + * Fix devpts regex for when to mount devfs. closes: #79830 + * I believe Wichert found out that base-passwd did have a bug that was + causing this, and fixed it. closes: #55367, #79043 + * First of all, I do think tzconfig manpage needs to be in section 8. + However, changing the execute permissions does very little. In fact it + does nothing. Since normal users don't have perms to change the system + tz, it doesn't matter if they can execute tzconfig. closes: #62397 + * Added autofs to the services that need to be restarted. + closes: #80453, #79926 + * Use neat dpkg/awk one-liner from Adam Heath to get list of installed + services for the daemon check. closes: #80454 + * tzconfig allows you to choose UTC now. Just go to "12" (none of the + above), and then choose UTC. closes: #38556, #35094 + * Ok, my opinion on this is that you should check dlopen's return every + time. The example program shows that they did not do this. closes: #37604 + * Looks like a bug in haskell to me. closes: #37902 + * IIRC, all the BSD code is gone. closes: #58270 + * Bug report claims it is not a bug. closes: #42155 + * We have optimized libs now, so that should solve this. closes: #44619 + * I'm pretty sure this "large" wtmp file with only 3 entries is a sparse + file (check with du). closes: #43950 + * I seriously doubt that ld.so's LD_LIBRARY_PATH stopped working. + closes: #59110 + * I don't think this is a glibc bug. Sounds more like a cross-compiler + bug. closes: #68424 + * In Debian, 2.1.2 and 2.1.3 are binary compatible. closes: #60113 + * To get i18n/charmaps, you need to install i18ndata. closes: #65132 + * We don't need to mount shmfs anymore, closes: #65510 + * Fixed by dpkg, closes: #66913, #64906 + + -- Ben Collins Mon, 25 Dec 2000 08:42:49 -0500 + +glibc (2.2-6) unstable; urgency=low + + * Added m68k lchown fixes, plus removed conflict for libstdc++2.10-dev + on m68k. Bug/patch provided by Michael Fedrowitz + , closes: #78937 + * libc-opt: added memprof to the death list of packages that don't work + with our optimized libraries, closes: #79224 + * Added Provides: glibc2.2 to libc6/libc6.1/libc0.2 so I can make + locales dep on it, closes: #78495 + * CVS sync as of 2000-12-15 + * Fixed previously: closes: #75865, #77170, #75473 + * Added a "." counter while checking services for install, closes: #78881 + * %hhn works as expected in i386 in this version of glibc, closes: #79221 + * Looks like this is resolved, closes: #59429 + * The libc info page says not to use fgets on streams that may have NULL + char's, which sockets might, closes: #57729 + * This is probably fixed, if not reopen it please, closes: #24414 + * Well this bug report has no report in the BTS, I am going to assume + from the age and type of the title, that it is fixed, closes: #21272 + * Old ld.so issue, most likely resolved in hamm, closes: #46173 + * This bug is a simple programming mistake. For one the child never + * fills the buffer in certain cases, so it's contents are never flushed. + If the program called fflush after every output, then it works fine, + closes: #26226 + * The new upgrade code in libc postint should resolve this, closes: #64074 + * This is a compilation error. libc.so.6 does not contains fxstat + (libc-nonshared.a does), so if you don't link properly (like with + gcc), you will miss some symbols, closes: #36139 + * Similar to the above, also resolved, closes: #30427 + * Old ld.so bug, fixed, closes: #70658 + * Current localedef doesn't seem to segv on improper input, closes: #65634, #64878 + * YAOLDSOB (Yet Another LDSO Bug), closes: #42944 + * Lack of useful info in the BTS ("I suspect glibc" doesn't cut it), + closes: #36498 + * Someone needs to read release notes, closes: #41455 + * Uh, tzconfig works. Tzselect is not for changing timezones, but for + querying what the available ones are. From tzselect(1): + + Note that tzselect will not actually change the timezone + for you. Use the tzconfig(8) utility to achieve this. + + So you see, this is how it's meant to be, closes: #37409 + * Fixed in glibc 2.2, closes: #42512 + * a) all init scripts need to support restart + b) postinst uses stop/start now anyway + c) postinst fails much better now when things go wrong + + closes: #52914 + * getaddrinfo does DNS lookups regardless because of the nature of the + function. Also it handles ipv4/ipv6 better now, closes: #60743 + * I don't see why libc6 needs to create /etc/rcS.d/ when dpkg does it so + closes: #66138 + * strstr seems pretty fast now, closes: #10689 + * Latest emacs/libc6 is working fine, closes: #48476 + * YAOLDSOB, closes: #42135 + * libstdc++-v3/glibc2.2 compiles fine together, closes: #66757 + * strerror() with maxerror+1 works as expected now, closes: #40184 + * No other info, and no similar reports. Assuming user error, closes: #31465 + * Old ssh-nonfree getting a sigsegv is not a bug in libc6, but sshd, + closes: #41800 + * Restarting woffle already, closes: #74164 + * I believe this was due to some old nss1 issues, which are now resolved + during upgrades, closes: #35089 + * This is something libc6 itself cannot fix. Either way, rsh/rlogin is + broken by nature, closes: #19168 + * Well, I can't retroactively go back to hamm and add a stub for + setresuid(), closes: #29675 + * Fixed upstream a long time ago, closes: #39693 + * From unix/getlogin.c: + + /* Get name of tty connected to fd 0. Return NULL if not a tty or + if fd 0 isn't open. Note that a lot of documentation says that + getlogin() is based on the controlling terminal---what they + really mean is "the terminal connected to standard input". The + getlogin() implementation of DEC Unix, SunOS, Solaris, HP-UX all + return NULL if fd 0 has been closed, so this is the compatible + thing to do. Note that ttyname(open("/dev/tty")) on those + systems returns /dev/tty, so that is not a possible solution for + getlogin(). */ + + So basically, closes: #17528 + * Current nis/nss-compat code looks like it handles this right, + closes: #33197 + * libc6 cannot compensate for broken coding, closes: #42912 + * nprocs is fixed in 2.2, closes: #57101 + * libdb.so.2 does have shlibs now, closes: #39578 + * getcwd now returns NULL in the case shown in this bug report, so there + is no suprise if the program checks the return correctly, closes: + #27227 + * Adduser now restarts nscd as needed, closes: #37296 + * getaddrinfo fixes for ipv4/ipv6 fixes this, closes: #58713 + * Programs using libc5/libc6 at the same time via dynamically loading + libc5 apps from a libc6 apps) simply does not work, closes: #42088 + * getaddrinfo fix, closes: #70012 + * libc-64 was never meant to work right, closes: #53748 + * libNoVersion.so.1 is gone, closes: #37681 + * libc/postinst is file-rc friendly now, closes: #40053 + * libdb2 is no longer a reference for libdb stuff, closes: #61154 + * ld.so/ldconfig now have man pages, closes: #41917 + * Bah, libtricks is old and gone, closes: #39080 + * /var/state/glibc is gone, closes: #39562, #39705 + * glibc no longer includes db/db2, so look for docs in those seperate + packages, closes: #23547 + * scsi/scsi.h is there, closes: #31502 + * linux/joystick.h is there, closes: #38028 + * db.h is no longer in libc6-dev, closes: #39077, #74945 + * nprocs works on sparc now, closes: #52420 + * ldd now supports libc5 better, closes: #35644 + * Unreproducable, closes: #39582, #25773, #35624, #35123 + * /var/lib/misc/Makefile does not refer to /var/db, closes: #41947 + * llseek is obsolete, use lseek64 now, closes: #20988 + * Actually this looks like an error in the program, closes: #41952 + * Hmm, I would guess that libc6/libc5.4.38 is correct, and libc5.4.17 is + wrong, close: #21839 + * Fixed in the Before Time, during the Great Long-Long Ago, + closes: #39585, #34442, #59622, #24652 + * That's all for now... + + -- Ben Collins Fri, 15 Dec 2000 15:30:16 -0500 + +glibc (2.2-5) unstable; urgency=low + + * Update to CVS as of 2000-11-27 + - Includes hppa config stuff + * Ok, libsafe seems to be broken with our optimized packages. I + reassigned the bug report to that package. Most likely this wont be + fixed in libsafe for a bit, so for now I am making the optimized + packages conflict with it. The likely cause is the inline string + functions (-D__USE_STRING_INLINES). + * libc/postinst: added lprng and lpr to the list of daemons to restart, + closes: #78132 + + -- Ben Collins Mon, 27 Nov 2000 11:33:25 -0500 + +glibc (2.2-4) unstable; urgency=low + + * Dear god! Who changed things to a symlink in the kernel-headers and + didn't tell me of all people!? This must be a conspiracy! Some one is + out to get me! Everyone, I am going to go underground until the + security of my system is safe once again! (btw, I fixed the asm + include problem before I took a vacation from my sanity...) + + -- Ben Collins Thu, 23 Nov 2000 18:19:24 -0500 + +glibc (2.2-3) unstable; urgency=low + + * Damn, really remove libc6 dep from locales this time + * Include shlibs file with optimized libs, so dpkg-shlibdeps will be + happy with people using them. + * Added updates eo_EO locale + + -- Ben Collins Wed, 22 Nov 2000 15:40:12 -0500 + +glibc (2.2-2) unstable; urgency=low + + * Update to CVS to 2000-11-19 + - Includes the ldconfig patch, so removed from local set + - WOOHOO! Includes a patch to getaddrinfo, so that it only returns + failure if both ipv4 AND ipv6 lookups fail for PF_UNSPEC. + closes: #72764, #72905, #74692, #74692, #74367, #75388, #74692 + - Now includes the USAGI ipv6 patch + * control/locales: remove $(libc) dep...bad for a arch-all package, + closes: #76830 + * Move locales to binary-indep targets, closes: #76830 + * Add another hppa patch for _setjmp. Also, make hppa build with -O for + now. + * libc-dbg: make debug/ld*.so executable + * $(libc): suggests libnss-db + * locale-gen: set umask to 022, closes: #77191 + * etc/locale.gen: uncomment en_US as a default + * debian/sysdeps/optimized.mk: New make snippet, which allows building + optimized sets of runtime libraries. Right now, only sparc and i386 + seem to support hwcap, so we only build i586, i686 and v9 optimized + libraries. When other archs start supporting hwcap, then they too can + join the club. + * prep.sh: use ./version, so ash will work too + * Fixed prior to this release: closes: #71938, #75295, #75488, #76168 + + -- Ben Collins Sun, 19 Nov 2000 16:32:27 -0500 + +glibc (2.2-1) unstable; urgency=low + + * ALL HAIL GLIBC 2.2 RELEASE! Please put seats in full upright position, + remain seated until installed, and do not panic. The ride is almost + over. Once you have installed Glibc 2.2, please procede to our new + Debian-Rough-Ride, Xfree86-4.0.1, which is currently in progress. + * glibc22-ipv6-USAGI.dpatch: New patch, brings some stability and + compatibility to ipv6. This will most likely fix ipv6 issues with + things like ssh (let me know). + * Totally whack job on the locales package! We now do not provide *any* + precompiled locales. Instead we allow the admin to selectively decide + which ones to compile. + * Start of support for future upgrades. A new patch that should make + upgrades easier, post woody. This deals soley with the NSS module + problem and daemons running during upgrade. + * glibc22-hppa-config-fix: Fix config.{sub,guess} so hppa builds (From + the nice Debian folks at HP). BTW, where's my HP/PA BOX!? :) + * glibc22-ldconfig-fix: Fix bad allocation in ldconfig + * Bugs closed by this release: closes: #74057, #74362, #74692, #75249, + #75956, #76390, #76451 + + -- Ben Collins Fri, 10 Nov 2000 12:47:02 -0500 + +glibc (2.1.97-1) unstable; urgency=low + + * New upstream, + recent CVS + - includes lockf fix now + - fixes fmemopen issues + - adds ja_JP.ujis alias, closes: #72686 + - fixes for sparc mathinline.h + - lots of locale related updates + - mips patches are now included upstream + * depflags.pl: added replaces ldso for libc6 too (ldd), closes: #76126 + * Set --enable-kernel for Linux builds, so we can control how much + backward compatibility we have. + * Fix build-depends for gcc to include epoch + * Up'd the shlibs deps to 2.1.97 + * Removed static nss + + -- Ben Collins Tue, 7 Nov 2000 14:04:36 -0500 + +glibc (2.1.96-1) unstable; urgency=low + + * New upstream release (close to a final 2.2), closes: #73058 + - fixes ld.so reference counting (fixes some obscure bugs with + loadable modules, like NSS). + - fixes for ppc + - netinet/tcp.h fixes for uint8, closes: #74061 + - fixes limits.h/LONG_MAX declerations, closes: #75720 + * When running "$(MAKE) test" use -k so we complete as much as possible + * db/Makefile: remove patch that inhibited the db1 headers. Now, db1 + applications can be built again. This is temporary, to give poeple + time to migrate (db2 maintainer can use this for db_dump185), + closes: #72723 + * shlibs.mk: Use $(objdir)/soversions.i for generating the shlibs file, + which is more correct. Thanks to Marcus Brinkman for pointing this + out, closes: #75685 + * debian/glibc-doc/usr/share/doc-base/linuxthreads-faq: removed, no + longer in upstream source, closes: #74046 + * libc/postinst: added wu-ftpd, wu-ftpd-academ, slapd, openldapd and + logind to list of daemons to to restart, closes: #74158 + * libc/postinst: added support for filerc, thanks to Roland Rosenfeld + , closes: #74290 + * libc/postinst: check for existence of /sbin/init before restarting it, + closes: #75310 + * sysdeps/depflags.pl: Change g++ conflict to libstdc++-dev so we + precludes the right package (i.e., we need a newer libstdc++-dev, not a + new g++), closes: #75019 + * sysdeps/depflags.pl: make libc6 depend on libdb2 from woody so we + don't make apt act all weird with a three layer dependency of sorts + (ask Jason, I'm not sure of all the issues, but it seems it is needed + for now), closes: #75601, #75689 + * sysdeps/generic/lockf.c: explicitly set l_type to F_RDLCK (help from + Anton on this one) + * dl-machine.h.mips-2: new patch from Florian Lohoff to + fix ld.so segv on mips (I expect to see some .deb's in the official + archive soon, my Indy is getting jealous :) + + -- Ben Collins Sun, 29 Oct 2000 16:39:12 -0500 + +glibc (2.1.95-1) unstable; urgency=low + + * New upstream release + * debian/sysdeps/depflags.pl: Don't conflict/replace old libdb2, just + conflict. + * debian/libc/DEBIAN/postinst: Don't just check the service name with + "dpkg -s" since we miss things like inetd, which isn't in a package + named "inetd". Check for "installed" and "", then -x of the init.d + file + * debian/patches/ldd.dpatch: fixup so we don't get double output of + libraries, closes: #72710 + * debian/sysdeps/depflags.pl: Hmm...where did the libnss-db dep go + anyway? There now. + * debian/manpages/: Added man pages for ldd, ldconfig and ld.so + to replace the ones removed from ld.so, closes: #72648, #72727 + * locales fixed in -2, closes: #72752 + + -- Ben Collins Mon, 2 Oct 2000 11:18:48 -0400 + +glibc (2.1.94-3) unstable; urgency=low + + * updated CVS post-2.1.94 to 20000929 + * Put db/db2 libs back in for runtime use only (not linkable and no + headers). Closes a shitload of bugs, and makes everyone happy. Oh, let + the sun shine down. + * alpha-dwarf2-dl-machine: merged upstream + * debian/sysdeps/depflags.pl: removed all the db2 cruft conflicts + * debian/libc/DEBIAN/postinst: Use /etc/rc${rl}.d/ instead of + /etc/init.d/ when restarting services. This way, we don't start any + services that were meant to be off. Also, check for a non-zero exit when + starting and report such failures. This will give people a heads up to + any problems. + + -- Ben Collins Fri, 29 Sep 2000 16:29:59 -0400 + +glibc (2.1.94-2) unstable; urgency=low + + * Removed WANT_LDD, we now install it for every arch. This removes the + need for the ldso package completely, on systems without libc5 (YAH!) + * debian/sysdeps/depflags.mk: removed cruft + * debian/sysdeps/depflags.pl: new script with a simplified control deps + setup to replace depflags.mk. The former was getting too complex + * debian/rules.d/shlibs.mk: fixed logic preventing it from actually + installing the new shlibs file + * debian/sysdeps/depflags.pl: Added lots of conflicts for NMU'd packages + that fell prey to the db2 problems. + * debian/contron.in/main: Fix nscd depend on libc6 + + -- Ben Collins Wed, 27 Sep 2000 10:09:51 -0400 + +glibc (2.1.94-1) unstable; urgency=low + + * New maintainer, "Lector, si monumentum requiris, circumspice" + * New upstream version, pre 2.2 now + - crypt is now in glibc source, so is not a seperate tarball + - removed nss1 compat tarball + - db2 is gone aswell + - without db2, upstream split nss_db from main source (*sigh*) + * Added inetd to list of services to restart + * modfl/fmodl: documented in info pages, closes: #17874 + * Just a quick list of bugs that I can verify do not exist any longer, + closes: #45903, #26514, #46547, #32345, #30987, #48713 + * fcloseall: in the case of stdio/fcloseall.c, yes, it only ever + returns success. However, we use libio/fcloseall.c, who does in fact + have a chance to return EOF, closes: #20973 + * libio/libio.h: shows that the Stream Hooks do in fact take (void *) as + the first argument as shown in the protos, closes: #61497 + * trunc/floor: documented correctly in this release, closes: #65683, #65684 + * Hurd maintainers say this can be closed, closes: #54154 + * I'm pretty sure this isn't an issue anymore, else potato wouldn't be + releasing, closes: #35049 + * Sorry this isn't a glibc bug. The kernel handles error returns on a + failed executable. Most likely this is bin_interp's problem, but I + seriously doubt it will be fixed because of conventions, standards and + the like, closes: #22301 + * keyenvoy: no longer compiled for linux (it seems), closes: #47560 + * infnan: is defined now, closes: #19264 + * libc5 bug, no longer applies, closes: #11300 + * Make sure we copy over asm-sparc for sparc aswell as "generate-asm.sh" + script used to generate /usr/include/asm + * Disable parallel build on sparc (broken for some reason, might not be + sparc specific) + * devpts.sh: used a more devfs friendly version from bug submitter, + closes: #65276 + * libc/postinst: cannot reproduce problem, appears to be user error, + closes: #64865 + * glibc-doc: this bug is no longer valid, closes: #33759 + * We now use ldconfig from libc6 for all archs, ldso will conform. + * Change build deps to just "kernel-headers" for non-Hurd archs. With + mips and other coming down the pipe, this is bound to get ugly if we + specify the particular version for each. + * Add checks to automatically detect proper kernel-headers, error out + otherwise. + * hurd: add Depends: hurd (>= 20000803) for libc0.2 + * libpthread: soname version is now 0.9 + * debian/libc/DEBIAN/shlibs: bump to 2.1.94 + * libc6: add temporary depend on libdb2 + * debian/rules: check for FAKEROOTKEY, and fail if it's there. We cannot + build under fakeroot, we need real rewt. Fear my hacking skillz. + + -- Ben Collins Mon, 25 Sep 2000 11:30:45 -0400 + +glibc (2.1.3-14) stable; urgency=low + + * Stable upload for some serious issues in potato + * Patch to match glibc 2.2 to not set personality, closes: #72165 + * Arm ld.so patch, closes: #75982 + * Add check for FAKEROOTKEY, to $(checkroot) to make sure we build as + real root, and not fakeroot. This is required for locale definitions + to be generated properly. closes: #70806, #70876 + * Backport the fix to lockf(F_TEST), which fixed this on alpha and + sparc. + + -- Ben Collins Tue, 2 Jan 2001 17:15:44 -0500 + +glibc (2.1.3-13) stable; urgency=low + + * Damnit...used the 0824 patch set, now there's an 0827 :/ + + -- Ben Collins Fri, 1 Sep 2000 10:54:11 -0400 + +glibc (2.1.3-12) stable; urgency=low + + * Ugh, add three patches posted by Solar Designer which include the ldso + bug (better patch), locales bug, and md5 fixups. + + -- Ben Collins Thu, 31 Aug 2000 11:10:46 -0400 + +glibc (2.1.3-11) stable; urgency=low + + * Security upload for ldso problem + * Fix sparc headers too + * Might aswell change the maintainer too (So long Joel, you are missed) + + -- Ben Collins Thu, 31 Aug 2000 11:10:36 -0400 + +glibc (2.1.3-10) frozen unstable; urgency=low + + * The "Ask not for whom the feep tolls" release. + * zic -l will use hardlinks if /etc and /usr are on the same + filesystem, so revert to ln -s. + * Update Build-Depends to kernel-headers-2.2.15. + + -- Joel Klecker Fri, 28 Apr 2000 18:45:49 -0700 + +glibc (2.1.3-9) frozen unstable; urgency=low + + * The "Insert clever reference here" release. + * debian/patches: + - i386-sys-io-c++: Change '::' to ': :' to avoid confusing g++ + + closes: Bug#57914 + - zic-l: Fix -l in zic(8) (taken from OpenBSD) + * Teach tzconfig to acquire current timezone from /etc/localtime + symlink if necessary. + * Use zic -l instead of ln to make /etc/localtime symlink. + + -- Joel Klecker Fri, 21 Apr 2000 13:30:47 -0700 + +glibc (2.1.3-8) frozen unstable; urgency=low + + * The "What's my name? Say my name, bitch!" release. + * debian/patches: + - i386-linux-ucontext: Don't use ERR. + + closes: Bug#59962 + - ldd: + + Improve non-executable shared object handling. + + Revert ${RTLD} --list stuff. (closes:Bug#60869) + + alpha will break again, someone needs to fix ld.so. + * debian/control.in/main: locales: Depends: @libc@ (= ${Source-Version}) + This will insulate us from data format changes. + * Fix tzconfig man page (closes:Bug#61610,#61613). + * Revert /etc/localtime to a symlink (closes:Bug#60744). + + -- Joel Klecker Mon, 3 Apr 2000 08:40:07 -0700 + +glibc (2.1.3-7) frozen unstable; urgency=low + + * The "Light my Alpha fire with a SPARC" release. + * debian/patches: + - libc-pr-fixes: Fixes for post-2.1.3 PRs + + closes: Bug#59802,#59257 + - tzdata2000c: Includes AR timezone correction + + closes: Bug#59790,#59806 + - sparc-linux-getsysstats: Update so it actually works. + - alpha-dwarf2-dl-machine: Fix for unaligned traps from C++ EH code + + closes: Bug#59789 + + -- Joel Klecker Tue, 7 Mar 2000 10:31:42 -0800 + +glibc (2.1.3-6) frozen unstable; urgency=low + + * The "Smash Everything with a _Huge Steamroller_!" release. + * debian/sysdeps/gnu.mk: Define WANT_LDD (closes:Bug#59165). + * debian/libc/DEBIAN/preinst: Make this as /bin/bash script (closes:Bug#59613). + * debian/libc/DEBIAN/postinst: + - Only make /var/mail symlink on upgrades. + - Make this a /bin/bash script. + * debian/sysdeps/depflags.mk: (libc_control_flags) + C/R/P gconv-modules where necessary, Replace locales (<< 2.1.3-5). + * debian/control.in/main: Build-Indep-Depends: perl5 (closes:Bug#59350). + * debian/libc/etc/init.d/devpts.sh: Remove version check, checking for + the filesystems alone should be sufficient (closes:Bug#59576). + + -- Joel Klecker Sat, 4 Mar 2000 09:28:08 -0800 + +glibc (2.1.3-5) frozen unstable; urgency=high + + * The "Down, not across" release. + * 2.1.3 final. + * Pre-Depends were a bad idea + - quit using readlink. + - removed pre-depends on debianutils. + * Add devpts.sh again, this time not as a conffile. + * Build-Depends: gcc (>= 2.95.2-6) [alpha], remove sharutils [alpha]. + * Move /usr/lib/gconv to $(libc). + + -- Joel Klecker Sat, 26 Feb 2000 00:14:34 -0800 + +glibc (2.1.3-4) frozen unstable; urgency=low + + * The "Pain as bright as steel squared" release. + * glibc 2.1.3pre4. + * Remove debian/patches/po-it-po.dpatch, + debian/patches/powerpc-linux-sys-procfs.h.dpatch, and + debian/patches/powerpc-linux-syscalls.list-mmap64.dpatch; + Integrated upstream. + * Add back debian/patches/linuxthreads-lock.dpatch now that I know + what it's for (closes:Bug#58385). + * Bugs closed since devpts.sh is gone (closes:Bug#57584,#57698,#57580). + * debian/libc/DEBIAN/preinst: + - Save a copy of /etc/timezone in /etc/timezone.save. + - Convert /etc/localtime from link to file. + * debian/libc/DEBIAN/postinst: + - Use /etc/timezone.save if necessary. (closes:Bug#57885,#57922). + - Remove some unnecessary timezone code that caused some odd behavior + (closes:Bug#57456). + * tzconfig: /etc/localtime is a file, not a link. + * $(libc): Pre-Depend on debianutils (>= 1.13.1) for readlink. + + -- Joel Klecker Fri, 18 Feb 2000 17:35:19 -0800 + +glibc (2.1.3-3) frozen unstable; urgency=low + + * The "Pain as bright as steel" release. + * Move iconv, locale, localedef to $(libc). + * Remove devpts.sh. + * debian/patches/po-it-po.dpatch: + Add "portable object" for Italian (closes:Bug#57031). + * $(libc): Replaces: locales (closes:Bug#57482). + * Add Build-Depend for gettext (closes:Bug#57797). + + -- Joel Klecker Fri, 11 Feb 2000 13:02:13 -0800 + +glibc (2.1.3-2) frozen unstable; urgency=low + + * The "Dark, Naughty Evil" release. + * debian/patches/powerpc-linux-sys-procfs.h.dpatch: + Fix sys/procfs.h for powerpc-linux. + + -- Joel Klecker Mon, 7 Feb 2000 17:38:54 -0800 + +glibc (2.1.3-1) frozen unstable; urgency=low + + * The "From now on all of my world-killing weapons will be kept a TOTAL SECRET!" release. + or the "Brown Paper Bag" release. + * Really fix devpts.sh + (closes:Bug#56659,#56687,#56726,#56770,#56782,#56893,#56941,#56850,#56659,#57049,#57005,#57156,#57183). + * Give up and call it 2.1.3. + * CVS as of 2000-01-31. + * Move some docs from glibc-doc back to $(libc). + * Make /etc/init.d/devpts.sh and /etc/default/devpts conffiles (closes:Bug#57081). + * Reenable libnss1-compat.. + + -- Joel Klecker Sun, 6 Feb 2000 08:55:41 -0800 + +glibc (2.1.2-13) frozen unstable; urgency=low + + * The "@!%$&! you, I use Debian" release. + * debian/patches/powerpc-linux-syscalls.list-mmap64.dpatch: + Fix mmap and stuff (closes:Bug#56343). + * Add sharutils [alpha] to Build-Depends, drop gcc dep. + * $(libc): conflict with locales (<< 2.1.2-12). + * locales: replaces $(libc)-bin (closes:Bug#56540,#56536,#56534). + * Fix devpts.sh (closes:Bug#56487,#56507,#56559). + * Update to CVS as of 2000-01-29. + * Restore HTML to glibc-doc (closes:Bug#56609). + + -- Joel Klecker Sun, 30 Jan 2000 01:14:05 -0800 + +glibc (2.1.2-12) frozen unstable; urgency=low + + * The "Cardboard Messiah" release. + * debian/rules: Form arch_packages and indep_packages using += instead + of $(filter-out ...). + * debian/package-rules/locales.mk: Remove cross-compiling kluges. + * debian/package-rules/libc-dbg.mk: Fix libthread_db (closes:Bug#55439). + * debian/control.in/main: + - locales: Architecture all -> any. + - Build-Depends: + + add make (>= 3.78) due to use of new warning and error make functions. + + add gcc (>= 2.95.2-5) for alpha. + * Merge gconv-modules back into locales. + * Move locale and localedef programs back into locales. + * Put devpts.sh init script back in $(libc). (closes:Bug#50913,#53842) + * Add Replaces for timezones back into $(libc). + * Kill $(libc)-bin. + * Restore `tzselect' script, which slipped out of $(libc) (closes:Bug#55377) + * Bugs fixed in -11.0.1 (closes:Bug#53705,#53659,#53680,#53754 + * Update to CVS as of 2000-01-26. + * Eliminate obsoleted patches. + + -- Joel Klecker Wed, 26 Jan 2000 16:44:12 -0800 + +glibc (2.1.2-11.0.1) unstable; urgency=low + + * Binary-only upload of locales. + + -- Joel Klecker Wed, 29 Dec 1999 11:45:56 -0800 + +glibc (2.1.2-11) unstable; urgency=low + + * The "If it ain't broke, you're not tryin'" release. + * Split out $(libc)-bin and libnss1-compat. + * Split debian/rules into debian/package-rules/*. + $(libc-bin): + - Install db_* programs as glibcdb_*. + - Move zic, zdump, locale, localedef, getent here. + - Use alternatives for db_*. (closes:Bug#50311,#50341) + * debian/mk/rules-* -> debian/rules.d/*. + * debian/ now resembles $(tmpdir) tree for . + * Improve setperms rule, so debian/perms can specify fewer files. + * New source unpacking system, see prep.sh. + * Remove devpts.sh, the init script is now in sysvinit. + * Improve debian/libc/DEBIAN/shlibs rule (debian/rules.d/shlibs.mk). + * debian/sysdeps/soname.mk: Bump shlib_depend. + * Add sysdeps files for $(DEB_HOST_GNU_CPU). + * Add debian/patches/glibc-mega.dpatch: + Selected patches from CVS (closes:Bug#48120,#52195). + * Add debian/patches/linuxthreads-mega.dpatch: + Selected patches from CVS. + * Add debian/patches/alpha-pt-machine.h.dpatch: + Fix pt-machine.h so that linuxthreads compiles on Alpha. + * Add debian/patches/db2-alpha-powerpc-mutex.dpatch: + Alpha and PowerPC implementations for db2 spinlocks. + (patches by David Huggins-Daines ) + (db2 patch slightly modified) + * Add debian/patches/powerpc-plt.dpatch: + 1999-10-07 Geoffrey Keating + * sysdeps/powerpc/dl-machine.c: Many minor formatting changes. + (OPCODE_LWZU): New macro. + (OPCODE_ADDIS_HI): New macro. + (OPCODE_LIS_HI): New macro. + (__elf_machine_runtime_setup): Change PLT code-generation scheme + for thread safety even with very large PLTs, better efficiency, + and to fix a cache-flushing bug. + (__elf_machine_fixup_plt): Likewise. + (__process_machine_rela): Don't use elf_machine_fixup_plt. + * Add debian/patches/sparc64-linux-lib64.dpatch: + Use /lib/64 and /usr/lib/64 instead of /lib64 and /usr/lib64. + * Add debian/patches/sparc64-linux-execve.dpatch: + Add __syscall_execve to sparc64 syscalls.list. + * Add automatic parallel build support for SMP systems. + * Fix broken parsing of DEB_BUILD_OPTIONS. + * Add framework to build libc6-64 and libc6-64-dev packages for sparc + (not enabled for potato). + * Split locales into `locales' and `i18ndata'. + + -- Joel Klecker Sat, 25 Dec 1999 09:54:29 -0800 + +glibc (2.1.2-10) unstable; urgency=low + + * The "Omigod! I overdosed on heroin!" release. + * debian/devpts.init: Create /dev/ptmx unconditionally. + * Restore correct nscd DEBIAN dir. + * Revamp rules a bit (split more parts into debian/mk/rules-*). + * debian/mk/sysdeps.mk: Split into pieces and include them. + * debian/patches/tzcode1999h.dpatch: + Update timezone data to 1999h release. + * Add stub for support for libc6-64 packages for sparc. + * Add one more last timezone sanity check to libc postinst (closes:Bug#49539). + * Always unpack linuxthreads add on and pass --enable-add-ons=crypt to + configure for hurd (closes:Bug#49459). + + -- Joel Klecker Mon, 8 Nov 1999 09:47:28 -0800 + +glibc (2.1.2-9) unstable; urgency=low + + * The "Service with a capital 'Bugger Off'" release. + * debian/copyright: Update for 2.1.2. + * debian/rules: Make each binary package depend on setperms (closes:Bug#48914). + * Move debian/libc-doc to debian/glibc-doc and eliminate the need for + postinst and prerm to be generated files. (closes:Bug#48786). + + -- Joel Klecker Sun, 31 Oct 1999 09:23:16 -0800 + +glibc (2.1.2-8) unstable; urgency=low + + * The "Can't Start a Fire Without a SPARC" release. + * Build with unstable dpkg. + * debian/patches/sparc-various.dpatch: Various sparc-specific patches + from Jakub Jelinek and David S. Miller . + + -- Joel Klecker Sat, 30 Oct 1999 06:55:33 -0700 + +glibc (2.1.2-7) unstable; urgency=high + + * The "Fuck Me Harder" release. + * sparc-linux: Replaces: ldso (<< 1.9.11-6). + * debian/{libc.postinst.in,libc/prerm}: Add /usr/doc symlink stuff (closes:Bug#48324). + * debian/control.in-main: Adjust locales depends. + Correct Build-Depends: field. + * debian/mk/source-rules.mk: Split unpack-source, source, and orig-source + targets from debian/rules. + * debian/patches/manual-texinfo4.dpatch: Use @ifnottex instead of @ifinfo. + * Use makeinfo --html to generate HTML version of glibc manual. + * Remove texi2html from debian/scripts. + * Fix debian/scripts/Makefile for cross-compiling. + * Correct debian/patches/string2-pointer-arith.dpatch for archs that don't + support unaligned memory accesses. + + -- Joel Klecker Fri, 29 Oct 1999 09:06:27 -0700 + +glibc (2.1.2-6) unstable; urgency=low + + * The "Evil Bitch Monster of Death" release. + * debian/rules: Move debian/control targets to... + debian/mk/debian-control.mk. + * Move debian/*.mk to debian/mk/. + * Use debian//* for control archive items. + Adjust debian/rules for this. + * Add setperms target to set modes of debian//*. + Make unpack-source and clean depend on it. + * Don't compile with -g when DEB_HOST_GNU_CPU is alpha. + * debian/patches/string2-pointer-arith: New file. + Fix "/usr/include/bits/string2.h:419: warning: pointer of type `void *' + used in arithmetic" (closes:Bug#45824,#44491,#44697) + * Change maintainer back to "Joel Klecker ". + * Update to CVS sources as of 1999-10-24. + * debian/patches/{linuxthreads-signals.c-ucontext,cs-po}.dpatch: + Fixes for source tree brokenness. + * Adjust clean target for new generated files. + * Add libresolv to $(libc)-pic. + * Add readlink.c and texi2html to debian/scripts to eliminate tetex-bin dependency. + * nscd: Install nscd_nischeck. + Sync nscd.init with upstream. + * Implement /usr/doc symlinks. + * $(libc): strip libpthread with --strip-debug. + + -- Joel Klecker Sun, 24 Oct 1999 20:50:58 -0700 + +glibc (2.1.2-5) unstable; urgency=low + + * The "One more week to go" release. + * debian/patches/localedata-SUPPORTED: + Oops, this patch wasn't actually being applied. + eo_EO, zh_TW.Big5, and es_AR should be [back] in locales now. + Back out zh_CN, the definition is broken. + * Remove sparc from HAVE_LIBC{4,5}, we want to install our ldd. + * debian/patches/sparc-linux-ldd.dpatch: New file. + Restore missing patch (in ChangeLog, not in source). + * debian/sysdeps.mk: Tighten alpha shlib_depend to libc6.1 (>= 2.1.2-1). + + -- Joel Klecker Tue, 28 Sep 1999 04:55:35 -0700 + +glibc (2.1.2-4) unstable; urgency=low + + * The "Perl Sucks" release. + * debian/libc.postinst: Steal updatercd shell function from sysvinit postinst. + Use it for devpts.sh. (closes:Bug#45867,#45879,#45880,#45885,#45895) + Bitch-slap perl maintainers. :) + * debian/rules: nscd: run nscd.conf through sed 's/adm/log/'. + * debian/patches/sparc-llnux-chown.dpatch: Update from Ben Collins. + * debian/sysdeps.mk: Drop sparc-linux depends back to libc6 (>= 2.0.105). + + -- Joel Klecker Fri, 24 Sep 1999 12:39:26 -0700 + +glibc (2.1.2-3) unstable; urgency=low + + * The "Pot-smoking Pikachu" release. + * debian/rules: Don't install ldd man page on i386/m68k (closes:Bug#45421). + check: Don't depend on build. + Symlink db_dump185 manpage to db_dump manpage (closes:Bug#42322). + $(libc)-pic: Install map file for libm. + Install map files as $(libdir)/libfoo_pic.map. + * debian/patches/zh_TW.Big5-locale.dpatch: + Split into localedata-charmap-BIG5_1984 and localedata-zh_TW.Big5. + * debian/patches/eo_EO-locale.dpatch: Rename to... + localedata-eo_EO. + * debian/patches/localedata-SUPPORTED.dpatch: New file. + Add eo_EO, es_AR (closes:Bug#37162), zh_CN.GB2312 (closes:Bug#38553), + zh_TW.Big5. + * debian/patches/pthread_create-manpage.dpatch: New file. + Correct pthread_create manpage to match texinfo documentation + (closes:Bug#22119). + + -- Joel Klecker Wed, 22 Sep 1999 19:16:01 -0700 + +glibc (2.1.2-2) unstable; urgency=low + + * The "Bite Me" release. + * debian/rules: $(libc): strip pt_chown. + Don't install ldd on i386/m68k. + Query dpkg-architecture variables individually. + Use bunzip2 -c ... | tar xf - instead of tar yxf. + $(libc)-pic: Add libm_pic.a. + check: New target; run test suite. + Call make with SHELL=/bin/bash, as the test suite seems to rely on + bash behavior. + Use --strip-unneeded (closes:Bug#40467). + * debian/sysdeps.mk: reorganize. + * debian/patches/generic-getenv.dpatch: New file. + 1999-09-10 Andreas Schwab + + * sysdeps/generic/getenv.c (getenv): Fix lookup for single + character variable on bigendian platforms without unaligned memory + access. + + -- Joel Klecker Thu, 16 Sep 1999 14:41:28 -0700 + +glibc (2.1.2-1) unstable; urgency=low + + * The "Gone Evil" release. + * glibc 2.1.2 final. + - Properly free mmaps for archs without spinlocks in db2 (closes:Bug#43786). + + * debian/rules: configure: Fix hurd part (missing \). + Add frame.o hack for alpha. + Use CFLAGS instead of default_cflags. + Create srcdir for each arch. + Remove arch/indep patch split. + New directory layout (build/foo- -> build//foo). + Use bz2 tarballs. + + * debian/patches/sparc-linux-types.dpatch: Remove, applied upstream. + + * devpts.sh never used any bashisms (closes:Bug#43296). + + -- Joel Klecker Tue, 7 Sep 1999 05:00:58 -0700 + +glibc (2.1.2-0pre12) unstable; urgency=low + + * The "Espy's Birthday" release. + * debian/rules: (libc-pic) strip debugging symbols from *_pic.a. + interp.o is no longer needed. + + * debian/patches/sparc-linux-types.dpatch: New file. + 1999-07-25 Jakub Jelinek + + * sysdeps/unix/sysv/linux/sparc/bits/types.h: Define always + __qaddr_t. + __ino64_t should be 32bit unsigned type on sparc32. + Define __off64_t to __quad_t instead of __int64_t. + Make __pic_pid_t unsigned on sparc32. + + * Really change maintainer name to Debian GNU C Library Maintainers. + + * debian/control.in-libc: s/m@archs@/many/ (closes:Bug#43657). + + * debian/devpts.init: Check if devpts is already mounted before trying + to mount it. (closes:Bug#43658,#43659). + Remove exit 0 from end (closes:Bug#42541) + + * Fixed upstream: db_dump185 now linked with libdb1 (closes:Bug#42898). + + -- Joel Klecker Sun, 29 Aug 1999 07:51:16 -0700 + +glibc (2.1.2-0pre11) unstable; urgency=high + + * The "Lesbian Seagull" release. + * glibc 2.1.2pre3. + + -- Joel Klecker Wed, 25 Aug 1999 15:33:23 -0700 + +glibc (2.1.2-0pre10) unstable; urgency=low + + * The "Crack-smoking Squirrel" release. + * CVS as of 1999-08-21. + * Change maintainer name to Debian GNU C Library Maintainers. + + -- Joel Klecker Sat, 21 Aug 1999 10:57:42 -0700 + +glibc (2.1.2-0pre9) unstable; urgency=low + + * The "Son of Drunken Iceweasel" release. + * Compile with gcc 2.95.1. + * CVS as of 1999-08-18. + + -- Joel Klecker Wed, 18 Aug 1999 11:11:29 -0700 + +glibc (2.1.2-0pre8) unstable; urgency=low + + * The "Drunken Iceweasel" release. + * Compile with gcc 2.95.1-0pre1. + * Remove explicit -march=i386 on i386, it's no longer needed. + + -- Joel Klecker Sun, 15 Aug 1999 08:34:55 -0700 + +glibc (2.1.2-0pre7) unstable; urgency=low + + * The "Evil Mastermind" release. + * CVS as of 1999-08-09. + * debian/patches/arm-osabi.dpatch: "...and another patch bites the dust" + (functionality integrated upstream). + * Add -march=i386 on i386 to work around gcc lossage. + + -- Joel Klecker Tue, 10 Aug 1999 01:54:57 -0700 + +glibc (2.1.2-0pre6) unstable; urgency=low + + * The "Stoned Monkey" release. + * More adjustments for multi-arch build tree. + * Split patch rules into debian/patch-rules.mk. + * Divide patch system into indep and arch patches. + * Update sources to CVS as of 1999-08-08 (closes:Bug#42579,#42343). + - I think perhaps this will fix the StarOrifice problem too. + + -- Joel Klecker Sun, 8 Aug 1999 21:11:12 -0700 + +glibc (2.1.2-0pre5) unstable; urgency=low + + * The "Chainsaw Psycho" release. + * Install zdump in $(bindir). + * Fix 3l33t control frags system for "weird" architectures. ;) + * Avoid using DEB_*_ARCH variables, for they are evil. :) + + -- Joel Klecker Fri, 6 Aug 1999 05:34:55 -0700 + +glibc (2.1.2-0pre4) unstable; urgency=low + + * 2.1.2pre2. + * Run testsuite in build target. + * $(libc)-pic: Provides: glibc-pic. + * Logging is back. + * Update copyright file. + + -- Joel Klecker Sun, 1 Aug 1999 17:58:49 -0700 + +glibc (2.1.2-0pre3) unstable; urgency=low + + * CVS as of 19990730. + * Implement new debian/control-frags system. + * $(libc)-pic is back. + * {gconv-modules,$(libc)-{pic,dev,dbg,prof}}: + doc dirs are directories again. + + -- Joel Klecker Fri, 30 Jul 1999 10:52:06 -0700 + +glibc (2.1.2-0pre2) unstable; urgency=low + + * debian/rules: Fix typo that prevented all the linux-specific + patches from being applied. + + -- Joel Klecker Mon, 26 Jul 1999 14:44:46 -0700 + +glibc (2.1.2-0pre1) unstable; urgency=low + + * New upstream pre-release 2.1.2pre1. + * debian/depflags.mk. + - (libc_dev_control_flags): + Add conflicts to alpha/i386/m68k for libncurses4-dev (<< 4.2-3.1) and + libreadlineg2-dev (<< 2.1-13.1). + - (libc_control_flags): + Add conflicts to alpha/i386/m68k for libglib1.2 (<< 1.2.1-2). + * devpts.init: + - Cope with EXTRAVERSION in uname -r (closes:Bug#41064,#41389). + - Don't worry about /dev/ptmx anymore, glibc now checks for a mounted + devpts filesystem as well as an existing /dev/ptmx. + * debian/patches/{ieee754_y0,linux-mmap64,libio-oldiopopen}.dpatch: + Removed; applied upstream. + * debian/patches/arm-{dynamiclinker,tftp}.dpatch: + Removed; applied upstream. + * debian/patches/arm-string.dpatch: + Remove string/endian.h part (applied upstream) and rename to arm-ieee754. + * Disable building of $(libc)-pic, the boot-floppies library + reduction hack doesn't work anyway. + * Adjusted rules for dpkg-architecture and reworked source unpacking + to handle snapshot upstream versions better. + * Use suidmanager for pt_chown. + * More fully adopt dpkg-architecture system. + * Correct libc.preinst for sparc. + * Set sparc shlib_depend to $(libc) (>= 2.1) per request. + + -- Joel Klecker Sat, 24 Jul 1999 12:35:05 -0700 + +glibc (2.1.1-13) unstable; urgency=low + + * debian/devpts.init: Revise again. + * debian/rules: debian/shlibs: Add special case for libdb1. + * debian/sysdeps.mk: Add cflags variable and i386 hack + (hopefully this will allow the library to run on 386es again). + * Use 2.2.10 kernel headers by default on *-linux targets. + * Docs in /usr/share/doc. + * debian/control.in: Update Standards-Version to 3.0.0. + * debian/fhs.dpatch: Adjust for FHS 2.1pre2 /var/mail wording. + * debian/libc.postinst: Symlink /var/mail to /var/spool/mail. + * Integrate changes from Jim Pick's NMUs for arm (closes:#40927,#40479,#40691). + * debian/patches/ieee754_y0.dpatch: Upstream fix for yn() issue. + * debian/patches/linux-mmap64.dpatch: Fix for mmap64() on powerpc + (maybe others too). + * debian/patches/libio-oldiopopen.dpatch: Fix for glibc 2.0 compat popen(). + * debian/copyright: + - Update URLs + - Add libio license + - s%/usr/doc/copyright%/usr/share/common-licenses% + + -- Joel Klecker Wed, 7 Jul 1999 17:36:23 -0700 + +glibc (2.1.1-12.3) unstable; urgency=low + + * Non-maintainer upload. + * Oops, messed up tftp patch for ARM. + + -- Jim Pick Wed, 7 Jul 1999 00:15:48 -0700 + +glibc (2.1.1-12.2) unstable; urgency=low + + * Non-maintainer upload. + * Another patch for ARM to fix tftp struct alignment problem. + + -- Jim Pick Thu, 1 Jul 1999 09:38:02 -0700 + +glibc (2.1.1-12.1) unstable; urgency=low + + * Non-maintainer upload. + * Include patch for ARM to fix dynamic linker. + + -- Jim Pick Thu, 17 Jun 1999 21:11:59 -0700 + +glibc (2.1.1-12) unstable; urgency=low + + * debian/rules: Use /var/lib/misc here too. + * debian/tzconfig: Fix #! line. + * debian/libc.postinst: Minor adjustments. + + -- Joel Klecker Tue, 15 Jun 1999 09:24:49 -0700 + +glibc (2.1.1-11) unstable; urgency=low + + * debian/patches/glibcbug.dpatch: New file. + - Fixes glibcbug to use `sensible-editor' + * debian/patches/fhs.dpatch: Deal with _PATH_VARDB. + * debian/patches/m68k-chown.dpatch: Fix paths (closes:Bug#37933). + * $(libc): Add HTML version of glibc FAQ. + * tzselect is crap, restore old version of tzconfig. + * Use 2.2.9 kernel headers by default on *-linux targets. + + -- Joel Klecker Sun, 13 Jun 1999 09:34:41 -0700 + +glibc (2.1.1-10) unstable; urgency=low + + * debian/libc.postinst: Redirect stdout/stderr to /dev/null when + restarting services (closes:Bug#38413). + * debian/patches/fhs.dpatch: Alter slightly for FHS 2.1 draft. + + -- Joel Klecker Mon, 31 May 1999 01:45:27 -0700 + +glibc (2.1.1-9) unstable; urgency=low + + * 2.1.1 final (closes:Bug#38178). + * -7 was accidentally/intentionally compiled with gcc 2.95pre. + * -8 was a local build. + + -- Joel Klecker Mon, 24 May 1999 22:10:01 -0700 + +glibc (2.1.1-8) unstable; urgency=low + + * Rebuild with egcs 1.1.2. + (/me hides) + + -- Joel Klecker Sun, 23 May 1999 21:28:29 -0700 + +glibc (2.1.1-7) unstable; urgency=low + + * Make sure all patches get applied (closes:Bug#37951,Bug#37974). + * Fixes for m68k via Roman Hodek + - (debian/rules): Add new m68k-chown patch (closes:Bug#38048). + - (debian/depflags.mk): Fix m68k case (closes:Bug#37933). + * There were some localedata changes in format between -5 and -6 + (closes:Bug#37850,Bug#37822,Bug#37829). + * Add patch to fix install-locales target when localedata is not installed. + * Build locales in the `locales' target + (no sense building them in the arch-indep install target). + + -- Joel Klecker Thu, 20 May 1999 14:02:15 -0700 + +glibc (2.1.1-6) unstable; urgency=low + + * 2.1.1pre3. + * (debian/rules): Set BASH and KSH to /bin/bash in configparms. + * (debian/libc.preinst): sparc fix (closes:Bug#37415,Bug#37616). + * (debian/nscd.prerm): Stop nscd before removing it (closes:Bug#37416). + + -- Joel Klecker Mon, 17 May 1999 19:29:12 -0700 + +glibc (2.1.1-5) unstable; urgency=low + + * CVS as of 1999-05-08. + + -- Joel Klecker Sat, 8 May 1999 19:31:52 -0700 + +glibc (2.1.1-4) unstable; urgency=low + + * Fix logic errors in tzconfig. + + -- Joel Klecker Sat, 8 May 1999 00:07:44 -0700 + +glibc (2.1.1-3) unstable; urgency=low + + * 2.1.1pre2. + * glibc-compat 2.1.0. + * debian/copyright: Update URLs for upstream source locations. + * debian/devpts.init: Rewrite for more sensible handling of devfs. + * debian/libc.postinst: Be more paranoid about /etc/timezone, and + always remake /etc/localtime symlink. + * debian/sysdeps.mk: Add sparc to HAVE_LIBC4 to deal with lddlibc4. + * debian/rules: Don't apply sparc32-ldd patch. + * debian/patches/sparc32-ldd.dpatch: delete. + + -- Joel Klecker Fri, 7 May 1999 10:40:11 -0700 + +glibc (2.1.1-2) unstable; urgency=low + + * $(libc): replace locales << 2.1.1-1 + * debian/depflags.mk: clean up + * debian/control.in: locales: remove depend on @libc@ (closes:Bug#36654). + * debian/devpts.sh: Remove bashisms (closes:Bug#36552). + * debian/libc.postinst: + - Use ln -sf instead of zic -l (closes:Bug#36305). + - If upgrading from glibc 2.0, restart services potentially affected + by libnss_* upgrade. + * debian/libc.preinst: Add kernel version sanity check for sparc. + * debian/rules: + - Fix reverse-patches target (closes:Bug#36574). + - Fix libexecdir handling (closes:Bug#36673). + - locales is binary-all, so build it in binary-indep, not binary-arch. + * debian/sysdeps.mk: $(shlib_depend): >= 2.0.105 for sparc. + * locales: Add eo_EO (Esperanto) locale definition. + + -- Joel Klecker Sat, 1 May 1999 22:22:22 -0700 + +glibc (2.1.1-1) unstable; urgency=low + + * Using maintainer versions now; 2.1.1 is still in pre-release. + * CVS as of 1999-04-19. + * Upgrade glibc-compat addon. + * Add kernel version sanity check to nscd init script. + * Slight tweaks to devpts.sh init script. + * Remove hurd-fcntl patch, it is applied upstream. + * Fix libc.preinst libnss code. + * Symlink /var/db to /var/state/glibc for backward compatibility. + * Add zh_TW.Big5 locale and BIG5_1984 charmap. + * Revert to ln -sf instead of zic -l in tzconfig (closes:Bug#36305). + * Add latest version of sparc32-chown patch. + * Move architecture-dependant parts of locales to other packages + and make it Architecture: all. + * Move locale and localedef to $(libc); and split gconv-modules into its + own package. + + -- Joel Klecker Tue, 20 Apr 1999 15:09:18 -0700 + +glibc (2.1.1-0.2) unstable; urgency=low + + * Upgrade to latest CVS sources. + - Fixes ttyname problem which affected screen (closes:Bug#35695). + - libio backward compatibility fixes. + - Many other fixes. + * Put manpages in /usr/share/man, info in /usr/share/info. + * Add devpts.sh init script and /etc/default/devpts to configure it. + * Better FHS compliance. + - /var/db -> /var/state/glibc. + - --libexecdir=/usr/lib (my reading of the FHS seems to allow + executables directly in /usr/lib). + + -- Joel Klecker Wed, 7 Apr 1999 14:47:08 -0700 + +glibc (2.1.1-0.1) unstable; urgency=low + + * Now using NMU-style versions for prereleases. + * Don't start utmpd. + * Somehow the old nss modules (libnss_*.so.1) slipped out + of the last release, put them back. + * Let libc keep its x bit. + (executing it presents some interesting output) + + -- Joel Klecker Wed, 17 Mar 1999 00:44:44 -0800 + +glibc (2.1.1-0pre1.3) unstable; urgency=low + + * Fix source package. + * $(libc)-dbg: Install libpthread (closes:Bug#34461). + * $(libc): Add note about devpts and services to postinst. + - Recreate databases in /var/db if upgrading from glibc 2.0.x + (closes:Bug#34442) + - i386, alpha, m68k: Conflict with libtricks, apt (<< 0.1.10.1). + * Change default_cflags to -O2 -g. + * Allow make check to fail. + + -- Joel Klecker Sat, 13 Mar 1999 15:14:50 -0800 + +glibc (2.1.1-0pre1.2) unstable; urgency=low + + * strip shared libs with --strip-debug instead of --strip-unneeded. + * Loosened shlibs depend. + + -- Joel Klecker Fri, 12 Mar 1999 22:33:01 -0800 + +glibc (2.1.1-0pre1.1) unstable; urgency=low + + * Fix $(libc) replaces on i386. + + -- Joel Klecker Fri, 12 Mar 1999 14:47:28 -0800 + +glibc (2.1.1-0pre1) unstable; urgency=low + + * New upstream release. + * Really release this one to unstable. + + -- Joel Klecker Wed, 10 Mar 1999 09:14:29 -0800 + +glibc (2.1-4) unstable; urgency=low + + * First release for unstable. + * Add glibc-compat addon. + * $(libc): Conflict with libwcsmbs + - Start utmpd and touch /var/run/utmpx, /var/log/wtmpx. + * $(libc)-dbg: Install unstripped shared libs in /usr/lib/glibc_dbg. + * $(libc)-prof: Strip libraries. + * glibc-doc: Remove cruft from top-level of info dir. + * Split nscd into separate package. + * Fixed $KERNEL_SOURCE handling. + * Bugs fixed: 19264, 22788, 26148, 26306, 30609, 30773, 31415 + (will elaborate later :) + + -- Joel Klecker Fri, 5 Mar 1999 11:29:44 -0800 + +glibc (2.1-3) unstable; urgency=low + + * (debian/depflags.mk): + - Correct typo + - Add libc_dev_control_flags for Conflicts + + -- Joel Klecker Mon, 8 Feb 1999 03:22:27 -0800 + +glibc (2.1-2) unstable; urgency=low + + * Get shlibs file dependencies correct. + + -- Joel Klecker Sat, 6 Feb 1999 22:56:22 -0800 + +glibc (2.1-1) unstable; urgency=low + + * New upstream release. + * (debian/control.in): Update maintainer address. + * (debian/depflags.mk): + $(libc): conflict and replace timezone, timezones; replace libdb2 + * (debian/rules): + $(libc)-dev: copy subdirectories from $(KERNEL_HEADERS)/linux too. + timezones: remove + $(libc): Put timezone data, and the zic and zdump utils here + * Sync with HURD again. + * Removed hurd-utimes patch, it is integrated upstream. + + -- Joel Klecker Sat, 6 Feb 1999 12:26:10 -0800 +

, , , , , , , , , + % +@@ -189,6 +189,15 @@ + LC_CTYPE + %copy "i18n" + copy "tr_TR" ++translit_start ++include "translit_combining";"" ++ ++% schwa -> a: ++ "" ++ "" ++ ++translit_end ++ + END LC_CTYPE + + LC_MESSAGES +@@ -225,19 +234,19 @@ + + LC_TIME + day "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "" ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "" + abday "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "" ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "" + mon "";/ + "";/ + "";/ +@@ -267,6 +276,8 @@ + t_fmt "" + am_pm "";"" + t_fmt_ampm "" ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/be_BY glibc-old/localedata/locales/be_BY +--- glibc-2.3.5/localedata/locales/be_BY 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/be_BY 2005-11-30 16:35:33.000000000 -0500 +@@ -141,6 +141,9 @@ + date_fmt "/ + / + " ++% Copied from be_BY@alternative ++first_weekday 2 ++first_workday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/bn_BD glibc-old/localedata/locales/bn_BD +--- glibc-2.3.5/localedata/locales/bn_BD 2004-12-19 15:48:59.000000000 -0500 ++++ glibc-old/localedata/locales/bn_BD 2005-11-30 16:35:33.000000000 -0500 +@@ -4,30 +4,30 @@ + % This is the locale defination file for Bangladeshi Bengali + + LC_IDENTIFICATION +-title "Bengali language locale for Bangladesh" +-source "Ankur Group, http://www.ankurbangla.org http://www.bengalinux.org" +-address "Dhaka, Bangladesh" +-contact "Taneem Ahmed, Jamil Ahmed" +-email "taneem@bengalinux.org, jamil@bengalinux.org" +-tel "" +-fax "" +-language "Bengali/Bangla" +-territory "Bangladesh" +-revision "0.2" +-date "2004-07-14" +- +-category "i18n:2001";LC_IDENTIFICATION +-category "i18n:2001";LC_COLLATE +-category "i18n:2001";LC_CTYPE +-category "i18n:2001";LC_MESSAGES +-category "i18n:2001";LC_MONETARY +-category "i18n:2001";LC_NUMERIC +-category "i18n:2001";LC_TIME +-category "i18n:2001";LC_PAPER +-category "i18n:2001";LC_MEASUREMENT +-category "i18n:2001";LC_TELEPHONE +-category "i18n:2001";LC_ADDRESS +-category "i18n:2001";LC_NAME ++title "Bengali/Bangla language locale for Bangladesh" ++source "Ankur Group, http://www.ankurbangla.org, http://www.bengalinux.org" ++address "Dhaka, Bangladesh" ++contact "Taneem Ahmed, Jamil Ahmed" ++email "taneem@bengalinux.org, jamil@bengalinux.org" ++tel "" ++fax "" ++language "Bengali/Bangla" ++territory "Bangladesh" ++revision "0.3" ++date "2005-01-18" ++ ++category "bn_BD:2001";LC_IDENTIFICATION ++category "bn_BD:2001";LC_COLLATE ++category "bn_BD:2001";LC_CTYPE ++category "bn_BD:2001";LC_MESSAGES ++category "bn_BD:2001";LC_MONETARY ++category "bn_BD:2001";LC_NUMERIC ++category "bn_BD:2001";LC_TIME ++category "bn_BD:2001";LC_PAPER ++category "bn_BD:2001";LC_MEASUREMENT ++category "bn_BD:2001";LC_TELEPHONE ++category "bn_BD:2001";LC_ADDRESS ++category "bn_BD:2001";LC_NAME + + END LC_IDENTIFICATION + +@@ -41,13 +41,12 @@ + END LC_CTYPE + + LC_MONETARY +-%this is the rupee sign ++%this is the taka sign + currency_symbol "" +-%currency_symbol "" + int_curr_symbol "" + mon_decimal_point "" + mon_thousands_sep "" +-mon_grouping 3;3 ++mon_grouping 3;2 + positive_sign "" + negative_sign "" + int_frac_digits 2 +@@ -64,7 +63,7 @@ + LC_NUMERIC + decimal_point "" + thousands_sep "" +-grouping 3;3 ++grouping 3;2 + END LC_NUMERIC + + LC_TIME +@@ -72,7 +71,7 @@ + "";/ + "";/ + "";/ +- "";/ ++ "";/ + "";/ + "" + +@@ -84,34 +83,34 @@ + "";/ + "" + +-%jan feb mar apr may jun jul aug sep oct nov dec +-abmon "";/ +- "";/ +- "";/ +- "";/ ++%janu febru march apri may jun jul aug septe octo nove dece ++abmon "";/ ++ "";/ ++ "";/ ++ "";/ + "";/ + "";/ + "";/ + "";/ +- "";/ +- "";/ +- "";/ +- "" ++ "";/ ++ "";/ ++ "";/ ++ "" + +-mon "";/ +- "";/ ++mon "";/ ++ "";/ + "";/ + "";/ + "";/ + "";/ + "";/ + "";/ +- "";/ +- "";/ +- "";/ +- "" ++ "";/ ++ "";/ ++ "";/ ++ "" + +-am_pm "";"" ++am_pm "";"" + d_t_fmt "" + d_fmt "" + t_fmt "" +@@ -119,10 +118,10 @@ + END LC_TIME + + LC_MESSAGES +-yesexpr "" +-noexpr "" ++yesexpr "" ++noexpr "" + yesstr "" +-nostr "" ++nostr "" + END LC_MESSAGES + + % Metric Measurement system (ISO 1000) +@@ -144,31 +143,31 @@ + END LC_TELEPHONE + + LC_NAME +-% [profession] Given_Name [middle_name] Family_Name ++% [profession] Given_Name [middle_name] Family_Name + name_fmt "" +-name_gen "" ++name_gen "" + %jonab + name_mr "" +-%jonaba +-name_mrs "" +-name_ms "" +-name_miss "" ++%begom ++name_mrs "" ++name_ms "" ++name_miss "" + END LC_NAME + + + LC_ADDRESS +-postal_fmt "" +-country_name "" ++postal_fmt "" ++country_name "" + country_ab2 "" + country_ab3 "" + lang_ab "" + %lang_ab3_term "ben" + lang_name "" + % todo +-%country_post "" ++%country_post "" + country_num 050 +-%country_car "" +-%country_isbn "" +-%lang_term "" +-%lang_lib "" ++%country_car "" ++%country_isbn "" ++%lang_term "" ++%lang_lib "" + END LC_ADDRESS +diff -ru glibc-2.3.5/localedata/locales/bn_IN glibc-old/localedata/locales/bn_IN +--- glibc-2.3.5/localedata/locales/bn_IN 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/bn_IN 2005-11-30 16:35:33.000000000 -0500 +@@ -146,35 +146,13 @@ + % Appropriate 12 h time representation (%r) + t_fmt_ampm "" + % ++% FIXME ++first_weekday 1 + END LC_TIME + + + LC_MESSAGES +-% This is the POSIX Locale definition for the LC_MESSAGES category +-% generated by IBM Basic CountryPack Transformer. +-% These are generated based on XML base Locale difintion file +-% for IBM Class for Unicode. +-% +-% ^[\u0939\u093e\u0901] +-yesexpr "" +- +-% Syntax on Unicode Regular Expression Guidelines TR#18 +-% yesexpr "" +- +-% +-% ^[\u0928\u0939\u0940\u0902] +-noexpr "" +- +-% Syntax on Unicode Regular Expression Guidelines TR#18 +-% noexpr "" +-% +- +-% \u0939\u093e\u0901 +-yesstr "" +-% +-% \u0928\u0939\u0940\u0902 +-nostr "" +-% ++copy "bn_BD" + END LC_MESSAGES + + +diff -ru glibc-2.3.5/localedata/locales/bs_BA glibc-old/localedata/locales/bs_BA +--- glibc-2.3.5/localedata/locales/bs_BA 2003-12-06 03:09:48.000000000 -0500 ++++ glibc-old/localedata/locales/bs_BA 2005-11-30 16:35:33.000000000 -0500 +@@ -7,13 +7,16 @@ + % Email: tvujec@carnet.hr + % Language: bs + % Territory: BA +-% Revision: 0.3 +-% Date: 2001-01-29 ++% Revision: 0.4 ++% Date: 2004-01-09 + % Application: general + % Users: general + % Charset: ISO-8859-2 + % Distribution and use is free, also + % for commercial purposes. ++% ++% Revisions: ++% 2004-01-09 pablo@mandrakesoft.com: fixed LC_COLLATE + + LC_IDENTIFICATION + title "Bosnian language locale for Bosnia and Herzegowina" +@@ -25,8 +28,8 @@ + fax "" + language "Bosnian" + territory "Bosnia and Herzegowina" +-revision "0.3" +-date "2001-01-29" ++revision "0.4" ++date "2004-01-09" + + category bs_BA:2000;LC_IDENTIFICATION + category bs_BA:2000;LC_CTYPE +@@ -108,7 +111,7 @@ + ;;;IGNORE + ;;;IGNORE + +-%reorder-after ++reorder-after + ;;;IGNORE + ;;;IGNORE + reorder-after +@@ -205,6 +208,8 @@ + t_fmt "" + am_pm "";"" + t_fmt_ampm "" ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +@@ -234,8 +239,9 @@ + END LC_ADDRESS + + LC_TELEPHONE +-% FIXME +-tel_int_fmt "???" ++% FIXME (tel_int-fmt copied from en_DK) ++tel_int_fmt "/ ++" + int_prefix "" + int_select "" + END LC_TELEPHONE +diff -ru glibc-2.3.5/localedata/locales/ca_ES glibc-old/localedata/locales/ca_ES +--- glibc-2.3.5/localedata/locales/ca_ES 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/ca_ES 2005-11-30 16:35:34.000000000 -0500 +@@ -19,7 +19,7 @@ + % for commercial purposes. + + LC_IDENTIFICATION +-title "Catalan locale for Catalonia" ++title "Catalan locale for Spain" + source "RAP" + address "" + contact "" +@@ -46,2067 +46,20 @@ + END LC_IDENTIFICATION + + LC_COLLATE ++copy "iso14651_t1" + +-% Base collation scheme: 1994-03-22 ++collating-symbol + +-% Ordering algorithm: +-% 1. Spaces and hyphen (but not soft +-% hyphen) before punctuation +-% characters, punctuation characters +-% before numbers, +-% numbers before letters. +-% 2. Letters with diacritical marks are +-% members of equivalence classes +-% 3. A distinction is made with regards +-% to case as noted below. +-% 4. Special characters are ignored +-% when comparing letters, but then +-% they are considered +-% 5. The alphabets are sorted in order +-% of first appearance in ISO 10646: +-% Latin, Greek, Cyrillic, etc. +-% +-% According to Greek specifications, +-% the steps 2. and 3. above are reversed +-% for the Greek script +- +-% collating symbols +- +-% The collating symbol naming is +-% mostly taken from ISO 10646-1, +-% for example the case and accent +-% names are from this standard. +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-% and +-% are for cases like Danish +-% and Spanish being treated +-% as one letter. +- +-% The ...... collating +-% symbols have defined weights as +-% the last character in a group of +-% Latin letters. They are used +-% to specify deltas by locales using +-% a locale as the default ordering +-% and by "replace-after" statements +-% specifying the changed placement +-% in an ordering of a character. +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-% letter;accent;case;specials +- +-order_start forward;backward/ +- ;forward;position +- +-% or letters first: +- +- +- +- +- +- +-% Accents: +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ;;;IGNORE +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-<"=> IGNORE;IGNORE;IGNORE;<"=> +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-UNDEFINED IGNORE;IGNORE;IGNORE +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- +-% Arabic collating +- +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE ++reorder-after ++ + +-% katakana/hiragana sorting +-% base is katakana, as this is present in most charsets +-% normal before voiced before semi-voiced +-% small vocals before normal vocals +-% katakana before hiragana ++reorder-after ++ ;;;IGNORE + +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE ++reorder-after ++ ;;;IGNORE + +-order_end ++reorder-end + + END LC_COLLATE + +@@ -2181,6 +134,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/cs_CZ glibc-old/localedata/locales/cs_CZ +--- glibc-2.3.5/localedata/locales/cs_CZ 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/cs_CZ 2005-11-30 16:35:34.000000000 -0500 +@@ -136,2166 +136,89 @@ + + LC_COLLATE + +-% Base collation scheme: 1994-03-22 ++define UPPERCASE_FIRST ++define LATIN_FORWARD ++copy "iso14651_t1" + +-% Ordering algorithm: +-% 1. Spaces and hyphen (but not soft +-% hyphen) before punctuation +-% characters, punctuation characters +-% before letters, +-% numbers after letters. +-% 2. Letters with diacritical marks are +-% members of equivalence classes +-% 3. A distinction is made with regards +-% to case as noted below. +-% 4. Special characters are ignored +-% when comparing letters, but then +-% they are considered +-% 5. The alphabets are sorted in order +-% of first appearance in ISO 10646: +-% Latin, Greek, Cyrillic, etc. +-% +-% According to Greek specifications, +-% the steps 2. and 3. above are reversed +-% for the Greek script +- +-% collating symbols +- +-% The collating symbol naming is +-% mostly taken from ISO 10646-1, +-% for example the case and accent +-% names are from this standard. +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-% and +-% are for cases like Danish +-% and Spanish being treated +-% as one letter. +- +-% The ...... collating +-% symbols have defined weights as +-% the last character in a group of +-% Latin letters. They are used +-% to specify deltas by locales using +-% a locale as the default ordering +-% and by "replace-after" statements +-% specifying the changed placement +-% in an ordering of a character. +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +- +-% Definice písmene ch ++collating-symbol + + collating-element from "" + collating-element from "" + collating-element from "" + ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++ ++reorder-after ++ ++ ++reorder-after ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++reorder-after ++ ++ ++reorder-after ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ++reorder-after ++ ++ ++reorder-after ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ++reorder-after ++ ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ++ ++reorder-after ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ++reorder-after ++ ++ ++reorder-after ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE + +-% letter;accent;case;specials +- +-%order_start forward;forward;forward;forward +-order_start forward;forward;forward;forward +- +-% or letters first: +- +- +- +- +- +- +-% Accents: +-% Poøadí akcentù: nahoøe, dole, vzadu, vpøedu, uvnitø nebo pøes písmeno +-% pokud toto nerozhodne zále¾í na poètu a tvaru +- +- +-% nahoøe +- % Teèka +- % Vodorovná èárka nahoøe +- % Èárka ' (napø: á) +- % Zpìtná èárka ` +- % Støí¹ka ^ (napø: â) +- % Háèek +- % Tilda (~) +- % Dolní pùlkrou¾ek (vypadá jako sjednocení) +-% Horní pùlkrou¾ek (vypadá jako prùnik) +- % Krou¾ek +- % netu¹ím jaké diakritické znaménko to je, pøedpokládám je nahoøe +- % netu¹ím jaké diakritické znaménko to je, pøedpokládám je nahoøe +- +- % Dvì teèky +- +- % Dvì èárky +- % Dvì zpìtné èárky +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +-% nahoøe a dole +- % Zde si nejsem jist jak je to mínìno, zda obì pod +- % nebo pouze to druhé +- +- +- +- +- +- +- +- +-% nahoøe a uprostøed +- +- +-% dole +- +- +- +- +- % Zobáèek pod písmenem vypadá skoro jako s (º) +- % Zobáèek pod písmenem obrácený k pøedchozímu (jako c)(ê) +- +-% za +-% pøed +- +-% uprostøed +- % ©krtnutí písmene v prostøedku (polské ³) +- +- +- +- +- +- +- +- +- +- +- ;;; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- +-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-% Zde jsou v¹echna latinská písmena s diakritikou +-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +- +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- +- +- "";"";"";"" +- "";"";"";"" +- "";"";"";"" +- "";"";"";"" +- "";"";"";"" +- "";"";"";"" +- +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- +- +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- +- ;;; +- ;;; +- +- +- +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- +- +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- +- +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- +- +- "";"";"";"" +- "";"";"";"" +- "";"";"";"" +- "";"";"";"" +- "";"";"";"" +- +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- +- +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- +- +- ;;; +- ;;; +- ;;; +- +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- +- +- "";"";"";"" +- "";"";"";"" +- +- ;;; +- ;;; +- ;;; +- ;;; +- +- +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- +- ;;; +- +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- +- +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- +- +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- +- +- "";"";"";"" +- "";"";"";"" +- +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- +- +- "";"";"";"" +- "";"";"";"" +- +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- +- +- ;;; +- ;;; +- +- +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- +- ;;; +- ;;; +- +- +- ;;; +- ;;; +- "";"";"";"" +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- +- ;;; +- ;;; +- ;;; +- ;;; +- +- +- ;;; +- "";"";"";"" +- "";"";"";IGNORE +- +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- +- +- "";"";"";"" +- "";"";"";"" +- +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- +- +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- +- +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- +- +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- +- +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- +- +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- +- +- ;;; +- ;;; +- +- +-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-% Èíslice +-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +- +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- +-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-% V¹echny speciální znaky (sna¾il jsem se to seøadit podle normy, ale moc se +-% mi nedaøilo) +-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +- +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- +-% znaménka +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-% Uvozovky +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- +-% ustálené znaèky +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- +-% grafické znaèky a obrazce lineární +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- +-% grafické znaèky a obrazce plo¹né +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- +-% Akcenty, nevím kam je zaøadit (nìkteré jsou brány jako uvozovky) +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-% IGNORE;IGNORE;IGNORE; % pøemístìn do uvozovek +-% IGNORE;IGNORE;IGNORE; % pøemístìn do obrazcù lineárních +- IGNORE;IGNORE;IGNORE; +-% tilda +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- +-% Neseøazeno +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-UNDEFINED IGNORE;IGNORE;IGNORE;IGNORE +- +-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-% Zbytek vìcí z unikodu +-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +- +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;IGNORE;IGNORE; +- ;IGNORE;IGNORE; +- ;IGNORE;IGNORE; +- ;IGNORE;IGNORE; +- ;IGNORE;IGNORE; +- ;IGNORE;IGNORE; +- ;IGNORE;IGNORE; +- ;IGNORE;IGNORE; +- ;IGNORE;IGNORE; +- ;IGNORE;IGNORE; +- ;IGNORE;IGNORE; +- ;IGNORE;IGNORE; +- ;IGNORE;IGNORE; +- ;IGNORE;IGNORE; +- ;IGNORE;IGNORE; +- ;IGNORE;IGNORE; +- ;IGNORE;IGNORE; +- ;IGNORE;IGNORE; +- ;IGNORE;IGNORE; +- ;IGNORE;IGNORE; +- ;IGNORE;IGNORE; +- ;IGNORE;IGNORE; +- ;IGNORE;IGNORE; +- ;IGNORE;IGNORE; +- ;IGNORE;IGNORE; +- ;IGNORE;IGNORE; +- ;IGNORE;IGNORE; +- +-% Arabic collating +- +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- +- IGNORE;IGNORE;; +- IGNORE;IGNORE;; +- IGNORE;IGNORE;; +- IGNORE;IGNORE;; +- IGNORE;IGNORE;; +- IGNORE;IGNORE;; +- IGNORE;IGNORE;; +- IGNORE;IGNORE;; +- IGNORE;IGNORE;; +- +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- +- "";"";"";"" +- "";"";"";"" +- "";"";"";"" +- "";"";"";"" +- "";"";"";"" +- "";"";"";"" +- "";"";"";"" +- "";"";"";"" +- +-% katakana/hiragana sorting +-% base is katakana, as this is present in most charsets +-% normal before voiced before semi-voiced +-% small vocals before normal vocals +-% katakana before hiragana +- +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- ;;IGNORE; +- +-order_end ++reorder-end + + END LC_COLLATE + +@@ -2449,6 +372,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + + END LC_TIME + +diff -ru glibc-2.3.5/localedata/locales/cy_GB glibc-old/localedata/locales/cy_GB +--- glibc-2.3.5/localedata/locales/cy_GB 2004-09-28 00:37:33.000000000 -0400 ++++ glibc-old/localedata/locales/cy_GB 2005-11-30 16:35:34.000000000 -0500 +@@ -245,11 +245,13 @@ + "";/ + "";/ + "" +-d_t_fmt "" ++d_t_fmt "" + d_fmt "" + t_fmt "" + am_pm "";"" + t_fmt_ampm "" ++% FIXME: found in CLDR ++first_weekday 1 + END LC_TIME + + LC_MESSAGES +diff -ru glibc-2.3.5/localedata/locales/da_DK glibc-old/localedata/locales/da_DK +--- glibc-2.3.5/localedata/locales/da_DK 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/da_DK 2005-11-30 16:35:34.000000000 -0500 +@@ -55,2082 +55,79 @@ + END LC_IDENTIFICATION + + LC_COLLATE ++copy "iso14651_t1" ++ + collating-element from "" + collating-element from "" + collating-element from "" + collating-element from "" ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++ ++reorder-after ++ ++ ++ ++ ++reorder-after ++ ++ ++ + +-% Base collation scheme: 1994-03-22 +- +-% Ordering algorithm: +-% 1. Spaces and hyphen (but not soft +-% hyphen) before punctuation +-% characters, punctuation characters +-% before numbers, +-% numbers before letters. +-% 2. Letters with diacritical marks are +-% members of equivalence classes +-% 3. A distinction is made with regards +-% to case as noted below. +-% 4. Special characters are ignored +-% when comparing letters, but then +-% they are considered +-% 5. The alphabets are sorted in order +-% of first appearance in ISO 10646: +-% Latin, Greek, Cyrillic, etc. +-% +-% According to Greek specifications, +-% the steps 2. and 3. above are reversed +-% for the Greek script +- +-% collating symbols +- +-% The collating symbol naming is +-% mostly taken from ISO 10646-1, +-% for example the case and accent +-% names are from this standard. +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-% and +-% are for cases like Danish +-% and Spanish being treated +-% as one letter. +- +-% The ...... collating +-% symbols have defined weights as +-% the last character in a group of +-% Latin letters. They are used +-% to specify deltas by locales using +-% a locale as the default ordering +-% and by "replace-after" statements +-% specifying the changed placement +-% in an ordering of a character. +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-% letter;accent;case;specials +- +-order_start forward;backward/ +- ;forward;position +- +-% or letters first: +- +- +- +- +- +- +-% Accents: +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ;;;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-<"=> IGNORE;IGNORE;IGNORE;<"=> +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-UNDEFINED IGNORE;IGNORE;IGNORE +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- + % and are treated as in Danish +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ + % is a separate letter in Danish +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE + % is a separate letter in Danish +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE + % is a separate letter in Danish +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- +-% Arabic collating +- +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- +-% katakana/hiragana sorting +-% base is katakana, as this is present in most charsets +-% normal before voiced before semi-voiced +-% small vocals before normal vocals +-% katakana before hiragana +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +-order_end ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++% Present in iso14651_t1, but these definitions seem to have been ++% removed from latest iso14651 tables. ++reorder-after ++ "";"";"";IGNORE ++ "";"";"";IGNORE ++ ++reorder-after ++ ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE + ++reorder-end + END LC_COLLATE + + LC_CTYPE +@@ -2212,6 +209,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_MESSAGES +diff -ru glibc-2.3.5/localedata/locales/de_AT glibc-old/localedata/locales/de_AT +--- glibc-2.3.5/localedata/locales/de_AT 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/de_AT 2005-11-30 16:35:34.000000000 -0500 +@@ -121,6 +121,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/de_BE glibc-old/localedata/locales/de_BE +--- glibc-2.3.5/localedata/locales/de_BE 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/de_BE 2005-11-30 16:35:34.000000000 -0500 +@@ -119,6 +119,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/de_DE glibc-old/localedata/locales/de_DE +--- glibc-2.3.5/localedata/locales/de_DE 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/de_DE 2005-11-30 16:35:34.000000000 -0500 +@@ -57,6 +57,19 @@ + % LATIN SMALL LETTER A WITH RING ABOVE. + "";"" + ++% The following strange first-level transliteration derive from the use ++% U201E and U201C as "correct" quoting characters. These two characters ++% do not really belong together. The result is that somebody who uses ++% U201C and U201D will get the incorrect U00AB / U00BB sequences. ++% LEFT DOUBLE QUOTATION MARK ++ ; ++% RIGHT DOUBLE QUOTATION MARK ++ ; ++% DOUBLE LOW-9 QUOTATION MARK ++ ;"" ++% DOUBLE HIGH-REVERSED-9 QUOTATION MARK ++ ; ++ + translit_end + + END LC_CTYPE +@@ -105,7 +118,7 @@ + "";/ + "";/ + "" +-week 7;19971201;4 ++% week 7;19971201;4 + abmon "";"";/ + "";"";/ + "";"";/ +@@ -137,9 +150,11 @@ + % "%T" + t_fmt "" + t_fmt_ampm "" +-date_fmt "/ ++date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_MESSAGES +diff -ru glibc-2.3.5/localedata/locales/de_LU glibc-old/localedata/locales/de_LU +--- glibc-2.3.5/localedata/locales/de_LU 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/de_LU 2005-11-30 16:35:34.000000000 -0500 +@@ -119,6 +119,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/el_GR glibc-old/localedata/locales/el_GR +--- glibc-2.3.5/localedata/locales/el_GR 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/el_GR 2005-11-30 16:35:34.000000000 -0500 +@@ -112,14 +112,31 @@ + "";/ + "";/ + "" +-d_t_fmt "" ++% Greece uses 12h time: http://publications.eu.int/code/el/el-4100800el.htm ++% Appropriate date and time representation (%c) ++% "%a %d %b %Y %r %Z" ++d_t_fmt "" ++% ++% Appropriate date representation (%x) ++% "%d/%m/%Y" + d_fmt "" +-t_fmt "" +-am_pm "";"" +-t_fmt_ampm "" +-date_fmt "/ +-/ +-" ++% ++% Appropriate time representation (%X) ++% "%r" ++t_fmt "" ++% ++% Strings for AM/PM ++% ++am_pm "";"" ++% ++% Appropriate AM/PM time representation (%r) ++% "%r" ++t_fmt_ampm "" ++% ++% Appropriate date representation (date(1)) "%a %d %b %Y %r %Z" ++date_fmt "" ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/en_AU glibc-old/localedata/locales/en_AU +--- glibc-2.3.5/localedata/locales/en_AU 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/en_AU 2005-11-30 16:35:34.000000000 -0500 +@@ -117,6 +117,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 1 + END LC_TIME + + LC_MESSAGES +diff -ru glibc-2.3.5/localedata/locales/en_CA glibc-old/localedata/locales/en_CA +--- glibc-2.3.5/localedata/locales/en_CA 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/en_CA 2005-11-30 16:35:34.000000000 -0500 +@@ -49,2067 +49,20 @@ + END LC_IDENTIFICATION + + LC_COLLATE ++copy "iso14651_t1" + +-% Base collation scheme: 1994-03-22 ++reorder-after ++ + +-% Ordering algorithm: +-% 1. Spaces and hyphen (but not soft +-% hyphen) before punctuation +-% characters, punctuation characters +-% before numbers, +-% numbers before letters. +-% 2. Letters with diacritical marks are +-% members of equivalence classes +-% 3. A distinction is made with regards +-% to case as noted below. +-% 4. Special characters are ignored +-% when comparing letters, but then +-% they are considered +-% 5. The alphabets are sorted in order +-% of first appearance in ISO 10646: +-% Latin, Greek, Cyrillic, etc. +-% +-% According to Greek specifications, +-% the steps 2. and 3. above are reversed +-% for the Greek script ++% Present in iso14651_t1, but these definitions seem to have been ++% removed from latest iso14651 tables. ++reorder-after ++ "";"";"";IGNORE + +-% collating symbols ++reorder-after ++ "";"";"";IGNORE + +-% The collating symbol naming is +-% mostly taken from ISO 10646-1, +-% for example the case and accent +-% names are from this standard. +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-% and +-% are for cases like Danish +-% and Spanish being treated +-% as one letter. +- +-% The ...... collating +-% symbols have defined weights as +-% the last character in a group of +-% Latin letters. They are used +-% to specify deltas by locales using +-% a locale as the default ordering +-% and by "replace-after" statements +-% specifying the changed placement +-% in an ordering of a character. +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-% letter;accent;case;specials +- +-order_start forward;backward/ +- ;forward;position +- +-% or letters first: +- +- +- +- +- +- +-% Accents: +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ;;;IGNORE +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-<"=> IGNORE;IGNORE;IGNORE;<"=> +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-UNDEFINED IGNORE;IGNORE;IGNORE +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- +-% Arabic collating +- +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- +-% katakana/hiragana sorting +-% base is katakana, as this is present in most charsets +-% normal before voiced before semi-voiced +-% small vocals before normal vocals +-% katakana before hiragana +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +-order_end ++reorder-end + + END LC_COLLATE + +@@ -2179,6 +132,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 1 + END LC_TIME + + LC_MESSAGES +diff -ru glibc-2.3.5/localedata/locales/en_DK glibc-old/localedata/locales/en_DK +--- glibc-2.3.5/localedata/locales/en_DK 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/en_DK 2005-11-30 16:35:34.000000000 -0500 +@@ -122,6 +122,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_MESSAGES +diff -ru glibc-2.3.5/localedata/locales/en_GB glibc-old/localedata/locales/en_GB +--- glibc-2.3.5/localedata/locales/en_GB 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/en_GB 2005-11-30 16:35:34.000000000 -0500 +@@ -117,6 +117,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 1 + END LC_TIME + + LC_MESSAGES +diff -ru glibc-2.3.5/localedata/locales/en_HK glibc-old/localedata/locales/en_HK +--- glibc-2.3.5/localedata/locales/en_HK 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/en_HK 2005-11-30 16:35:34.000000000 -0500 +@@ -133,6 +133,8 @@ + % Appropriate 12 h time representation (%r) + t_fmt_ampm "" + % ++% FIXME ++first_weekday 1 + END LC_TIME + + +diff -ru glibc-2.3.5/localedata/locales/en_IE glibc-old/localedata/locales/en_IE +--- glibc-2.3.5/localedata/locales/en_IE 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/en_IE 2005-11-30 16:35:34.000000000 -0500 +@@ -115,6 +115,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_MESSAGES +diff -ru glibc-2.3.5/localedata/locales/en_IN glibc-old/localedata/locales/en_IN +--- glibc-2.3.5/localedata/locales/en_IN 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/en_IN 2005-11-30 16:35:34.000000000 -0500 +@@ -132,6 +132,8 @@ + % Appropriate 12 h time representation (%r) + t_fmt_ampm "" + % ++% FIXME ++first_weekday 1 + END LC_TIME + + +diff -ru glibc-2.3.5/localedata/locales/en_NZ glibc-old/localedata/locales/en_NZ +--- glibc-2.3.5/localedata/locales/en_NZ 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/en_NZ 2005-11-30 16:35:34.000000000 -0500 +@@ -116,6 +116,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 1 + END LC_TIME + + LC_MESSAGES +diff -ru glibc-2.3.5/localedata/locales/en_PH glibc-old/localedata/locales/en_PH +--- glibc-2.3.5/localedata/locales/en_PH 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/en_PH 2005-11-30 16:35:34.000000000 -0500 +@@ -133,6 +133,8 @@ + % Appropriate 12 h time representation (%r) + t_fmt_ampm "" + % ++% FIXME: found in CLDR ++first_weekday 1 + END LC_TIME + + +diff -ru glibc-2.3.5/localedata/locales/en_SG glibc-old/localedata/locales/en_SG +--- glibc-2.3.5/localedata/locales/en_SG 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/en_SG 2005-11-30 16:35:34.000000000 -0500 +@@ -131,6 +131,8 @@ + % Appropriate 12 h time representation (%r) + t_fmt_ampm "" + % ++% FIXME: found in CLDR ++first_weekday 1 + END LC_TIME + + +diff -ru glibc-2.3.5/localedata/locales/en_US glibc-old/localedata/locales/en_US +--- glibc-2.3.5/localedata/locales/en_US 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/en_US 2005-11-30 16:35:34.000000000 -0500 +@@ -81,7 +81,7 @@ + "";/ + "" + +-week 7;19971201;4 ++% week 7;19971201;4 + abmon "";"";/ + "";"";/ + "";"";/ +@@ -100,7 +100,6 @@ + "";/ + "";/ + "" +-am_pm "";"" + % Appropriate date and time representation (%c) + % "%a %d %b %Y %r %Z" + d_t_fmt "" +@@ -126,6 +125,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 1 + END LC_TIME + + LC_MESSAGES +@@ -152,7 +153,7 @@ + postal_fmt "/ + / + / +-/ ++/ + " + country_name "" + country_post "" +diff -ru glibc-2.3.5/localedata/locales/en_ZA glibc-old/localedata/locales/en_ZA +--- glibc-2.3.5/localedata/locales/en_ZA 2004-12-14 15:59:44.000000000 -0500 ++++ glibc-old/localedata/locales/en_ZA 2005-11-30 16:35:34.000000000 -0500 +@@ -8,8 +8,8 @@ + % Fax: +27 12 3430389 + % Language: en + % Territory: ZA +-% Revision: 1.2 +-% Date: 2003-10-27 ++% Revision: 1.2.1 ++% Date: 2005-10-13 + % Users: general + % Repertoiremap: mnemonic,ds + % Charset: ISO-8859-1 +@@ -17,6 +17,9 @@ + % for commercial purposes. + % + % Changelog ++% 1.2.1 (2005-10-13): ++% 2005-10-12 Dwayne Bailey ++% - Update contact information + % 1.2 (2004-10-27): + % 2004-10-27 Dwayne Bailey + % - Remove .* from LC_MESSAGES yes/noexpr +@@ -45,15 +48,15 @@ + address "Box 28364, Sunnyside, 0132, South Africa" + contact "Dwayne Bailey" + email "dwayne@translate.org.za" +-tel "+27 12 343 0389" +-fax "+27 12 343 0389" ++tel "+27 12 460 1095" ++fax "+27 12 460 1095" + language "English" + territory "South Africa" + % audience "" + % application "" + abbreviation "Translate.org.za" +-revision "1.2" +-date "2003-10-27" ++revision "1.2.1" ++date "2005-10-13" + % + category "en_ZA:2003";LC_IDENTIFICATION + category "en_ZA:2000";LC_CTYPE +@@ -199,6 +202,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 1 + END LC_TIME + + LC_MESSAGES +diff -ru glibc-2.3.5/localedata/locales/es_AR glibc-old/localedata/locales/es_AR +--- glibc-2.3.5/localedata/locales/es_AR 2005-11-30 18:53:46.000000000 -0500 ++++ glibc-old/localedata/locales/es_AR 2005-11-30 16:35:34.000000000 -0500 +@@ -122,6 +122,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/es_BO glibc-old/localedata/locales/es_BO +--- glibc-2.3.5/localedata/locales/es_BO 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/es_BO 2005-11-30 16:35:34.000000000 -0500 +@@ -122,6 +122,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/es_CL glibc-old/localedata/locales/es_CL +--- glibc-2.3.5/localedata/locales/es_CL 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/es_CL 2005-11-30 16:35:34.000000000 -0500 +@@ -122,6 +122,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/es_CO glibc-old/localedata/locales/es_CO +--- glibc-2.3.5/localedata/locales/es_CO 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/es_CO 2005-11-30 16:35:34.000000000 -0500 +@@ -122,6 +122,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/es_CR glibc-old/localedata/locales/es_CR +--- glibc-2.3.5/localedata/locales/es_CR 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/es_CR 2005-11-30 16:35:34.000000000 -0500 +@@ -113,6 +113,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/es_DO glibc-old/localedata/locales/es_DO +--- glibc-2.3.5/localedata/locales/es_DO 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/es_DO 2005-11-30 16:35:34.000000000 -0500 +@@ -122,6 +122,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/es_EC glibc-old/localedata/locales/es_EC +--- glibc-2.3.5/localedata/locales/es_EC 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/es_EC 2005-11-30 16:35:34.000000000 -0500 +@@ -122,6 +122,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/es_ES glibc-old/localedata/locales/es_ES +--- glibc-2.3.5/localedata/locales/es_ES 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/es_ES 2005-11-30 16:35:34.000000000 -0500 +@@ -11,8 +11,8 @@ + % Fax: +45 - 33256543 + % Language: es + % Territory: ES +-% Revision: 4.4 +-% Date: 1997-03-18 ++% Revision: 4.5 ++% Date: 2004-06-23 + % Application: general + % Users: general + % Repertoiremap: mnemonic.ds +@@ -48,2067 +48,19 @@ + END LC_IDENTIFICATION + + LC_COLLATE ++copy "iso14651_t1" + +-% Base collation scheme: 1994-03-22 ++collating-symbol + +-% Ordering algorithm: +-% 1. Spaces and hyphen (but not soft +-% hyphen) before punctuation +-% characters, punctuation characters +-% before numbers, +-% numbers before letters. +-% 2. Letters with diacritical marks are +-% members of equivalence classes +-% 3. A distinction is made with regards +-% to case as noted below. +-% 4. Special characters are ignored +-% when comparing letters, but then +-% they are considered +-% 5. The alphabets are sorted in order +-% of first appearance in ISO 10646: +-% Latin, Greek, Cyrillic, etc. +-% +-% According to Greek specifications, +-% the steps 2. and 3. above are reversed +-% for the Greek script +- +-% collating symbols +- +-% The collating symbol naming is +-% mostly taken from ISO 10646-1, +-% for example the case and accent +-% names are from this standard. +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-% and +-% are for cases like Danish +-% and Spanish being treated +-% as one letter. +- +-% The ...... collating +-% symbols have defined weights as +-% the last character in a group of +-% Latin letters. They are used +-% to specify deltas by locales using +-% a locale as the default ordering +-% and by "replace-after" statements +-% specifying the changed placement +-% in an ordering of a character. +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-% letter;accent;case;specials +- +-order_start forward;backward/ +- ;forward;position +- +-% or letters first: +- +- +- +- +- +- +-% Accents: +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ;;;IGNORE +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-<"=> IGNORE;IGNORE;IGNORE;<"=> +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-UNDEFINED IGNORE;IGNORE;IGNORE +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- +-% Arabic collating +- +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- +-% katakana/hiragana sorting +-% base is katakana, as this is present in most charsets +-% normal before voiced before semi-voiced +-% small vocals before normal vocals +-% katakana before hiragana ++reorder-after ++ + +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE ++reorder-after ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE + +-order_end ++reorder-end + + END LC_COLLATE + +@@ -2183,6 +135,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/es_GT glibc-old/localedata/locales/es_GT +--- glibc-2.3.5/localedata/locales/es_GT 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/es_GT 2005-11-30 16:35:34.000000000 -0500 +@@ -122,6 +122,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/es_HN glibc-old/localedata/locales/es_HN +--- glibc-2.3.5/localedata/locales/es_HN 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/es_HN 2005-11-30 16:35:34.000000000 -0500 +@@ -122,6 +122,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/es_MX glibc-old/localedata/locales/es_MX +--- glibc-2.3.5/localedata/locales/es_MX 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/es_MX 2005-11-30 16:35:34.000000000 -0500 +@@ -122,6 +122,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/es_NI glibc-old/localedata/locales/es_NI +--- glibc-2.3.5/localedata/locales/es_NI 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/es_NI 2005-11-30 16:35:34.000000000 -0500 +@@ -113,6 +113,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/es_PA glibc-old/localedata/locales/es_PA +--- glibc-2.3.5/localedata/locales/es_PA 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/es_PA 2005-11-30 16:35:34.000000000 -0500 +@@ -122,6 +122,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/es_PE glibc-old/localedata/locales/es_PE +--- glibc-2.3.5/localedata/locales/es_PE 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/es_PE 2005-11-30 16:35:34.000000000 -0500 +@@ -122,6 +122,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/es_PR glibc-old/localedata/locales/es_PR +--- glibc-2.3.5/localedata/locales/es_PR 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/es_PR 2005-11-30 16:35:34.000000000 -0500 +@@ -113,6 +113,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/es_PY glibc-old/localedata/locales/es_PY +--- glibc-2.3.5/localedata/locales/es_PY 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/es_PY 2005-11-30 16:35:34.000000000 -0500 +@@ -122,6 +122,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/es_SV glibc-old/localedata/locales/es_SV +--- glibc-2.3.5/localedata/locales/es_SV 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/es_SV 2005-11-30 16:35:34.000000000 -0500 +@@ -122,6 +122,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/es_US glibc-old/localedata/locales/es_US +--- glibc-2.3.5/localedata/locales/es_US 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/es_US 2005-11-30 16:35:34.000000000 -0500 +@@ -48,6 +48,8 @@ + END LC_IDENTIFICATION + + LC_COLLATE ++copy "iso14651_t1" ++ + collating-element from "" + collating-element from "" + collating-element from "" +@@ -57,2074 +59,49 @@ + collating-element from "" + collating-element from "" + +-% Base collation scheme: 1994-03-22 ++collating-symbol ++collating-symbol ++collating-symbol ++ ++collating-symbol ++collating-symbol ++ ++reorder-after ++ ++ ++ ++reorder-after ++ ++ ++reorder-after ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ++reorder-after ++ ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE + +-% Ordering algorithm: +-% 1. Spaces and hyphen (but not soft +-% hyphen) before punctuation +-% characters, punctuation characters +-% before numbers, +-% numbers before letters. +-% 2. Letters with diacritical marks are +-% members of equivalence classes +-% 3. A distinction is made with regards +-% to case as noted below. +-% 4. Special characters are ignored +-% when comparing letters, but then +-% they are considered +-% 5. The alphabets are sorted in order +-% of first appearance in ISO 10646: +-% Latin, Greek, Cyrillic, etc. +-% +-% According to Greek specifications, +-% the steps 2. and 3. above are reversed +-% for the Greek script +- +-% collating symbols +- +-% The collating symbol naming is +-% mostly taken from ISO 10646-1, +-% for example the case and accent +-% names are from this standard. +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-% and +-% are for cases like Danish +-% and Spanish being treated +-% as one letter. +- +-% The ...... collating +-% symbols have defined weights as +-% the last character in a group of +-% Latin letters. They are used +-% to specify deltas by locales using +-% a locale as the default ordering +-% and by "replace-after" statements +-% specifying the changed placement +-% in an ordering of a character. +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-% letter;accent;case;specials +- +-order_start forward;backward/ +- ;forward;position +- +-% or letters first: +- +- +- +- +- +- +-% Accents: +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ;;;IGNORE +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-<"=> IGNORE;IGNORE;IGNORE;<"=> +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-UNDEFINED IGNORE;IGNORE;IGNORE +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- +-% Arabic collating +- +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- +-% katakana/hiragana sorting +-% base is katakana, as this is present in most charsets +-% normal before voiced before semi-voiced +-% small vocals before normal vocals +-% katakana before hiragana +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE + +-order_end ++reorder-end + + END LC_COLLATE + +@@ -2197,6 +174,8 @@ + date_fmt "/ + / + " ++% FIXME ++first_weekday 1 + END LC_TIME + + LC_PAPER +@@ -2220,12 +199,16 @@ + END LC_NAME + + LC_ADDRESS +-postal_fmt "/ +-/ +-/ +-/ ++postal_fmt "/ ++/ ++/ ++/ + " ++country_name "" ++country_post "" + country_ab2 "" + country_ab3 "" + country_num 840 ++country_car "" ++country_isbn 0 + END LC_ADDRESS +diff -ru glibc-2.3.5/localedata/locales/es_UY glibc-old/localedata/locales/es_UY +--- glibc-2.3.5/localedata/locales/es_UY 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/es_UY 2005-11-30 16:35:34.000000000 -0500 +@@ -122,6 +122,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/es_VE glibc-old/localedata/locales/es_VE +--- glibc-2.3.5/localedata/locales/es_VE 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/es_VE 2005-11-30 16:35:34.000000000 -0500 +@@ -122,6 +122,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/et_EE glibc-old/localedata/locales/et_EE +--- glibc-2.3.5/localedata/locales/et_EE 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/et_EE 2005-11-30 16:35:34.000000000 -0500 +@@ -18,6 +18,7 @@ + % Users: general + % Repertoiremap: mnemonic.ds + % Charset: ISO-8859-15 ++% Change default et_EE locale encoding to ISO-8859-15 + % Distribution and use is free, also + % for commercial purposes. + +@@ -55,2067 +56,46 @@ + END LC_IDENTIFICATION + + LC_COLLATE ++define UPPERCASE_FIRST ++copy "iso14651_t1" + +-% Base collation scheme: 1994-03-22 ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++ ++reorder-after ++ ++ ++ ++reorder-after ++ ++ ++ ++ ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE + +-% Ordering algorithm: +-% 1. Spaces and hyphen (but not soft +-% hyphen) before punctuation +-% characters, punctuation characters +-% before numbers, +-% numbers before letters. +-% 2. Letters with diacritical marks are +-% members of equivalence classes +-% 3. A distinction is made with regards +-% to case as noted below. +-% 4. Special characters are ignored +-% when comparing letters, but then +-% they are considered +-% 5. The alphabets are sorted in order +-% of first appearance in ISO 10646: +-% Latin, Greek, Cyrillic, etc. +-% +-% According to Greek specifications, +-% the steps 2. and 3. above are reversed +-% for the Greek script +- +-% collating symbols +- +-% The collating symbol naming is +-% mostly taken from ISO 10646-1, +-% for example the case and accent +-% names are from this standard. +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-% and +-% are for cases like Danish +-% and Spanish being treated +-% as one letter. +- +-% The ...... collating +-% symbols have defined weights as +-% the last character in a group of +-% Latin letters. They are used +-% to specify deltas by locales using +-% a locale as the default ordering +-% and by "replace-after" statements +-% specifying the changed placement +-% in an ordering of a character. +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-% letter;accent;case;specials +- +-order_start forward;backward/ +- ;forward;position +- +-% or letters first: +- +- +- +- +- +- +-% Accents: +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ;;;IGNORE +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-<"=> IGNORE;IGNORE;IGNORE;<"=> +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-UNDEFINED IGNORE;IGNORE;IGNORE +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;; +- ;; +- ;; +- ;; +- ;; +- ;; +- ;; +- ;; +- ;; +- ;; +- ;;;IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;; +- ;; +- ;; +- ;; +- ;; +- ;; +- ;; +- ;; +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- +-% Arabic collating +- +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- +-% katakana/hiragana sorting +-% base is katakana, as this is present in most charsets +-% normal before voiced before semi-voiced +-% small vocals before normal vocals +-% katakana before hiragana +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +-order_end ++reorder-end + + END LC_COLLATE + +@@ -2192,6 +172,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_MESSAGES +diff -ru glibc-2.3.5/localedata/locales/eu_ES glibc-old/localedata/locales/eu_ES +--- glibc-2.3.5/localedata/locales/eu_ES 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/eu_ES 2005-11-30 16:35:34.000000000 -0500 +@@ -131,6 +131,7 @@ + date_fmt "/ + / + " ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/fi_FI glibc-old/localedata/locales/fi_FI +--- glibc-2.3.5/localedata/locales/fi_FI 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/fi_FI 2005-11-30 16:35:34.000000000 -0500 +@@ -52,2068 +52,74 @@ + END LC_IDENTIFICATION + + LC_COLLATE ++copy "iso14651_t1" + +-% Base collation scheme: 1994-03-22 ++collating-symbol ++collating-symbol ++collating-symbol ++ ++reorder-after ++ ++ ++ ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;; ++ ;;; ++ ;;; ++ ;;; ++ ;;; ++ ;;; ++ ;;; ++ ;;; ++ ;;; ++ ;;; ++ ;;; ++ ;;; ++ ;;; ++ ;;; ++ ;;; ++ ;;; ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ++% Present in iso14651_t1, but these definitions seem to have been ++% removed from latest iso14651 tables. ++reorder-after ++ "";"";"";IGNORE ++ "";"";"";IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE + +-% Ordering algorithm: +-% 1. Spaces and hyphen (but not soft +-% hyphen) before punctuation +-% characters, punctuation characters +-% before numbers, +-% numbers before letters. +-% 2. Letters with diacritical marks are +-% members of equivalence classes +-% 3. A distinction is made with regards +-% to case as noted below. +-% 4. Special characters are ignored +-% when comparing letters, but then +-% they are considered +-% 5. The alphabets are sorted in order +-% of first appearance in ISO 10646: +-% Latin, Greek, Cyrillic, etc. +-% +-% According to Greek specifications, +-% the steps 2. and 3. above are reversed +-% for the Greek script +- +-% collating symbols +- +-% The collating symbol naming is +-% mostly taken from ISO 10646-1, +-% for example the case and accent +-% names are from this standard. +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-% and +-% are for cases like Danish +-% and Spanish being treated +-% as one letter. +- +-% The ...... collating +-% symbols have defined weights as +-% the last character in a group of +-% Latin letters. They are used +-% to specify deltas by locales using +-% a locale as the default ordering +-% and by "replace-after" statements +-% specifying the changed placement +-% in an ordering of a character. +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-% letter;accent;case;specials +- +-order_start forward;backward/ +- ;forward;position +- +-% or letters first: +- +-% before letters +- +- +- +- +- +-% Accents: +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ;;;IGNORE +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-<"=> IGNORE;IGNORE;IGNORE;<"=> +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-UNDEFINED IGNORE;IGNORE;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- ;;; +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- +-% Arabic collating +- +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- +-% katakana/hiragana sorting +-% base is katakana, as this is present in most charsets +-% normal before voiced before semi-voiced +-% small vocals before normal vocals +-% katakana before hiragana +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +-order_end ++reorder-end + + END LC_COLLATE + +@@ -2188,9 +194,8 @@ + t_fmt "" + am_pm "";"" + t_fmt_ampm "" +-date_fmt "/ +-/ +-" ++date_fmt "/ ++" + first_weekday 2 % Monday + first_workday 2 % Monday + END LC_TIME +diff -ru glibc-2.3.5/localedata/locales/fo_FO glibc-old/localedata/locales/fo_FO +--- glibc-2.3.5/localedata/locales/fo_FO 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/fo_FO 2005-11-30 16:35:34.000000000 -0500 +@@ -95,14 +95,18 @@ + "";/ + "";/ + "" +-d_t_fmt "" ++d_t_fmt "/ ++/ ++" + d_fmt "" + t_fmt "" + am_pm "";"" + t_fmt_ampm "" +-date_fmt "/ +-/ +-" ++date_fmt "/ ++/ ++/ ++/ ++" + END LC_TIME + + LC_MESSAGES +diff -ru glibc-2.3.5/localedata/locales/fr_BE glibc-old/localedata/locales/fr_BE +--- glibc-2.3.5/localedata/locales/fr_BE 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/fr_BE 2005-11-30 16:35:34.000000000 -0500 +@@ -42,6 +42,7 @@ + category "fr_BE:2000";LC_NAME + category "fr_BE:2000";LC_ADDRESS + category "fr_BE:2000";LC_TELEPHONE ++category "fr_BE:2000";LC_MEASUREMENT + + END LC_IDENTIFICATION + +@@ -79,7 +80,7 @@ + LC_NUMERIC + decimal_point "" + thousands_sep "" +-grouping 0;0 ++grouping 3;3 + END LC_NUMERIC + + LC_TIME +@@ -117,9 +118,11 @@ + t_fmt "" + am_pm "";"" + t_fmt_ampm "" +-date_fmt "/ +-/ +-" ++date_fmt "/ ++/ ++/ ++" ++first_weekday 2 + END LC_TIME + + LC_PAPER +@@ -142,8 +145,7 @@ + END LC_MEASUREMENT + + LC_NAME +-name_fmt "/ +-" ++copy "fr_FR" + END LC_NAME + + LC_ADDRESS +@@ -155,4 +157,13 @@ + country_ab2 "" + country_ab3 "" + country_num 056 ++country_name "" ++country_car "" ++% FIXME ++country_post "" ++country_isbn 2 ++lang_name "" ++lang_ab "" ++lang_term "" ++lang_lib "" + END LC_ADDRESS +diff -ru glibc-2.3.5/localedata/locales/fr_CA glibc-old/localedata/locales/fr_CA +--- glibc-2.3.5/localedata/locales/fr_CA 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/fr_CA 2005-11-30 16:35:34.000000000 -0500 +@@ -43,6 +43,7 @@ + category "fr_CA:2000";LC_NAME + category "fr_CA:2000";LC_ADDRESS + category "fr_CA:2000";LC_TELEPHONE ++category "fr_CA:2000";LC_MEASUREMENT + + END LC_IDENTIFICATION + +@@ -63,7 +64,7 @@ + int_curr_symbol "" + currency_symbol "" + mon_decimal_point "" +-mon_thousands_sep "" ++mon_thousands_sep "" + mon_grouping 3;3 + positive_sign "" + negative_sign "" +@@ -79,8 +80,8 @@ + + LC_NUMERIC + decimal_point "" +-thousands_sep "" +-grouping 0;0 ++thousands_sep "" ++grouping 3;3 + END LC_NUMERIC + + LC_TIME +@@ -118,9 +119,11 @@ + t_fmt "" + am_pm "";"" + t_fmt_ampm "" +-date_fmt "/ +-/ +-" ++date_fmt "/ ++/ ++/ ++" ++first_weekday 1 + END LC_TIME + + LC_PAPER +@@ -136,8 +139,7 @@ + END LC_MEASUREMENT + + LC_NAME +-name_fmt "/ +-" ++copy "fr_FR" + END LC_NAME + + LC_ADDRESS +@@ -149,4 +151,12 @@ + country_ab2 "" + country_ab3 "" + country_num 124 ++country_name "" ++country_car "" ++country_post "" ++country_isbn 2 ++lang_name "" ++lang_ab "" ++lang_term "" ++lang_lib "" + END LC_ADDRESS +diff -ru glibc-2.3.5/localedata/locales/fr_CH glibc-old/localedata/locales/fr_CH +--- glibc-2.3.5/localedata/locales/fr_CH 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/fr_CH 2005-11-30 16:35:34.000000000 -0500 +@@ -43,6 +43,7 @@ + category "fr_CH:2000";LC_NAME + category "fr_CH:2000";LC_ADDRESS + category "fr_CH:2000";LC_TELEPHONE ++category "fr_CH:2000";LC_MEASUREMENT + + END LC_IDENTIFICATION + +@@ -64,9 +65,9 @@ + END LC_MONETARY + + LC_NUMERIC +-decimal_point "" +-thousands_sep "" +-grouping 0;0 ++decimal_point "" ++thousands_sep "" ++grouping 3;3 + END LC_NUMERIC + + LC_TIME +@@ -104,9 +105,11 @@ + t_fmt "" + am_pm "";"" + t_fmt_ampm "" +-date_fmt "/ +-/ +-" ++date_fmt "/ ++/ ++/ ++" ++first_weekday 2 + END LC_TIME + + LC_PAPER +@@ -128,8 +131,7 @@ + END LC_MEASUREMENT + + LC_NAME +-name_fmt "/ +-" ++copy "fr_FR" + END LC_NAME + + LC_ADDRESS +@@ -141,4 +143,12 @@ + country_ab2 "" + country_ab3 "" + country_num 756 ++country_name "" ++country_car "" ++country_post "" ++country_isbn 2 ++lang_name "" ++lang_ab "" ++lang_term "" ++lang_lib "" + END LC_ADDRESS +diff -ru glibc-2.3.5/localedata/locales/fr_FR glibc-old/localedata/locales/fr_FR +--- glibc-2.3.5/localedata/locales/fr_FR 2005-11-30 18:53:48.000000000 -0500 ++++ glibc-old/localedata/locales/fr_FR 2005-11-30 16:35:34.000000000 -0500 +@@ -42,6 +42,7 @@ + category "fr_FR:2000";LC_NAME + category "fr_FR:2000";LC_ADDRESS + category "fr_FR:2000";LC_TELEPHONE ++category "fr_FR:2000";LC_MEASUREMENT + + END LC_IDENTIFICATION + +@@ -71,7 +72,7 @@ + int_curr_symbol "" + currency_symbol "" + mon_decimal_point "" +-mon_thousands_sep "" ++mon_thousands_sep "" + mon_grouping 3;3 + positive_sign "" + negative_sign "" +@@ -127,9 +127,11 @@ + t_fmt "" + am_pm "";"" + t_fmt_ampm "" +-date_fmt "/ +-/ +-" ++date_fmt "/ ++/ ++/ ++" ++first_weekday 2 + END LC_TIME + + LC_PAPER +@@ -152,6 +154,11 @@ + LC_NAME + name_fmt "/ + " ++name_gen "" ++name_mr "" ++name_mrs "" ++name_miss "" ++name_ms "" + END LC_NAME + + LC_ADDRESS +@@ -163,4 +170,12 @@ + country_ab2 "" + country_ab3 "" + country_num 250 ++country_name "" ++country_car "" ++country_post "" ++country_isbn 2 ++lang_name "" ++lang_ab "" ++lang_term "" ++lang_lib "" + END LC_ADDRESS +diff -ru glibc-2.3.5/localedata/locales/fr_LU glibc-old/localedata/locales/fr_LU +--- glibc-2.3.5/localedata/locales/fr_LU 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/fr_LU 2005-11-30 16:35:34.000000000 -0500 +@@ -42,6 +42,7 @@ + category "fr_LU:2000";LC_NAME + category "fr_LU:2000";LC_ADDRESS + category "fr_LU:2000";LC_TELEPHONE ++category "fr_LU:2000";LC_MEASUREMENT + + END LC_IDENTIFICATION + +@@ -62,7 +63,7 @@ + int_curr_symbol "" + currency_symbol "" + mon_decimal_point "" +-mon_thousands_sep "" ++mon_thousands_sep "" + mon_grouping 3;3 + positive_sign "" + negative_sign "" +@@ -78,8 +79,8 @@ + + LC_NUMERIC + decimal_point "" +-thousands_sep "" +-grouping 0;0 ++thousands_sep "" ++grouping 3;3 + END LC_NUMERIC + + LC_TIME +@@ -117,9 +118,11 @@ + t_fmt "" + am_pm "";"" + t_fmt_ampm "" +-date_fmt "/ +-/ +-" ++date_fmt "/ ++/ ++/ ++" ++first_weekday 2 + END LC_TIME + + LC_PAPER +@@ -141,8 +144,7 @@ + END LC_MEASUREMENT + + LC_NAME +-name_fmt "/ +-" ++copy "fr_FR" + END LC_NAME + + LC_ADDRESS +@@ -154,4 +156,12 @@ + country_ab2 "" + country_ab3 "" + country_num 442 ++country_name "" ++country_car "" ++country_post "" ++country_isbn 2 ++lang_name "" ++lang_ab "" ++lang_term "" ++lang_lib "" + END LC_ADDRESS +diff -ru glibc-2.3.5/localedata/locales/gez_ER glibc-old/localedata/locales/gez_ER +--- glibc-2.3.5/localedata/locales/gez_ER 2003-11-03 23:54:11.000000000 -0500 ++++ glibc-old/localedata/locales/gez_ER 2005-11-30 16:35:34.000000000 -0500 +@@ -110,7 +110,6 @@ + % country_car unknown + % country_isbn unknown, Need ISO 2108 + lang_name "" +-lang_ab "" + lang_term "" + % + % Petter Reinholdtsen reports uncommenting the below breaks compilation +diff -ru glibc-2.3.5/localedata/locales/gez_ET glibc-old/localedata/locales/gez_ET +--- glibc-2.3.5/localedata/locales/gez_ET 2003-11-03 23:55:07.000000000 -0500 ++++ glibc-old/localedata/locales/gez_ET 2005-11-30 16:35:34.000000000 -0500 +@@ -110,7 +110,6 @@ + % country_car unknown + % country_isbn unknown, Need ISO 2108 + lang_name "" +-lang_ab "" + lang_term "" + % + % Petter Reinholdtsen reports uncommenting the below breaks compilation +diff -ru glibc-2.3.5/localedata/locales/gl_ES glibc-old/localedata/locales/gl_ES +--- glibc-2.3.5/localedata/locales/gl_ES 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/gl_ES 2005-11-30 16:35:34.000000000 -0500 +@@ -121,6 +121,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/gu_IN glibc-old/localedata/locales/gu_IN +--- glibc-2.3.5/localedata/locales/gu_IN 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/gu_IN 2005-11-30 16:35:34.000000000 -0500 +@@ -157,6 +157,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 1 + END LC_TIME + + LC_MESSAGES +diff -ru glibc-2.3.5/localedata/locales/he_IL glibc-old/localedata/locales/he_IL +--- glibc-2.3.5/localedata/locales/he_IL 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/he_IL 2005-11-30 16:35:34.000000000 -0500 +@@ -119,6 +119,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 1 + END LC_TIME + + LC_MESSAGES +diff -ru glibc-2.3.5/localedata/locales/hi_IN glibc-old/localedata/locales/hi_IN +--- glibc-2.3.5/localedata/locales/hi_IN 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/hi_IN 2005-11-30 16:35:34.000000000 -0500 +@@ -152,6 +152,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 1 + END LC_TIME + + +diff -ru glibc-2.3.5/localedata/locales/hr_HR glibc-old/localedata/locales/hr_HR +--- glibc-2.3.5/localedata/locales/hr_HR 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/hr_HR 2005-11-30 16:35:34.000000000 -0500 +@@ -48,10 +48,25 @@ + END LC_IDENTIFICATION + + LC_COLLATE +-collating-element from "" +-collating-element from "" +-collating-element from "" +-collating-element from "" ++copy "iso14651_t1" ++ ++collating-symbol ++collating-symbol ++ ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++ ++collating-symbol ++collating-symbol ++collating-symbol ++ ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-element from "" + collating-element from "" + collating-element from "" + collating-element from "" +@@ -61,2078 +76,65 @@ + collating-element from "" + collating-element from "" + +-% Base collation scheme: 1994-03-22 +- +-% Ordering algorithm: +-% 1. Spaces and hyphen (but not soft +-% hyphen) before punctuation +-% characters, punctuation characters +-% before numbers, +-% numbers before letters. +-% 2. Letters with diacritical marks are +-% members of equivalence classes +-% 3. A distinction is made with regards +-% to case as noted below. +-% 4. Special characters are ignored +-% when comparing letters, but then +-% they are considered +-% 5. The alphabets are sorted in order +-% of first appearance in ISO 10646: +-% Latin, Greek, Cyrillic, etc. +-% +-% According to Greek specifications, +-% the steps 2. and 3. above are reversed +-% for the Greek script +- +-% collating symbols +- +-% The collating symbol naming is +-% mostly taken from ISO 10646-1, +-% for example the case and accent +-% names are from this standard. +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-% and +-% are for cases like Danish +-% and Spanish being treated +-% as one letter. +- +-% The ...... collating +-% symbols have defined weights as +-% the last character in a group of +-% Latin letters. They are used +-% to specify deltas by locales using +-% a locale as the default ordering +-% and by "replace-after" statements +-% specifying the changed placement +-% in an ordering of a character. +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-% letter;accent;case;specials +- +-order_start forward;backward/ +- ;forward;position +- +-% or letters first: +- +- +- +- +- +- +-% Accents: +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ;;;IGNORE +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-<"=> IGNORE;IGNORE;IGNORE;<"=> +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-UNDEFINED IGNORE;IGNORE;IGNORE +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- +-% Arabic collating +- +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- +-% katakana/hiragana sorting +-% base is katakana, as this is present in most charsets +-% normal before voiced before semi-voiced +-% small vocals before normal vocals +-% katakana before hiragana +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE ++reorder-after ++ ++ ++ ++reorder-after ++ ++ ++ ++reorder-after ++ ++ ++ ++reorder-after ++ ++ ++reorder-after ++ ++ ++reorder-after ++ ++ ++reorder-after ++ ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE + +-order_end ++reorder-end + + END LC_COLLATE + +@@ -2208,6 +210,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/hu_HU glibc-old/localedata/locales/hu_HU +--- glibc-2.3.5/localedata/locales/hu_HU 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/hu_HU 2005-11-30 16:35:34.000000000 -0500 +@@ -67,8 +67,15 @@ + %% a' e' i' o' u' are sorted as if they were unaccented + %% o" and u" are sorted as if they were o: and u: + ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol + collating-symbol ++collating-symbol ++collating-symbol + collating-symbol ++collating-symbol + + collating-symbol + collating-element from "" +@@ -233,39 +240,65 @@ + + + ++reorder-after ++ + reorder-after + + reorder-after + + ++reorder-after ++ + reorder-after + ++reorder-after ++ + reorder-after + + reorder-after + + reorder-after ++ + ++ + reorder-after + + reorder-after + + reorder-after ++ + ++ + reorder-after + + ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ + reorder-after +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE + + reorder-after +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE + + reorder-after + ;;;IGNORE +@@ -420,6 +453,33 @@ + + LC_CTYPE + copy "i18n" ++ ++translit_start ++ ++include "translit_combining";"" ++ ++ "";"";"" ++ "";"";"" ++ "";"";"" ++ "";"";"" ++ "";"";"" ++ "";"";"" ++ "";"";"" ++ "";"";"" ++ "";"";"" ++ ++ "";"";"" ++ "";"";"" ++ "";"";"" ++ "";"";"" ++ "";"";"" ++ "";"";"" ++ "";"";"" ++ "";"";"" ++ "";"";"" ++ ++translit_end ++ + END LC_CTYPE + + LC_MESSAGES +@@ -493,6 +553,9 @@ + t_fmt_ampm "" + date_fmt "/ + " ++% week 7;19971201;4 ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/hy_AM glibc-old/localedata/locales/hy_AM +--- glibc-2.3.5/localedata/locales/hy_AM 2004-03-23 02:36:58.000000000 -0500 ++++ glibc-old/localedata/locales/hy_AM 2005-11-30 16:35:34.000000000 -0500 +@@ -1,16 +1,16 @@ + escape_char / + comment_char % +-% charset "ARMSCII-8" ++% Charset: UTF-8 + % Distribution and use is free, also for commercial purposes. + + LC_IDENTIFICATION + title "Armenian language locale for Armenia" +-source "http://moon.yerphi.am/~hovik/ArmSCII/ArmCS-005.html" ++source "http://www.freenet.am/armscii" + % Eugene Sevinian completed + % LC_MONETARY and LC_TIME + address "" + contact "Pablo Saratxaga" +-email "srtxg@chanae.alphanet.ch" ++email "pablo@mandrakesoft.com" + tel "" + fax "" + language "Armenian" +@@ -18,17 +18,17 @@ + revision "0.4" + date "2001-01-26" + +-category hy_AM:2000;LC_IDENTIFICATION +-category hy_AM:2000;LC_COLLATE +-category hy_AM:2000;LC_CTYPE +-category hy_AM:2000;LC_MESSAGES +-category hy_AM:2000;LC_MONETARY +-category hy_AM:2000;LC_NUMERIC +-category hy_AM:2000;LC_TIME +-category hy_AM:2000;LC_PAPER +-category hy_AM:2000;LC_MEASUREMENT +-category hy_AM:2000;LC_TELEPHONE +-category hy_AM:2000;LC_ADDRESS ++category "hy_AM:2000";LC_IDENTIFICATION ++category "hy_AM:2000";LC_COLLATE ++category "hy_AM:2000";LC_CTYPE ++category "hy_AM:2000";LC_MESSAGES ++category "hy_AM:2000";LC_MONETARY ++category "hy_AM:2000";LC_NUMERIC ++category "hy_AM:2000";LC_TIME ++category "hy_AM:2000";LC_PAPER ++category "hy_AM:2000";LC_MEASUREMENT ++category "hy_AM:2000";LC_TELEPHONE ++category "hy_AM:2000";LC_ADDRESS + + % ISO/IEC 14652: Converted comments to LC_IDENTIFICATION + % added LC_PAPER, LC_MEASUREMENT, LC_TELEPHONE +@@ -67,16 +67,15 @@ + %%%%%%%%%%%% + + LC_COLLATE +- +-% Armenian sorting is not yet on iso14651_t1 +- +-script ++copy "iso14651_t1" + + collating-symbol + collating-symbol ++collating-symbol + collating-symbol +-collating-symbol + collating-symbol ++collating-symbol ++collating-symbol + collating-symbol + collating-symbol + collating-symbol +@@ -111,8 +110,50 @@ + collating-symbol + collating-symbol + ++reorder-after ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++reorder-end + +-copy "iso14651_t1" ++script + + order_start ;forward;forward;forward;forward,position + ;;;IGNORE +@@ -201,6 +242,92 @@ + + LC_CTYPE + copy "i18n" ++ ++translit_start ++include "translit_combining";"" ++ ++% armenian -> latin ++ "" % A ++ "" % a ++ "" % B ++ "" % b ++ "" % G ++ "" % g ++ "" % D ++ "" % d ++ "" % E ++ "" % e ++ "" % Z ++ "" % z ++ "" % E' ++ "" % e' ++ "" % Y' ++ "" % y' ++ "" % T' ++ "" % t' ++ "" % Zh ++ "" % zh ++ "" % I ++ "" % i ++ "" % L ++ "" % l ++ "" % Kh ++ "" % kh ++ "" % Ts ++ "" % ts ++ "" % K ++ "" % k ++ "" % H ++ "" % h ++ "" % Dz ++ "" % dz ++ "" % Gh ++ "" % gh ++ "" % Tch ++ "" % tch ++ "" % M ++ "" % m ++ "" % Y ++ "" % y ++ "" % N ++ "" % n ++ "" % Sh ++ "" % sh ++ "" % Vo ++ "" % vo ++ "" % Ch ++ "" % ch ++ "" % P ++ "" % p ++ "" % J ++ "" % j ++ "" % R ++ "" % r ++ "" % S ++ "" % s ++ "" % V ++ "" % v ++ "" % T ++ "" % t ++ "" % R' ++ "" % r' ++ "" % C ++ "" % c ++% it should be "" -> U and "" -> u but that isn't ++% possible ++ "" % U ++ "" % u ++ "" % P' ++ "" % p' ++ "" % Q ++ "" % q ++ "" % ev ++ "" % O ++ "" % o ++ "" % F ++ "" % f ++ ++translit_end + END LC_CTYPE + + LC_MONETARY +@@ -277,8 +404,8 @@ + LC_MESSAGES + yesstr "" + nostr "" +-yesexpr "" +-noexpr "" ++yesexpr "" ++noexpr "" + END LC_MESSAGES + + % Metric Measurement system (ISO 1000) +@@ -303,20 +430,23 @@ + postal_fmt "/ + / + " +-% FIXME country_name "Armenia" in Armenian ++country_name "" + % FIXME country_post for Armenia? + country_ab2 "" + country_ab3 "" + country_num 51 +-% FIXME country_car for Armenia ? ++country_car "" + country_isbn "" +-% FIXME lang_name Armenian in Armenian ++lang_name "" + lang_ab "" + lang_term "" + lang_lib "" + END LC_ADDRESS + + LC_NAME +-% FIXME +-name_fmt "???" ++name_fmt "/ ++" ++name_miss "" ++name_mr "" ++name_mrs "" + END LC_NAME +diff -ru glibc-2.3.5/localedata/locales/id_ID glibc-old/localedata/locales/id_ID +--- glibc-2.3.5/localedata/locales/id_ID 2004-10-31 18:42:26.000000000 -0500 ++++ glibc-old/localedata/locales/id_ID 2005-11-30 16:35:34.000000000 -0500 +@@ -116,6 +116,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 1 + END LC_TIME + + LC_MESSAGES +diff -ru glibc-2.3.5/localedata/locales/is_IS glibc-old/localedata/locales/is_IS +--- glibc-2.3.5/localedata/locales/is_IS 2004-10-31 18:42:27.000000000 -0500 ++++ glibc-old/localedata/locales/is_IS 2005-11-30 16:35:34.000000000 -0500 +@@ -947,7 +947,6 @@ + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; +-<"=> IGNORE;IGNORE;IGNORE;<"=> + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; +@@ -956,8 +955,6 @@ + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; + UNDEFINED IGNORE;IGNORE;IGNORE + + ;;IGNORE;IGNORE +@@ -2222,6 +2219,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 1 + END LC_TIME + + LC_MESSAGES +diff -ru glibc-2.3.5/localedata/locales/iso14651_t1 glibc-old/localedata/locales/iso14651_t1 +--- glibc-2.3.5/localedata/locales/iso14651_t1 2002-06-30 15:18:19.000000000 -0400 ++++ glibc-old/localedata/locales/iso14651_t1 2005-11-30 16:35:34.000000000 -0500 +@@ -261,7 +261,11 @@ + # SYMB. N° + # + ++ifdef UPPERCASE_FIRST ++ ++else + ++endif + # forme de base (bas de casse, arabe intrinsèque, + # hébreu intrinsèque, etc. + # basic form (lower case, intrinsic Arabic +@@ -280,14 +284,21 @@ + # medial/mdian + # 6 + # ++ifdef UPPERCASE_FIRST ++ # 7 ++ # 8 ++ # 9 ++ # 10 ++ # 11 ++ # 12 ++else + # 7 + # 8 + # 9 + # 10 + # 11 +- +-#alternate lower case/ +-# 12 ++ # 12 alternate lower case ++endif + # + #minuscules spéciales après majuscules + # / +@@ -513,7 +524,7 @@ + + + +-order_start ;forward;backward;forward;forward,position ++order_start ;forward;forward;forward;forward,position + # + # Tout caractère non précisément défini sera considéré comme caractère spécial + # et considéré uniquement au dernier niveau. +@@ -761,7 +772,11 @@ + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + +-order_start ;forward;backward;forward;forward,position ++ifdef LATIN_FORWARD ++order_start ;forward;forward;forward;forward,position ++else ++order_start ;forward;forward;forward;forward,position ++endif + # + ;;;IGNORE # 170 + # +@@ -1102,7 +1117,7 @@ + ;;;IGNORE + ;;;IGNORE + +-order_start ;backward;backward;backward;forward,position ++order_start ;forward;forward;forward;forward,position + ;;;IGNORE + ;;;IGNORE + ;;;IGNORE +@@ -1292,7 +1307,7 @@ + ;;IGNORE;IGNORE + ;;IGNORE;IGNORE + +-order_start ;forward;backward;forward;forward,position ++order_start ;forward;forward;forward;forward,position + ;;;IGNORE + ;;;IGNORE + ;;;IGNORE +diff -ru glibc-2.3.5/localedata/locales/it_CH glibc-old/localedata/locales/it_CH +--- glibc-2.3.5/localedata/locales/it_CH 2004-10-31 18:42:27.000000000 -0500 ++++ glibc-old/localedata/locales/it_CH 2005-11-30 16:35:34.000000000 -0500 +@@ -100,6 +100,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/it_IT glibc-old/localedata/locales/it_IT +--- glibc-2.3.5/localedata/locales/it_IT 2004-10-31 18:42:27.000000000 -0500 ++++ glibc-old/localedata/locales/it_IT 2005-11-30 16:35:34.000000000 -0500 +@@ -120,6 +120,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/ja_JP glibc-old/localedata/locales/ja_JP +--- glibc-2.3.5/localedata/locales/ja_JP 2004-10-31 18:42:27.000000000 -0500 ++++ glibc-old/localedata/locales/ja_JP 2005-11-30 16:35:34.000000000 -0500 +@@ -15005,6 +15005,8 @@ + "";"";/ + "";"";/ + "";"" ++% FIXME: found in CLDR ++first_weekday 1 + END LC_TIME + + +diff -ru glibc-2.3.5/localedata/locales/kn_IN glibc-old/localedata/locales/kn_IN +--- glibc-2.3.5/localedata/locales/kn_IN 2004-10-31 18:42:27.000000000 -0500 ++++ glibc-old/localedata/locales/kn_IN 2005-11-30 16:35:34.000000000 -0500 +@@ -161,6 +161,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 1 + END LC_TIME + + +diff -ru glibc-2.3.5/localedata/locales/kw_GB glibc-old/localedata/locales/kw_GB +--- glibc-2.3.5/localedata/locales/kw_GB 2004-10-31 18:42:27.000000000 -0500 ++++ glibc-old/localedata/locales/kw_GB 2005-11-30 16:35:34.000000000 -0500 +@@ -2,7 +2,7 @@ + comment_char % + + % Cornish language locale for Britain +-% WARNING: UNOFFICIAL; EXPERIMENTAL. CHECK WITH Keld Simonsen ++% WARNING: UNOFFICIAL; EXPERIMENTAL. CHECK WITH Keld Simonsen + % to see if there is an offical release. + + % Cornish language locale for Britain +@@ -122,7 +122,7 @@ + END LC_TIME + + LC_MESSAGES +-yesexpr "" ++yesexpr "" + noexpr "" + END LC_MESSAGES + +diff -ru glibc-2.3.5/localedata/locales/lo_LA glibc-old/localedata/locales/lo_LA +--- glibc-2.3.5/localedata/locales/lo_LA 2004-10-31 18:42:27.000000000 -0500 ++++ glibc-old/localedata/locales/lo_LA 2005-11-30 16:35:34.000000000 -0500 +@@ -230,6 +230,7 @@ + collating-element from "" + collating-element from "" + ++collating-element from "" + collating-element from "" + collating-element from "" + collating-element from "" +@@ -601,10 +602,10 @@ + + ;;; % Lao CHARACTER HHOr + "";;; +- "";;; +- "";;; +- "";;; +- "";;; ++ "";;; ++ "";;; ++ "";;; ++ "";;; + + + % order of Lao vowels +@@ -717,6 +718,8 @@ + " + % ICT-7ICT-7 + timezone "" ++% FIXME: found in CLDR ++first_weekday 1 + END LC_TIME + + LC_MESSAGES +diff -ru glibc-2.3.5/localedata/locales/lt_LT glibc-old/localedata/locales/lt_LT +--- glibc-2.3.5/localedata/locales/lt_LT 2004-10-31 18:42:27.000000000 -0500 ++++ glibc-old/localedata/locales/lt_LT 2005-11-30 16:35:34.000000000 -0500 +@@ -58,2067 +58,13 @@ + END LC_IDENTIFICATION + + LC_COLLATE ++define UPPERCASE_FIRST ++copy "iso14651_t1" + +-% Base collation scheme: 1994-03-22 ++reorder-after ++ + +-% Ordering algorithm: +-% 1. Spaces and hyphen (but not soft +-% hyphen) before punctuation +-% characters, punctuation characters +-% before numbers, +-% numbers before letters. +-% 2. Letters with diacritical marks are +-% members of equivalence classes +-% 3. A distinction is made with regards +-% to case as noted below. +-% 4. Special characters are ignored +-% when comparing letters, but then +-% they are considered +-% 5. The alphabets are sorted in order +-% of first appearance in ISO 10646: +-% Latin, Greek, Cyrillic, etc. +-% +-% According to Greek specifications, +-% the steps 2. and 3. above are reversed +-% for the Greek script +- +-% collating symbols +- +-% The collating symbol naming is +-% mostly taken from ISO 10646-1, +-% for example the case and accent +-% names are from this standard. +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-% and +-% are for cases like Danish +-% and Spanish being treated +-% as one letter. +- +-% The ...... collating +-% symbols have defined weights as +-% the last character in a group of +-% Latin letters. They are used +-% to specify deltas by locales using +-% a locale as the default ordering +-% and by "replace-after" statements +-% specifying the changed placement +-% in an ordering of a character. +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-% letter;accent;case;specials +- +-order_start forward;backward/ +- ;forward;position +- +-% or letters first: +- +- +- +- +- +- +-% Accents: +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ;;;IGNORE +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-<"=> IGNORE;IGNORE;IGNORE;<"=> +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-UNDEFINED IGNORE;IGNORE;IGNORE +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- +-% Arabic collating +- +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- +-% katakana/hiragana sorting +-% base is katakana, as this is present in most charsets +-% normal before voiced before semi-voiced +-% small vocals before normal vocals +-% katakana before hiragana +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +-order_end ++reorder-end + + END LC_COLLATE + +@@ -2187,6 +133,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_MESSAGES +diff -ru glibc-2.3.5/localedata/locales/lv_LV glibc-old/localedata/locales/lv_LV +--- glibc-2.3.5/localedata/locales/lv_LV 2004-10-31 18:42:27.000000000 -0500 ++++ glibc-old/localedata/locales/lv_LV 2005-11-30 16:35:34.000000000 -0500 +@@ -203,7 +203,7 @@ + + % letter;accent;case;specials + +-order_start forward;backward/ ++order_start forward;forward/ + ;forward;position + + % or letters first: +@@ -919,7 +919,6 @@ + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; +-<"=> IGNORE;IGNORE;IGNORE;<"=> + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; +@@ -2180,6 +2179,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_MESSAGES +diff -ru glibc-2.3.5/localedata/locales/ml_IN glibc-old/localedata/locales/ml_IN +--- glibc-2.3.5/localedata/locales/ml_IN 2004-10-31 18:42:27.000000000 -0500 ++++ glibc-old/localedata/locales/ml_IN 2005-11-30 16:35:34.000000000 -0500 +@@ -5,7 +5,7 @@ + % E-Mail : gnu@gnu.org.in + + LC_IDENTIFICATION +-title " Malayalam language locale for India" ++title "Malayalam language locale for India" + source "Free Software Foundation of India, Trivandrum" + address "" + contact "" +@@ -145,6 +145,8 @@ + % Appropriate 12 h time representation (%r) + t_fmt_ampm "" + % ++% FIXME ++first_weekday 1 + END LC_TIME + % + LC_MESSAGES +@@ -154,11 +156,11 @@ + % for IBM Class for Unicode. + % + % ^[\u0d05\u0d24\u0d46] +-yesexpr "" ++yesexpr "" + % + % + % ^[\u0d05\u0d32\u0d4d\u0d32] +-noexpr "" ++noexpr "" + % + % \u0d05\u0d24\u0d46 + yesstr "" +diff -ru glibc-2.3.5/localedata/locales/mr_IN glibc-old/localedata/locales/mr_IN +--- glibc-2.3.5/localedata/locales/mr_IN 2004-10-31 18:42:27.000000000 -0500 ++++ glibc-old/localedata/locales/mr_IN 2005-11-30 16:35:34.000000000 -0500 +@@ -149,6 +149,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 1 + END LC_TIME + + +diff -ru glibc-2.3.5/localedata/locales/ms_MY glibc-old/localedata/locales/ms_MY +--- glibc-2.3.5/localedata/locales/ms_MY 2004-10-31 18:42:27.000000000 -0500 ++++ glibc-old/localedata/locales/ms_MY 2005-11-30 16:35:34.000000000 -0500 +@@ -135,6 +135,8 @@ + % Appropriate 12 h time representation (%r) + t_fmt_ampm "" + % ++% FIXME: found in CLDR ++first_weekday 1 + END LC_TIME + + +diff -ru glibc-2.3.5/localedata/locales/nb_NO glibc-old/localedata/locales/nb_NO +--- glibc-2.3.5/localedata/locales/nb_NO 2004-10-31 18:42:27.000000000 -0500 ++++ glibc-old/localedata/locales/nb_NO 2005-11-30 16:35:34.000000000 -0500 +@@ -48,2078 +48,75 @@ + END LC_IDENTIFICATION + + LC_COLLATE ++copy "iso14651_t1" ++ + collating-element from "" + collating-element from "" + collating-element from "" + collating-element from "" ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++ ++reorder-after ++ ++ ++ ++ ++reorder-after ++ ++ ++ ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++% Present in iso14651_t1, but these definitions seem to have been ++% removed from latest iso14651 tables. ++reorder-after ++ "";"";"";IGNORE ++ "";"";"";IGNORE ++ ++reorder-after ++ ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE + +-% Base collation scheme: 1994-03-22 +- +-% Ordering algorithm: +-% 1. Spaces and hyphen (but not soft +-% hyphen) before punctuation +-% characters, punctuation characters +-% before numbers, +-% numbers before letters. +-% 2. Letters with diacritical marks are +-% members of equivalence classes +-% 3. A distinction is made with regards +-% to case as noted below. +-% 4. Special characters are ignored +-% when comparing letters, but then +-% they are considered +-% 5. The alphabets are sorted in order +-% of first appearance in ISO 10646: +-% Latin, Greek, Cyrillic, etc. +-% +-% According to Greek specifications, +-% the steps 2. and 3. above are reversed +-% for the Greek script +- +-% collating symbols +- +-% The collating symbol naming is +-% mostly taken from ISO 10646-1, +-% for example the case and accent +-% names are from this standard. +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-% and +-% are for cases like Danish +-% and Spanish being treated +-% as one letter. +- +-% The ...... collating +-% symbols have defined weights as +-% the last character in a group of +-% Latin letters. They are used +-% to specify deltas by locales using +-% a locale as the default ordering +-% and by "replace-after" statements +-% specifying the changed placement +-% in an ordering of a character. +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-% letter;accent;case;specials +- +-order_start forward;backward/ +- ;forward;position +- +-% or letters first: +- +-% before letters +- +- +- +- +- +-% Accents: +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ;;;IGNORE +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-<"=> IGNORE;IGNORE;IGNORE;<"=> +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-UNDEFINED IGNORE;IGNORE;IGNORE +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE %LATIN CAPITAL LETTER ETH (Icelandic) +- ;;;IGNORE %LATIN SMALL LETTER ETH (Icelandic) +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- +-% Arabic collating +- +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- +-% katakana/hiragana sorting +-% base is katakana, as this is present in most charsets +-% normal before voiced before semi-voiced +-% small vocals before normal vocals +-% katakana before hiragana +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +-order_end ++reorder-end + + END LC_COLLATE + +@@ -2190,6 +187,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_MESSAGES +diff -ru glibc-2.3.5/localedata/locales/ne_NP glibc-old/localedata/locales/ne_NP +--- glibc-2.3.5/localedata/locales/ne_NP 2003-12-03 23:49:56.000000000 -0500 ++++ glibc-old/localedata/locales/ne_NP 2005-11-30 16:35:34.000000000 -0500 +@@ -1,33 +1,33 @@ +-comment_char % +-escape_char / +-% Nepali language locale for Nepal. +-% Contributed by Pawan Chitrakar ++comment_char % ++escape_char / ++% Nepali language locale for Nepal. (Last Updted 4nd Aug 2005) ++% By Madan Puraskar Pustakalaya, Lalitpur,Nepal + + LC_IDENTIFICATION +-title "Nepali language locale for Nepal" +-source "Madan Puraskar Pustakalaya" +-address "Rato Bangala, Patan Dhoka,Lalitpur,Nepal" +-contact "" +-email "info@mpp.org.np" +-tel "977-1-5521393" +-fax "" +-language "Nepali" +-territory "Nepal" +-revision "1.1" +-date "2003-05-12" +-% +-category "ne_NP:2003";LC_IDENTIFICATION +-category "ne_NP:2003";LC_CTYPE +-category "ne_NP:2003";LC_COLLATE +-category "ne_NP:2003";LC_TIME +-category "ne_NP:2003";LC_NUMERIC +-category "ne_NP:2003";LC_MONETARY +-category "ne_NP:2003";LC_MESSAGES +-category "ne_NP:2003";LC_PAPER +-category "ne_NP:2003";LC_NAME +-category "ne_NP:2003";LC_ADDRESS +-category "ne_NP:2003";LC_TELEPHONE +- ++title "Nepali language locale defination file for Nepal" ++source "Madan Puraskar Pustakalaya" ++address "Patan Dhoka,Lalitpur,Nepal" ++contact "Amar Gurung" ++email "info/@mpp.org.np" ++tel "977-1-5521393" ++fax "977-1-5536390" ++language "Nepali" ++territory "Nepal" ++revision "1.4" ++date "2005-8-4" ++% ++ ++category "ne_NP:2004";LC_IDENTIFICATION ++category "ne_NP:2004";LC_CTYPE ++category "ne_NP:2004";LC_COLLATE ++category "ne_NP:2004";LC_TIME ++category "ne_NP:2004";LC_NUMERIC ++category "ne_NP:2004";LC_MONETARY ++category "ne_NP:2004";LC_MESSAGES ++category "ne_NP:2004";LC_PAPER ++category "ne_NP:2004";LC_NAME ++category "ne_NP:2004";LC_ADDRESS ++category "ne_NP:2004";LC_TELEPHONE + END LC_IDENTIFICATION + + LC_CTYPE +@@ -35,134 +35,380 @@ + END LC_CTYPE + + LC_COLLATE +-% Copy the template from ISO/IEC 14651 +-copy "iso14651_t1" ++ ++order_start forward ++ ++% ++% Basic Latin ++% ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++% ++% ISO 646 IRV ++% ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++% ++% C1 - Latin1 Supplement ++% ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++% ++%Devanagari Nepali ++% ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++UNDEFINED ++ ++order_end ++ + END LC_COLLATE + ++ + LC_MONETARY +-% This is the POSIX Locale definition the LC_MONETARY category. ++% This is the POSIX Locale definition for the LC_MONETARY category. + % These are generated based on XML base Locale difintion file + % for IBM Class for Unicode/Java + % +-int_curr_symbol "" +-currency_symbol "" +-mon_decimal_point "" +-mon_thousands_sep "" +-mon_grouping 3 +-positive_sign "" +-negative_sign "" +-int_frac_digits 2 +-frac_digits 2 +-p_cs_precedes 1 +-p_sep_by_space 1 +-n_cs_precedes 1 +-n_sep_by_space 1 +-p_sign_posn 1 +-n_sign_posn 1 ++int_curr_symbol "" ++currency_symbol "" ++mon_decimal_point "" ++mon_thousands_sep "" ++mon_grouping 3;2 ++positive_sign "" ++negative_sign "" ++int_frac_digits 2 ++frac_digits 2 ++p_cs_precedes 1 ++p_sep_by_space 1 ++n_cs_precedes 1 ++n_sep_by_space 1 ++p_sign_posn 1 ++n_sign_posn 1 + % + END LC_MONETARY + +- + LC_NUMERIC + % This is the POSIX Locale definition for the LC_NUMERIC category. + % +-decimal_point "" +-thousands_sep "" +-grouping 3 ++decimal_point "" ++thousands_sep "" ++grouping 3 + % + END LC_NUMERIC + +- + LC_TIME + % This is the POSIX Locale definition for the LC_TIME category. + % These are generated based on XML base Locale difintion file + % for IBM Class for Unicode/Java + % + % Abbreviated weekday names (%a) +-abday "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "" ++abday "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "" + % + % Full weekday names (%A) +-day "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "" ++day "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "" + % + % Abbreviated month names (%b) +-abmon "";/ +- "";/ +- "";/ +- "";/ +- "";"";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "" ++abmon "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "" + % + % Full month names (%B) +-mon "";/ +- "";/ +- "";/ +- "";/ +- "";"";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "" ++mon "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "" + % + % Equivalent of AM PM +-am_pm "";/ +- "" ++am_pm "";/ ++ "" + % + % Appropriate date and time representation +-% %A %d %b %Y%I:%M:%S %Z +-d_t_fmt "/ +-/ +-" ++% %Y %B %d %I:%M:%S %p (%Z-->optional) EX: 2004 November 01 11:30:40 PM ++d_t_fmt "" ++ ++ + % + % Appropriate date representation +-% %A %d %b %Y +-d_fmt "/ +-" ++% %Y %B %d %A ++d_fmt "" + % + % Appropriate time representation +-% %I:%M:%S %Z +-t_fmt "/ +-" ++% %H:%M:%S ++t_fmt "" + % + % Appropriate 12 h time representation (%r) +-t_fmt_ampm "/ +-" ++% %I:%M:%S %p ++t_fmt_ampm "" + % +-date_fmt "/ +-/ +-" ++date_fmt "" ++ + END LC_TIME + + + LC_MESSAGES +-yesexpr "" +-noexpr "" ++yesexpr "" ++noexpr "" ++yesstr "" ++nostr "" + END LC_MESSAGES + +- + LC_PAPER + % This is the ISO_IEC TR14652 Locale definition for the + % LC_PAPER category +-height 297 +-width 210 ++height 297 ++width 210 + + END LC_PAPER + +@@ -171,13 +417,15 @@ + % This is the ISO_IEC TR14652 Locale definition for the + % LC_NAME category. + % +-name_fmt "/ +-" +-name_gen "" +-name_mr "" +-name_mrs "" +-name_miss "" +-name_ms "" ++% %p %t %g %t %m %t %f ++name_fmt "" ++ ++name_gen "" ++name_mr "" ++name_mrs "" ++name_miss "" ++ ++% saluation_fmt "" + + END LC_NAME + +@@ -185,21 +433,18 @@ + LC_ADDRESS + % This is the ISO_IEC TR14652 Locale definition for the + % LC_ADDRESS +-postal_fmt "/ +-" + +-country_ab2 "" +-country_ab3 "" +-country_num 524 ++% %f %N %h %s %N %T ++postal_fmt "" ++ + END LC_ADDRESS + + + LC_TELEPHONE + % This is the ISO_IEC TR14652 Locale definition for the +-% +-tel_int_fmt "/ +-" +-int_prefix "" ++% +%c %a %l ++tel_int_fmt "" ++int_prefix "" + + END LC_TELEPHONE + +diff -ru glibc-2.3.5/localedata/locales/nl_BE glibc-old/localedata/locales/nl_BE +--- glibc-2.3.5/localedata/locales/nl_BE 2004-10-31 18:42:27.000000000 -0500 ++++ glibc-old/localedata/locales/nl_BE 2005-11-30 16:35:34.000000000 -0500 +@@ -104,6 +104,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/nl_NL glibc-old/localedata/locales/nl_NL +--- glibc-2.3.5/localedata/locales/nl_NL 2004-10-31 18:42:27.000000000 -0500 ++++ glibc-old/localedata/locales/nl_NL 2005-11-30 16:35:34.000000000 -0500 +@@ -119,6 +119,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +@@ -153,4 +155,9 @@ + country_ab2 "" + country_ab3 "" + country_num 528 ++country_car "" ++lang_name "" ++lang_ab "" ++lang_term "" ++lang_lib "" + END LC_ADDRESS +diff -ru glibc-2.3.5/localedata/locales/nn_NO glibc-old/localedata/locales/nn_NO +--- glibc-2.3.5/localedata/locales/nn_NO 2004-10-31 18:42:27.000000000 -0500 ++++ glibc-old/localedata/locales/nn_NO 2005-11-30 16:35:34.000000000 -0500 +@@ -141,6 +141,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + +--- glibc-2.3.5/localedata/locales/oc_FR 2004-03-23 02:36:58.000000000 -0500 ++++ glibc-old/localedata/locales/oc_FR 2005-11-30 16:35:34.000000000 -0500 +@@ -64,7 +64,7 @@ + END LC_COLLATE + + LC_MESSAGES +-yesexpr "" ++yesexpr "" + noexpr "" + END LC_MESSAGES + +diff -ru glibc-2.3.5/localedata/locales/om_ET glibc-old/localedata/locales/om_ET +--- glibc-2.3.5/localedata/locales/om_ET 2003-11-03 23:56:06.000000000 -0500 ++++ glibc-old/localedata/locales/om_ET 2005-11-30 16:35:34.000000000 -0500 +@@ -62,6 +62,7 @@ + + LC_COLLATE + copy "am_ET" ++define ISO14651_T1_LOADED + copy "om_KE" + END LC_COLLATE + +diff -ru glibc-2.3.5/localedata/locales/om_KE glibc-old/localedata/locales/om_KE +--- glibc-2.3.5/localedata/locales/om_KE 2003-11-03 23:56:22.000000000 -0500 ++++ glibc-old/localedata/locales/om_KE 2005-11-30 16:35:34.000000000 -0500 +@@ -64,7 +64,10 @@ + % + % Copy the template from ISO/IEC 14651 + % ++ifdef ISO14651_T1_LOADED ++else + copy "iso14651_t1" ++endif + % + % Define extra Oromo letters and their sort order: + % +diff -ru glibc-2.3.5/localedata/locales/pl_PL glibc-old/localedata/locales/pl_PL +--- glibc-2.3.5/localedata/locales/pl_PL 2004-10-31 18:42:27.000000000 -0500 ++++ glibc-old/localedata/locales/pl_PL 2005-11-30 16:35:34.000000000 -0500 +@@ -48,2067 +48,78 @@ + END LC_IDENTIFICATION + + LC_COLLATE ++copy "iso14651_t1" + +-% Base collation scheme: 1994-03-22 ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++ ++reorder-after ++ ++ ++reorder-after ++ ++ ++reorder-after ++ ++ ++reorder-after ++ ++ ++reorder-after ++ ++ ++reorder-after ++ ++ ++reorder-after ++ ++ ++reorder-after ++ ++ ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE + +-% Ordering algorithm: +-% 1. Spaces and hyphen (but not soft +-% hyphen) before punctuation +-% characters, punctuation characters +-% before numbers, +-% numbers before letters. +-% 2. Letters with diacritical marks are +-% members of equivalence classes +-% 3. A distinction is made with regards +-% to case as noted below. +-% 4. Special characters are ignored +-% when comparing letters, but then +-% they are considered +-% 5. The alphabets are sorted in order +-% of first appearance in ISO 10646: +-% Latin, Greek, Cyrillic, etc. +-% +-% According to Greek specifications, +-% the steps 2. and 3. above are reversed +-% for the Greek script +- +-% collating symbols +- +-% The collating symbol naming is +-% mostly taken from ISO 10646-1, +-% for example the case and accent +-% names are from this standard. +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-% and +-% are for cases like Danish +-% and Spanish being treated +-% as one letter. +- +-% The ...... collating +-% symbols have defined weights as +-% the last character in a group of +-% Latin letters. They are used +-% to specify deltas by locales using +-% a locale as the default ordering +-% and by "replace-after" statements +-% specifying the changed placement +-% in an ordering of a character. +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-% letter;accent;case;specials +- +-order_start forward;backward/ +- ;forward;position +- +-% or letters first: +- +- +- +- +- +- +-% Accents: +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ;;;IGNORE +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-<"=> IGNORE;IGNORE;IGNORE;<"=> +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-UNDEFINED IGNORE;IGNORE;IGNORE +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- +-% Arabic collating +- +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- +-% katakana/hiragana sorting +-% base is katakana, as this is present in most charsets +-% normal before voiced before semi-voiced +-% small vocals before normal vocals +-% katakana before hiragana +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +-order_end ++reorder-end + + END LC_COLLATE + +@@ -2183,6 +194,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/pt_BR glibc-old/localedata/locales/pt_BR +--- glibc-2.3.5/localedata/locales/pt_BR 2004-10-31 18:42:27.000000000 -0500 ++++ glibc-old/localedata/locales/pt_BR 2005-11-30 16:35:34.000000000 -0500 +@@ -65,10 +65,10 @@ + negative_sign "" + int_frac_digits 2 + frac_digits 2 +-p_cs_precedes 0 +-p_sep_by_space 1 +-n_cs_precedes 0 +-n_sep_by_space 1 ++p_cs_precedes 1 ++p_sep_by_space 0 ++n_cs_precedes 1 ++n_sep_by_space 0 + p_sign_posn 1 + n_sign_posn 1 + END LC_MONETARY +@@ -121,6 +121,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/pt_PT glibc-old/localedata/locales/pt_PT +--- glibc-2.3.5/localedata/locales/pt_PT 2004-10-31 18:42:27.000000000 -0500 ++++ glibc-old/localedata/locales/pt_PT 2005-11-30 16:35:34.000000000 -0500 +@@ -120,6 +120,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/ro_RO glibc-old/localedata/locales/ro_RO +--- glibc-2.3.5/localedata/locales/ro_RO 2004-10-31 18:42:27.000000000 -0500 ++++ glibc-old/localedata/locales/ro_RO 2005-11-30 16:35:34.000000000 -0500 +@@ -189,6 +189,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/ru_RU glibc-old/localedata/locales/ru_RU +--- glibc-2.3.5/localedata/locales/ru_RU 2004-10-31 18:42:27.000000000 -0500 ++++ glibc-old/localedata/locales/ru_RU 2005-11-30 16:35:34.000000000 -0500 +@@ -32,17 +32,17 @@ + revision "1.0" + date "2000-06-29" + % +-category "ru_RU:2000";LC_IDENTIFICATION +-category "ru_RU:2000";LC_CTYPE +-category "ru_RU:2000";LC_COLLATE +-category "ru_RU:2000";LC_TIME +-category "ru_RU:2000";LC_NUMERIC +-category "ru_RU:2000";LC_MONETARY +-category "ru_RU:2000";LC_MESSAGES +-category "ru_RU:2000";LC_PAPER +-category "ru_RU:2000";LC_NAME +-category "ru_RU:2000";LC_ADDRESS +-category "ru_RU:2000";LC_TELEPHONE ++category "i18n:2000";LC_IDENTIFICATION ++category "i18n:2000";LC_CTYPE ++category "i18n:2000";LC_COLLATE ++category "i18n:2000";LC_TIME ++category "i18n:2000";LC_NUMERIC ++category "i18n:2000";LC_MONETARY ++category "i18n:2000";LC_MESSAGES ++category "i18n:2000";LC_PAPER ++category "i18n:2000";LC_NAME ++category "i18n:2000";LC_ADDRESS ++category "i18n:2000";LC_TELEPHONE + + END LC_IDENTIFICATION + +@@ -77,7 +77,7 @@ + int_curr_symbol "" + currency_symbol "" + mon_decimal_point "" +-mon_thousands_sep "" ++mon_thousands_sep "" + mon_grouping 3;3 + positive_sign "" + negative_sign "" +@@ -93,7 +93,7 @@ + + LC_NUMERIC + decimal_point "" +-thousands_sep "" ++thousands_sep "" + grouping 3;3 + END LC_NUMERIC + +@@ -112,18 +112,18 @@ + "";/ + "";/ + "" +-mon "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "" ++mon "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "" + abmon "";/ + "";/ + "";/ +@@ -145,6 +145,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/sid_ET glibc-old/localedata/locales/sid_ET +--- glibc-2.3.5/localedata/locales/sid_ET 2004-05-03 16:52:23.000000000 -0400 ++++ glibc-old/localedata/locales/sid_ET 2005-11-30 16:35:34.000000000 -0500 +@@ -113,7 +113,6 @@ + % country_car unknown + % country_isbn unknown, Need ISO 2108 + lang_name "" +-lang_ab "" + lang_term "" + lang_lib "" + % +diff -ru glibc-2.3.5/localedata/locales/sk_SK glibc-old/localedata/locales/sk_SK +--- glibc-2.3.5/localedata/locales/sk_SK 2004-10-31 18:42:27.000000000 -0500 ++++ glibc-old/localedata/locales/sk_SK 2005-11-30 16:35:34.000000000 -0500 +@@ -179,6 +179,9 @@ + / + " + ++% FIXME: found in CLDR ++first_weekday 2 ++ + END LC_TIME + + %% END OF LOCALIZATION FILE for sk_SK.ISO-8859-2 +diff -ru glibc-2.3.5/localedata/locales/sl_SI glibc-old/localedata/locales/sl_SI +--- glibc-2.3.5/localedata/locales/sl_SI 2004-10-31 18:42:27.000000000 -0500 ++++ glibc-old/localedata/locales/sl_SI 2005-11-30 16:35:34.000000000 -0500 +@@ -48,2067 +48,34 @@ + END LC_IDENTIFICATION + + LC_COLLATE ++copy "iso14651_t1" + +-% Base collation scheme: 1994-03-22 ++collating-symbol ++collating-symbol ++collating-symbol + +-% Ordering algorithm: +-% 1. Spaces and hyphen (but not soft +-% hyphen) before punctuation +-% characters, punctuation characters +-% before numbers, +-% numbers before letters. +-% 2. Letters with diacritical marks are +-% members of equivalence classes +-% 3. A distinction is made with regards +-% to case as noted below. +-% 4. Special characters are ignored +-% when comparing letters, but then +-% they are considered +-% 5. The alphabets are sorted in order +-% of first appearance in ISO 10646: +-% Latin, Greek, Cyrillic, etc. +-% +-% According to Greek specifications, +-% the steps 2. and 3. above are reversed +-% for the Greek script ++reorder-after ++ + +-% collating symbols ++reorder-after ++ + +-% The collating symbol naming is +-% mostly taken from ISO 10646-1, +-% for example the case and accent +-% names are from this standard. ++reorder-after ++ + +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE + +-% and +-% are for cases like Danish +-% and Spanish being treated +-% as one letter. ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE + +-% The ...... collating +-% symbols have defined weights as +-% the last character in a group of +-% Latin letters. They are used +-% to specify deltas by locales using +-% a locale as the default ordering +-% and by "replace-after" statements +-% specifying the changed placement +-% in an ordering of a character. ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE + +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-% letter;accent;case;specials +- +-order_start forward;backward/ +- ;forward;position +- +-% or letters first: +- +- +- +- +- +- +-% Accents: +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ;;;IGNORE +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-<"=> IGNORE;IGNORE;IGNORE;<"=> +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-UNDEFINED IGNORE;IGNORE;IGNORE +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- +-% Arabic collating +- +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- +-% katakana/hiragana sorting +-% base is katakana, as this is present in most charsets +-% normal before voiced before semi-voiced +-% small vocals before normal vocals +-% katakana before hiragana +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +-order_end ++reorder-end + + END LC_COLLATE + +@@ -2183,6 +150,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/sq_AL glibc-old/localedata/locales/sq_AL +--- glibc-2.3.5/localedata/locales/sq_AL 2004-10-31 18:42:27.000000000 -0500 ++++ glibc-old/localedata/locales/sq_AL 2005-11-30 16:35:34.000000000 -0500 +@@ -3,6 +3,7 @@ + % Albanian language locale for Albania. + % Contributed by Kentaroh Noji and + % Tetsuji Orita . ++% fixed LC_COLLATE + + LC_IDENTIFICATION + title "Albanian language locale for Albania" +@@ -14,8 +15,8 @@ + fax "" + language "Albanian" + territory "Albania" +-revision "1.0" +-date "2000-07-21" ++revision "1.1" ++date "2004-07-01" + % + category "sq_AL:2000";LC_IDENTIFICATION + category "sq_AL:2000";LC_CTYPE +@@ -40,6 +41,146 @@ + % Copy the template from ISO/IEC 14651 + copy "iso14651_t1" + ++%% a, b, c, c,, d, dh, e, e:, f, g, gj, h, i, j, k, l, ll, m, n, nj, o, p, q ++%% r, rr, s, sh, t, th, u, v, x, xh, y, z, zh. ++collating-symbol ++collating-symbol ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-symbol ++collating-symbol ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-symbol ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-symbol ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-symbol ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-symbol ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-symbol ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-symbol ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-symbol ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-element from "" ++ ++collating-symbol ++collating-symbol ++ ++reorder-after ++ ++reorder-after ++ ++ ++reorder-after ++ ++reorder-after ++ ++reorder-after ++ ++reorder-after ++ ++reorder-after ++ ++reorder-after ++ ++reorder-after ++ ++reorder-after ++ ++reorder-after ++ ++reorder-after ++ ++reorder-after ++ ++ ++reorder-after ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-end ++ + END LC_COLLATE + + LC_MONETARY +diff -ru glibc-2.3.5/localedata/locales/sr_CS glibc-old/localedata/locales/sr_CS +--- glibc-2.3.5/localedata/locales/sr_CS 2005-11-30 18:53:48.000000000 -0500 ++++ glibc-old/localedata/locales/sr_CS 2005-11-30 16:35:34.000000000 -0500 +@@ -137,6 +137,21 @@ + + copy "iso14651_t1" + ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-element from "" ++ ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-element from "" ++ ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-element from "" ++ + collating-symbol + collating-symbol + collating-symbol +@@ -179,35 +194,35 @@ + + reorder-after + ;;;IGNORE +- ;;;IGNORE ++ ;;;IGNORE + ;;;IGNORE + ;;;IGNORE + reorder-after + ;;;IGNORE +- ;;;IGNORE ++ ;;;IGNORE + ;;;IGNORE +- ;;;IGNORE ++ ;;;IGNORE + ;;;IGNORE + + reorder-after + ;;;IGNORE +- ;;;IGNORE ++ ;;;IGNORE + ;;;IGNORE + reorder-after + ;;;IGNORE +- ;;;IGNORE ++ ;;;IGNORE + ;;;IGNORE +- ;;;IGNORE ++ ;;;IGNORE + + reorder-after + ;;;IGNORE +- ;;;IGNORE ++ ;;;IGNORE + ;;;IGNORE + reorder-after + ;;;IGNORE +- ;;;IGNORE ++ ;;;IGNORE + ;;;IGNORE +- ;;;IGNORE ++ ;;;IGNORE + + reorder-after + ;;;IGNORE +@@ -289,7 +304,7 @@ + date_fmt "/ + / + " +-week 7;19971201;4 ++% week 7;19971201;4 + first_weekday 2 + first_workday 2 + END LC_TIME +diff -ru glibc-2.3.5/localedata/locales/st_ZA glibc-old/localedata/locales/st_ZA +--- glibc-2.3.5/localedata/locales/st_ZA 2003-12-03 23:49:56.000000000 -0500 ++++ glibc-old/localedata/locales/st_ZA 2005-11-30 16:35:34.000000000 -0500 +@@ -1,23 +1,41 @@ + escape_char / + comment_char % + ++% Charset: UTF-8 ++ + % ChangeLog ++% 0.3 (2005-10-13): ++% 2005-10-12 Dwayne Bailey ++% - Added 'Charset: UTF-8' information ++% - Update contact information ++% - Allign spellings of month and weekday names with Dept. of ++% Art and Culture's: Multilingual Mathematics Dictionary ++% 0.2 (2004-11-03): ++% 2004-11-02 Dwayne Bailey ++% - Change all contact information ++% - Change %e in date_fmt and d_t_fmt to %-e ++% - Remove .* from yes/noexpr ++% 2004-03-30 Dwayne Bailey ++% - Added country_ab2/3, country_num ++% - Added country_car ++% 2004-03-29 Dwayne Bailey ++% - Added lang_ab and lang_term + % 0.1 (2003-04-21): + % - Initial Sotho locale for South Africa + % by Zuza Software Foundation + + LC_IDENTIFICATION + title "Sotho locale for South Africa" +-source "Zuza Software Foundation" +-address "PO Box 13412, Mowbray, 7705, South Africa" ++source "Zuza Software Foundation (Translate.org.za)" ++address "PO Box 28364, Sunnyside, 0132, South Africa" + contact "Dwayne Bailey" + email "dwayne@translate.org.za" +-tel "+27 (0)21 448 9265" +-fax "+27 (0)21 448 9574" ++tel "+27 12 460 1095" ++fax "+27 12 460 1095" + language "Sotho" + territory "South Africa" +-revision "0.1" +-date "2003-04-21" ++revision "0.3" ++date "2005-10-13" + % + category "st_ZA:2003";LC_IDENTIFICATION + category "st_ZA:2003";LC_CTYPE +@@ -66,45 +84,46 @@ + "" + + % day - The full names of the week days: +-% - Sontaha, Mmantaha, Labobedi, Laboraru, Labone, Labohlane, Moqebelo ++% - Sontaha, Mantaha, Labobedi, Laboraro, Labone, Labohlano, Moqebelo + day "";/ +- "";/ ++ "";/ + "";/ +- "";/ ++ "";/ + "";/ +- "";/ ++ "";/ + "" + + % abmon - The abbreviations for the months +-% - Phe, Kol, Ube, Mme, Mot, Jan, Upu, Pha, Leo, Mph, Pun, Tsh +-abmon "";"";/ +- "";"";/ ++% - Phe, Hla, Tlh, Mme, Mot, Jan, Upu, Pha, Leo, Mph, Pud, Tsh ++abmon "";"";/ ++ "";"";/ + "";"";/ + "";"";/ + "";"";/ +- "";"" ++ "";"" + + % mon - The full names of the months - +-% - Phesekgong, Hlakola, Hlakubele, Mmese, Motsheanong, Phupjane, +-% Phupu, Phata, Leotshe, Mphalane, Pundungwane, Tshitwe +-mon "";/ ++% - Pherekgong, Hlakola, Tlhakubele, Mmese, Motsheanong, Phupjane, ++% Phupu, Phato, Leotse, Mphalane, Pudungwana, Tshitwe ++mon "";/ + "";/ +- "";/ ++ "";/ + "";/ + "";/ + "";/ + "";/ +- "";/ +- "";/ ++ "";/ ++ "";/ + "";/ +- "";/ ++ "";/ + "" + + % Abreviated date and time representation to be referenced by the "%c" field descriptor - +-d_t_fmt "" +-% ++d_t_fmt "/ ++" ++ + % "%a" (short weekday name), +-% "%d" (day of month as a decimal number), ++% "%-e" (day of month as a decimal number), + % "%b" (short month name), + % "%Y" (year with century as a decimal number), + % "%T" (24-hour clock time in format HH:MM:SS), +@@ -127,14 +146,14 @@ + % The "" means that this format is not supported. + + % Date representation not described in ISO/IEC 14652. Comes out as - +-% "%a %b %e %H:%M:%S %Z %Y" which is default "date" command output +-date_fmt "/ ++% "%a %b %-e %H:%M:%S %Z %Y" which is default "date" command output ++date_fmt "/ + / + " + % + % %a - abbreviated weekday name, + % %b - abreviated month name, +-% %e - day of month as a decimal number with leading space (1 to 31), ++% %-e - day of month as a decimal number without leading space (1 to 31), + % %H - hour (24-hour clock) as a decimal number (00 to 23), + % %M - minute as a decimal number (00 to 59), + % %S - seconds as a decimal number (00 to 59), +@@ -146,12 +165,12 @@ + LC_MESSAGES + % FIXME: Check both of these + % The affirmative response - +-% "^[yY].*" +-yesexpr "" ++% "^[yY]" ++yesexpr "" + + % The negative response - +-% "^[nN].*" +-noexpr "" ++% "^[nN]" ++noexpr "" + END LC_MESSAGES + + LC_PAPER +@@ -204,21 +223,22 @@ + % Abbreviated country postal name - "ZA" + country_post "" + +-% ISO 3166 two letter country abbreviation - "ZA" +-country_ab2 "" +- + % FIXME define the following correctly +-% country_ab3 "" +-% country_car "" + % country_isbn "" +-% country_num + + % Language name in Sotho - "Sesotho" + lang_name "" + +-% FIXME define the following correctly +-% lang_ab "" +-% lang_term "" ++% UN Geneve 1949:68 Distinguishing signs of vehicles in international traffic ++% http://www.unece.org/trans/conventn/disting-signs-5-2001.pdf ++% "ZA" ++country_car "" ++ ++% ISO 639 two and three letter language names ++% see http://www.loc.gov/standards/iso639-2/englangn.html ++% "st", "sot" ++lang_ab "" ++lang_term "" + + % Representation of postal addresses (minus the addressee's name) in South + % Africa. (Ignored for now) +@@ -250,6 +270,13 @@ + % "country designation for the keyword", + % "end of line + % +-country_num 710 ++ ++% ISO 3166 country number and 2 and 3 letter abreviations ++% http://www.unicode.org/onlinedat/countries.html ++% "ZA", "ZAF" ++country_num 710 ++country_ab2 "" ++country_ab3 "" ++ + END LC_ADDRESS + +diff -ru glibc-2.3.5/localedata/locales/sv_FI glibc-old/localedata/locales/sv_FI +--- glibc-2.3.5/localedata/locales/sv_FI 2004-10-31 18:42:27.000000000 -0500 ++++ glibc-old/localedata/locales/sv_FI 2005-11-30 16:35:34.000000000 -0500 +@@ -105,6 +105,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/ta_IN glibc-old/localedata/locales/ta_IN +--- glibc-2.3.5/localedata/locales/ta_IN 2004-12-19 15:48:42.000000000 -0500 ++++ glibc-old/localedata/locales/ta_IN 2005-11-30 16:35:34.000000000 -0500 +@@ -136,7 +136,7 @@ + + + reorder-end +-END LC_COLLATE ++END LC_COLLATE + + + LC_MONETARY +@@ -226,6 +226,8 @@ + % Appropriate 12 h time representation (%r) + t_fmt_ampm "" + % ++% FIXME: found in CLDR ++first_weekday 1 + END LC_TIME + + +@@ -235,19 +237,9 @@ + % These are generated based on XML base Locale difintion file + % for IBM Class for Unicode. + % +-% ^[\u0b86\u0bae\u0bcd] +-yesexpr "" ++yesexpr "" + +-% Syntax on Unicode Regular Expression Guidelines TR#18 +-% yesexpr "" +- +-% +-% ^[\u0b87\u0bb2\u0bcd\u0bb2\u0bc8] +-noexpr "" +- +-% Syntax on Unicode Regular Expression Guidelines TR#18 +-% noexpr "" +-% ++noexpr "" + + % \u0b86\u0bae\u0bcd + yesstr "" +diff -ru glibc-2.3.5/localedata/locales/te_IN glibc-old/localedata/locales/te_IN +--- glibc-2.3.5/localedata/locales/te_IN 2004-12-17 15:08:56.000000000 -0500 ++++ glibc-old/localedata/locales/te_IN 2005-11-30 16:35:34.000000000 -0500 +@@ -3,6 +3,8 @@ + % Telugu language locale for India. + % Contributed by Kentaroh Noji and + % Tetsuji Orita . ++% ++% Updated by Sunil Mohan Adapa + + LC_IDENTIFICATION + title "Telugu language locale for India" +@@ -14,20 +16,20 @@ + fax "" + language "Telugu" + territory "India" +-revision "0.92b" +-date "2000,October 12" ++revision "0.95" ++date "2004-10-05" + % +-category "te_IN:2000";LC_IDENTIFICATION +-category "te_IN:2000";LC_CTYPE +-category "te_IN:2000";LC_COLLATE +-category "te_IN:2000";LC_TIME +-category "te_IN:2000";LC_NUMERIC +-category "te_IN:2000";LC_MONETARY +-category "te_IN:2000";LC_MESSAGES +-category "te_IN:2000";LC_PAPER +-category "te_IN:2000";LC_NAME +-category "te_IN:2000";LC_ADDRESS +-category "te_IN:2000";LC_TELEPHONE ++category "i18n:2003";LC_IDENTIFICATION ++category "i18n:2003";LC_CTYPE ++category "i18n:2003";LC_COLLATE ++category "i18n:2003";LC_TIME ++category "posix:1993";LC_NUMERIC ++category "i18n:2003";LC_MONETARY ++category "i18n:2003";LC_MESSAGES ++category "i18n:2003";LC_PAPER ++category "i18n:2003";LC_NAME ++category "i18n:2003";LC_ADDRESS ++category "i18n:2003";LC_TELEPHONE + + END LC_IDENTIFICATION + +@@ -50,18 +52,18 @@ + % for IBM Class for Unicode. + % + int_curr_symbol "" +-currency_symbol "" ++currency_symbol "" + mon_decimal_point "" + mon_thousands_sep "" +-mon_grouping 2;3 ++mon_grouping 3;2 + positive_sign "" + negative_sign "" + int_frac_digits 2 + frac_digits 2 + p_cs_precedes 1 +-p_sep_by_space 1 ++p_sep_by_space 0 + n_cs_precedes 1 +-n_sep_by_space 1 ++n_sep_by_space 0 + p_sign_posn 1 + n_sign_posn 1 + % +@@ -73,7 +75,7 @@ + % + decimal_point "" + thousands_sep "" +-grouping 2;3 ++grouping 3;2 + % + END LC_NUMERIC + +@@ -103,35 +105,38 @@ + "";"";/ + "";"";/ + "";"";/ +- "";"";/ +- "";"" ++ "";"";/ ++ "";"" + + % Full month names (%B) + mon "";"";/ + "";"";/ + "";"";/ + "";"";/ +- "";"";/ +- "";"" ++ "";"";/ ++ "";"" + % + % Equivalent of AM PM +-am_pm "";"" ++am_pm "";"" + % + % Appropriate date and time representation +-% %A %d %b %Y %I:%M:%S %Z +-d_t_fmt "" ++% %B %d %A %Y %p%I.%M.%S %Z ++d_t_fmt "" + % + % Appropriate date representation +-% %A %d %b %Y +-d_fmt "" ++% %B %d %A %Y ++d_fmt "" + % + % Appropriate time representation +-% %I:%M:%S %Z +-t_fmt "" ++% %p%I.%M.%S %Z ++t_fmt "" + % + % Appropriate 12 h time representation (%r) +-t_fmt_ampm "" ++% %p%I.%M.%S %Z ++t_fmt_ampm "" + % ++% FIXME: found in CLDR ++first_weekday 1 + END LC_TIME + + +@@ -141,19 +146,14 @@ + % These are generated based on XML base Locale difintion file + % for IBM Class for Unicode. + % +-% ^[\u0939\u093e\u0901] +-yesexpr "" +- + % Syntax on Unicode Regular Expression Guidelines TR#18 +-% yesexpr "" ++% ^[yY\u0C05].* ++yesexpr "" + + % +-% ^[\u0928\u0939\u0940\u0902] +-noexpr "" +- + % Syntax on Unicode Regular Expression Guidelines TR#18 +-% noexpr "" +-% ++% ^[yY\u0C15].* ++noexpr "" + + % + yesstr "" +@@ -174,12 +174,12 @@ + % generated by IBM Basic CountryPack Transformer. + % + % +-name_fmt "" ++name_fmt "" + name_gen "" +-name_mr "" +-name_mrs "" +-name_miss "" +-name_ms "" ++name_mr "" ++name_mrs "" ++name_miss "" ++name_ms "" + + END LC_NAME + +@@ -187,11 +187,28 @@ + LC_ADDRESS + % This is the ISO_IEC TR14652 Locale definition for the LC_ADDRESS category + % generated by IBM Basic CountryPack Transformer. +-postal_fmt "" + +-country_ab2 "" +-country_ab3 "" +-country_num 356 ++% postal_fmt "%n%N%a%N%d%N%f%N%r%t%e%N%h%t%b%N%s%t%l%N%T%t%z%N%S%N%c" ++% postal_fmt "/ ++% / ++% / ++% / ++% / ++% / ++% / ++% / ++% / ++% " ++% Localedef chokes on above definition, so keep the old one even if ++% it is wrong. ++postal_fmt "" ++country_name "" ++country_ab2 "" ++country_ab3 "" ++country_num 356 ++lang_name "" ++lang_ab "" ++lang_term "" + END LC_ADDRESS + + +diff -ru glibc-2.3.5/localedata/locales/tg_TJ glibc-old/localedata/locales/tg_TJ +--- glibc-2.3.5/localedata/locales/tg_TJ 2003-12-03 23:49:56.000000000 -0500 ++++ glibc-old/localedata/locales/tg_TJ 2005-11-30 16:35:34.000000000 -0500 +@@ -2,16 +2,16 @@ + escape_char / + % + % Tajik Language Locale for Tajikistan +-% Source: ++% Source: + % Contact: Pablo Saratxaga, Roger Kovacs + % Email: , + % Language: tg + % Territory: TJ +-% Revision: 0.3 +-% Date: 2001-01-28 ++% Revision: 0.4 ++% Date: 2004-01-09 + % Application: general + % Users: general +-% Charset: KOI8-T ++% Charset: UTF-8 + % Distribution and use is free, also + % for commercial purposes. + +@@ -31,8 +31,8 @@ + fax "" + language "Tajik" + territory "Tajikistan" +-revision "0.3" +-date "2001-01-28" ++revision "0.4" ++date "2004-01-09" + + category "tg_TJ:2000";LC_IDENTIFICATION + category "tg_TJ:2000";LC_CTYPE +@@ -121,7 +121,7 @@ + LC_MESSAGES + yesstr "" + nostr "" +-yesexpr "" ++yesexpr "" + noexpr "" + END LC_MESSAGES + +@@ -227,3 +227,4 @@ + % FIXME + copy "en_DK" + END LC_TELEPHONE ++ +diff -ru glibc-2.3.5/localedata/locales/th_TH glibc-old/localedata/locales/th_TH +--- glibc-2.3.5/localedata/locales/th_TH 2004-10-31 18:42:27.000000000 -0500 ++++ glibc-old/localedata/locales/th_TH 2005-11-30 16:35:34.000000000 -0500 +@@ -909,6 +909,8 @@ + " + % ICT-7ICT-7 + timezone "" ++% FIXME: found in CLDR ++first_weekday 1 + END LC_TIME + + LC_MESSAGES +diff -ru glibc-2.3.5/localedata/locales/tl_PH glibc-old/localedata/locales/tl_PH +--- glibc-2.3.5/localedata/locales/tl_PH 2003-12-03 23:49:56.000000000 -0500 ++++ glibc-old/localedata/locales/tl_PH 2005-11-30 16:35:34.000000000 -0500 +@@ -140,7 +140,19 @@ + END LC_TIME + + LC_MESSAGES +-copy "en_US" ++ ++% "^[oOyY].*" for "Yes" ++yesexpr "" ++ ++% "^[hHnN].*" for "No" ++noexpr "" ++ ++% "Oo" for "Yes" ++yesstr "" ++ ++% "Hindi" for "No" ++nostr "" ++ + END LC_MESSAGES + + LC_PAPER +diff -ru glibc-2.3.5/localedata/locales/tr_TR glibc-old/localedata/locales/tr_TR +--- glibc-2.3.5/localedata/locales/tr_TR 2004-10-31 18:42:28.000000000 -0500 ++++ glibc-old/localedata/locales/tr_TR 2005-11-30 16:35:34.000000000 -0500 +@@ -61,2067 +61,62 @@ + END LC_IDENTIFICATION + + LC_COLLATE ++define UPPERCASE_FIRST ++% Copy the template from ISO/IEC 14651 ++copy "iso14651_t1" ++ ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++ ++reorder-after ++ ++ ++reorder-after ++ ++ ++reorder-after ++ ++ ++reorder-after ++ ++ ++reorder-after ++ ++ ++reorder-after ++ ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE + +-% Base collation scheme: 1994-03-22 +- +-% Ordering algorithm: +-% 1. Spaces and hyphen (but not soft +-% hyphen) before punctuation +-% characters, punctuation characters +-% before numbers, +-% numbers before letters. +-% 2. Letters with diacritical marks are +-% members of equivalence classes +-% 3. A distinction is made with regards +-% to case as noted below. +-% 4. Special characters are ignored +-% when comparing letters, but then +-% they are considered +-% 5. The alphabets are sorted in order +-% of first appearance in ISO 10646: +-% Latin, Greek, Cyrillic, etc. +-% +-% According to Greek specifications, +-% the steps 2. and 3. above are reversed +-% for the Greek script +- +-% collating symbols +- +-% The collating symbol naming is +-% mostly taken from ISO 10646-1, +-% for example the case and accent +-% names are from this standard. +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-% and +-% are for cases like Danish +-% and Spanish being treated +-% as one letter. +- +-% The ...... collating +-% symbols have defined weights as +-% the last character in a group of +-% Latin letters. They are used +-% to specify deltas by locales using +-% a locale as the default ordering +-% and by "replace-after" statements +-% specifying the changed placement +-% in an ordering of a character. +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +-collating-symbol +- +-% letter;accent;case;specials +- +-order_start forward;backward/ +- ;forward;position +- +-% or letters first: +- +- +- +- +- +- +-% Accents: +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ;;;IGNORE +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-<"=> IGNORE;IGNORE;IGNORE;<"=> +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +-UNDEFINED IGNORE;IGNORE;IGNORE +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;;;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- ;IGNORE;IGNORE;IGNORE +- +-% Arabic collating +- +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- IGNORE;IGNORE;IGNORE; +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- IGNORE;IGNORE;;IGNORE +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- "";"";"";IGNORE +- +-% katakana/hiragana sorting +-% base is katakana, as this is present in most charsets +-% normal before voiced before semi-voiced +-% small vocals before normal vocals +-% katakana before hiragana +- +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- ;;IGNORE;IGNORE +- +-order_end ++reorder-end + + END LC_COLLATE + +@@ -3537,6 +1532,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_PAPER +@@ -3588,10 +1585,10 @@ + country_ab3 "" + % Turkish + lang_name "" +-% tr ++% tur + lang_term "" ++% tur ++lang_lib "" + % tr +-lang_lib "" +-%tr + lang_ab "" + END LC_ADDRESS +diff -ru glibc-2.3.5/localedata/locales/uk_UA glibc-old/localedata/locales/uk_UA +--- glibc-2.3.5/localedata/locales/uk_UA 2004-10-31 18:42:28.000000000 -0500 ++++ glibc-old/localedata/locales/uk_UA 2005-11-30 16:35:34.000000000 -0500 +@@ -1,191 +1,1288 @@ + comment_char % + escape_char / + % ++% Copyright (C) 2003-2005 Volodymyr M. Lisivka ++% + % Ukrainian Language Locale for Ukraine +-% Source: RFC 2319 +-% Contact: Denis V. Dmitrienko +-% Email: denis@denix.org ++% Source: ++% Contact: Volodymyr M. Lisivka ++% Email: v_lisivka@users.sourceforge.net + % Language: uk + % Territory: UA +-% Revision: 1.2 +-% Date: 1998-05-03 ++% Revision: 2.1.11 ++% Date: 2005-05-11 + % Application: general + % Users: general + % Charset: KOI8-U +-% Distribution and use is free, also +-% for commercial purposes. + % +-% Some collate fixes by Valentyn Solomko vesna@slovnyk.org ++% Distribution and use is free, also for commercial purposes ++% if this copyright notice is preserved. + + LC_IDENTIFICATION +-title "Ukrainian locale for Ukraine" +-source "RFC 2319" ++% Title of document: Ukrainian Language Locale for Ukraine ++title "Ukrainian Language Locale for Ukraine" ++%Organization name. ++source "" ++%Organization postal address. + address "" +-contact "" +-email "bug-glibc-locales@gnu.org" ++%Name of contact person. ++contact "GNU libc maintainers" % GNU libc maintainers ++%Electronic address of organization or contact person. ++email "libc-locales@sources.readhat.com" %libc-locales@sources.readhat.com ++%Telephone number of organization in international format. + tel "" ++%Fax number of organization in international format. + fax "" +-language "Ukrainian" +-territory "Ukraine" +-revision "1.3" +-date "2003-01-31" +-% +-category "uk_UA:2000";LC_IDENTIFICATION +-category "uk_UA:2000";LC_CTYPE +-category "uk_UA:2000";LC_COLLATE +-category "uk_UA:2000";LC_TIME +-category "uk_UA:2000";LC_NUMERIC +-category "uk_UA:2000";LC_MONETARY +-category "uk_UA:2000";LC_MESSAGES +-category "uk_UA:2000";LC_PAPER +-category "uk_UA:2000";LC_NAME +-category "uk_UA:2000";LC_ADDRESS +-category "uk_UA:2000";LC_TELEPHONE ++%Code of language, to which this document applies. ++language "uk" ++%Code of country/geographic extent (ISO 3166), to which this document applies. ++territory "UA" ++%Intended user audience. ++audience "general" ++%If for use with special application, a description of this application. ++application "general" ++%Short name. ++abbreviation "ULU-2.1.11" ++%Revision (numbers and dots). ++revision "2.1.11" ++%Revision date ++date "2005-05-11" ++ ++category "i18n:2002";LC_IDENTIFICATION % i18n:2002 ++category "i18n:2002";LC_CTYPE % i18n:2002 ++category "i18n:2002";LC_COLLATE % i18n:2002 ++category "i18n:2000";LC_TIME % i18n:2002 ++category "posix:1993";LC_NUMERIC % posix:1993 ++category "i18n:2002";LC_MONETARY % i18n:2002 ++category "i18n:2002";LC_MESSAGES % i18n:2002 ++category "i18n:2002";LC_PAPER % i18n:2002 ++category "i18n:2002";LC_NAME % i18n:2002 ++category "i18n:2000";LC_ADDRESS % i18n:2002 ++category "i18n:2002";LC_TELEPHONE % i18n:2002 ++category "posix:1993";LC_MEASUREMENT % posix:1993 + + END LC_IDENTIFICATION + ++ ++ + LC_CTYPE + copy "i18n" ++translit_start ++ ++% http://www.rada.gov.ua/translit.htm ++% UKRAINIAN-ENGLISH TRANSLITERATION TABLE ++% ++% On 19 April 1996, an official Ukrainian-English transliteration system ++% was adopted by the Ukrainian Legal Terminology Commission (Decision ++% No 9). ++% ++% * Use of the approved system is not mandatory for the transliteration ++% of foreign names into Ukrainian. ++% * Transliteration should be made directly between Ukrainian and English ++% without the use of any intermediary languages. ++% * Decision No9, in accordance with the Legal Terminology Commission's ++% express authority, is binding only for the transliteration of Ukrainian ++% names in English in legislative and official acts. ++% * For brevity's sake, the system routinely allows for names such as the ++% city of 'Zaporizhzhia' to be given as 'Zaporizhia,' 'L`viv' as 'Lviv', ++% etc. Also included is a short list of official spellings for miscellaneous ++% terms: 'Ukraine' (no use of the article 'the'), 'Crimea' (as opposed to ++% 'Krym'), 'Black Sea,' and 'Sea of Azov'. In certain cases, 'traditional' ++% forms may be shown in parentheses after the official form: ++% 'Dnipro (Dnieper).' ++% * In addition, apostrophe marks and softening marks may be omitted upon ++% transliteration into English. ++% ++%Ukrainian English Note Example ++%letter letter ++% ++% - - Alushta ++ "" ++ "" ++% B - - Borschahivka ++ "" ++ "" ++% V - - Vyshhorod ++ "" ++ "" ++% H, gh -in most cases, gh - when recreating the combination "" - Hadiach; - Zghorany ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++% G - - Galagan ++ "" ++ "" ++% D - - Don ++ "" ++ "" ++% E - - Rivne ++ "" ++ "" ++% Ye, ie Ye - at the beginning of words, ie - in other positions - Yenakiieve; - Naienko ++ "" ++ "" ++%TODO: 'ie' if after any letter ++% Zh - - Zhytomyr ++ "" ++ "" ++% Z - - Zakarpattia ++ "" ++ "" ++% Y - - Medvyn ++ "" ++ "" ++% I - - Irshava ++ "" ++ "" ++% Yi, I Yi - at the beginning of words, i - in other positions - Yizhakevych; - Kadiivka ++ "" ++ "" ++%TODO: 'i' if after any letter ++% Y, i Y - at the beginning of words, i - in other positions - Yosypivka; - Stryi ++ "" ++ "" ++%TODO: 'i' if after any letter ++% K - - Kyiv ++ "" ++ "" ++% L - - Lebedyn ++ "" ++ "" ++% M - - Mykolaiv ++ "" ++ "" ++% N - - Nizhin ++ "" ++ "" ++% O - - Odesa ++ "" ++ "" ++% P - - Poltava ++ "" ++ "" ++% R - - Romny ++ "" ++ "" ++% S - - Sumy ++ "" ++ "" ++% T - - Teteriv ++ "" ++ "" ++% U - - Uzhhorod ++ "" ++ "" ++% F - - Fastiv ++ "" ++ "" ++% Kh - - Kharkiv ++ "" ++ "" ++% Ts - - Bila Tserkva ++ "" ++ "" ++% Ch - - Chernivtsi ++ "" ++ "" ++% Sh - - Shostka ++ "" ++ "" ++% Sch - -Hoscha ++ "" ++ "" ++% ` (see commentary) - Rus`; - L`viv ++ "" ++ "" ++% Yu, iu Yu - at the beginning of words, iu - in other positions - Yurii; - Krukivka ++ "" ++ "" ++%TODO: 'iu' if after any letter ++% Ya, ia Ya - at the beginning of words, ia - in other positions - Yahotyn;I - Ichnia ++ "" ++ "" ++%TODO: 'ia' if after any letter ++%' ' (see commentary) ' - Znamianka ++ ++ ++%Specials: ++ ++% NUMERO SIGN ++ "" % No ++% LEFT-POINTING DOUBLE ANGLE QUOTATION MARK ++ "" % << ++% RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK ++ "" % >> ++ ++translit_end ++ + END LC_CTYPE + ++ ++ + LC_COLLATE ++% Ukrainian Alpahabet (1881-1933) (old but right) ++% ++% ++% ++% ++% ++% ++% ++% ++% ++% ++% ++% ++% Ukrainian Alpahabet (1933-1991) (old) ++% ++% ++% ++% ++% ++% ++% ++% ++% ++% ++% Note: ++% Ukrainian letter GHE_WITH_UPTURN () was removed from Ukrainian ++% alphabet by Stalin in 1933 and was returned back in 1991, when ++% Ukraine takes independency. ++% ++% ++% Ukrainian Alphabet (1991) (current but not right) ++% ++% ++% ++% ++% ++% ++% ++% ++% ++% ++% ++% Note: ++% Soft sign () is not a real letter and must be placed at the end of the ++% alphabet, but Ukrainian alpabet was changed to be compatible with Russian ++% alphabet in last year before Ukraine take independency (1990-1991), ++% by academic Ivanenko, which tries to make one code page for Russian, ++% Ukrainian and Belarusian and. Instead of fixing MS-DOS, he is changed ++% Ukrainian alphabet to make it compatible with Russian and Belarusian ++% alphabets), so many peoples missunderstand this change as return to ++% proper alphabet. ++% ++% See "" N2 (UDK 681.3.06), p. 16 ++% Ivanenko L. M. "Na shliakhu pobudovy <> standartu abo ++% synii ptakh Neokyrylytci". + + copy "iso14651_t1" + +-% iso14651_t1 is missing Ukrainian ghe ++% Ukrainian ghe is missing in iso14651_t1 + collating-symbol + +-reorder-after ++% Soft sign and apostrophe must be ignored when sorting because they is ++% just signs, not real letters. ++% ( ""=="", ""=="", etc. ) ++% ++% Apostrophe already ignored by iso14651_t1. ++% ++% Soft sign cab be placed only after nine letters (in Ukrainian language). ++% + ++% ++% In these cases soft sign modifies pronounce of letter before it, ++% so we ignore it when sorting. ++ ++collating-symbol ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-element from "" ++ ++collating-symbol ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-element from "" ++ ++collating-symbol ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-element from "" ++ ++collating-symbol ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-element from "" ++ ++collating-symbol ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-element from "" ++ ++collating-symbol ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-element from "" ++ ++collating-symbol ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-element from "" ++ ++collating-symbol ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-element from "" ++ ++collating-symbol ++collating-element from "" ++collating-element from "" ++collating-element from "" ++collating-element from "" ++ ++ ++collating-symbol ++collating-symbol ++ ++% Taken from bg_BG 2.0.1: ++ ++% We have made the following changes to the basic collation scheme in ++% the file iso14651_t1: ++% 1. The Cyrillic script is first in the order. ++% 2. The non-Bulgarian Cyrillic letters are sorted according to ++% their transliteration with Bulgarian Cyrillic letters. ++ ++% Local changes: ++% Added collation symbol at proper position. ++% Reordering of , to wrong positions (according to Ukrainian ++% alhabet) was removed. ++ ++reorder-after <9> ++ ++ ++ ++ + ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + ++%Placing to proper position. ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE % Mac. gje + reorder-after +-% ;;;IGNORE +- ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE % Mac. gje + +-reorder-after +-% ;;;IGNORE +- ;;;IGNORE ++reorder-after ++ "";"";"";IGNORE % CYR-DJE ++ "";"";"";IGNORE % CYR-DCHE ++ "";"";"";IGNORE % CYR-DZE ++reorder-after ++ "";"";"";IGNORE % CYR-DJE ++ "";"";"";IGNORE % CYR-DCHE ++ "";"";"";IGNORE % CYR-DZE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ++reorder-after ++ "";"";"";IGNORE % CYR-NJE ++reorder-after ++ "";"";"";IGNORE % CYR-NJE ++ ++reorder-after ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ++reorder-after ++ "";"";"";IGNORE % CYR-LJE ++reorder-after ++ "";"";"";IGNORE % CYR-LJE ++ ++reorder-after ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ++%Capital letters come before small letters. (""<"") ++reorder-after ++ ++ ++ ++ ++ ++%Reorder letters with soft sign ++% + ++ ++reorder-after ++ ++reorder-after ++ ;;; ++ ;;; ++reorder-after ++ ;;; ++ ;;; ++ ++reorder-after ++ ++reorder-after ++ ;;; ++ ;;; ++reorder-after ++ ;;; ++ ;;; ++ ++reorder-after ++ ++reorder-after ++ ;;; ++ ;;; ++reorder-after ++ ;;; ++ ;;; ++ ++reorder-after ++ ++reorder-after ++ ;;; ++ ;;; ++reorder-after ++ ;;; ++ ;;; ++ ++reorder-after ++ ++reorder-after ++ ;;; ++ ;;; ++reorder-after ++ ;;; ++ ;;; ++ ++reorder-after ++ ++reorder-after ++ ;;; ++ ;;; ++reorder-after ++ ;;; ++ ;;; ++ ++reorder-after ++ ++reorder-after ++ ;;; ++ ;;; ++reorder-after ++ ;;; ++ ;;; ++ ++reorder-after ++ ++reorder-after ++ ;;; ++ ;;; ++reorder-after ++ ;;; ++ ;;; ++ ++reorder-after ++ ++reorder-after ++ ;;; ++ ;;; ++reorder-after ++ ;;; ++ ;;; + +-reorder-after +-% ;;;IGNORE +- ;;;IGNORE +- +-reorder-after +-% ;;;IGNORE +- ;;;IGNORE ++% %For pre-1991 alphabet: placing soft sign () at end, ++% %unlike other cyrillic alphabets. ++% ++% reorder-after ++% ++% reorder-after ++% ;;;IGNORE ++% reorder-after ++% ;;;IGNORE + + reorder-end ++ ++ + END LC_COLLATE + ++ ++ + LC_MESSAGES +-yesexpr "" +-noexpr "" ++ ++%WARNING: Symbols Y and Cyrillic_N placed at one key on Ukrainian keyboards ++%but mean different responses. To solve this problem, the answer Yes in ++% Ukrainian requires two letters of input at least. ++ ++%a regular expression that describes possible yes-responses ++yesexpr "/ ++/ ++" ++% "" "" "" or word "" in Cyrillic ++ ++%WARNING: Symbols N and Cyrillic_T placed at one key on Ukrainian keyboards ++%but mean different responses. To solve this problem, the answer No in ++% Ukrainian requires two letters of input. ++ ++%A regular expression that describes possible no-responses. ++noexpr "/ ++/ ++" ++% "" "" "" or word "" in Cyrillic ++ ++ ++%Output string for ``yes''. ++yesstr "" % tak ++ ++%Output string for ``no''. ++nostr "" % ni ++ + END LC_MESSAGES + ++ ++ + LC_MONETARY ++ ++%Examples: ++% ++% 100,00 hr ++% -100,00 hr ++% UAH 100,00 ++% UAH -100,00 ++% ++% 0,01 hr ++% 0,10 hr ++% 1,00 hr ++% 10,00 hr ++% 100,00 hr ++% 1000,00 hr (EXCEPTION) ++% 10 000,00 hr ++% 100 000,00 hr ++% 1 000 000,00 hr ++%... ++% ++%Note: ++%There is potential conflict between "" ("","", money), ++% "" ("","", weight) and "" ("","", time), ++% because some people uses "" for "", "" for "", etc. ++% ++% 200h - 200 hram (weight) ++% 200 hr. - 200 hram (weight) ++% 200hod - 200 hodyn (time) ++% 200 hod. - 200 hodyn (time) ++% 200hr - 200 hryven (money) ++% 200 hrv. - 200 hryven (money) ++% ++%Note: ++%Tree letter abbreviation for hryvnya is not estabilished now. :( ++%I saw "", "", "". Correct abbreviation is "". ++% ++%Format without comma for documents: ++% ++% ----15 hryven` 25 kopiyok ++% ----15 hrv. 25 kop. ++% ---- -16 hrv. 00 kop. ++% ----0 hrv. 00 kop. ++%( "" means long line over empty space before number or begin of field). ++% ++%And with numbers in words, to verify previous field: ++% ++% ---- p'yatnadtcyat` hryven` dvadtcyat` p'yat` kopiyok ++% ---- minus shisnadtcyat` hryven` nul` kopiyok ++% ---- p'yatnadtcyat` hrv. 25 kop. ++% ---- minus shisnadtcyat` hrv. 00 kop. ++% ---- nul` hrv. 00 kop. ++ ++%the local currency symbol ++currency_symbol "" % hr (hryvnya) ++ ++%This must be a 4-character string containing the international currency ++%symbol as defined by the ISO 4217 standard (three characters) followed ++%by a separator. ++% ++% DSTU ISO 3166 ++% Code Name Name in English language ++% UAH hryvnya + int_curr_symbol "" +-currency_symbol "" +-mon_decimal_point "" +-mon_thousands_sep "" ++ ++%the string that will be used as the decimal delimiter when formatting ++%monetary quantities. ++mon_decimal_point "" % see LC_NUMERIC:decimal_point ++ ++%he string that will be used as a group separator when formatting ++%monetary quantities. ++% see LC_NUMERIC:thousands separator ++mon_thousands_sep "" % (0xA0) ++ ++%Define the size of each group of digits in formatted monetary ++%quantities. The operand is a sequence of integers separated by ++%semicolons. Each integer specifies the number of digits in each ++%group, with the initial integer defining the size of the group ++%immediately preceding the decimal delimiter, and the following ++%integers defining the preceding groups. If the last integer is ++%not -1, then the size of the previous group (if any) shall be ++%repeatedly used for the remainder of the digits. If the last ++%integer is -1, then no further grouping shall be performed. ++% ++%FIXME: Must be "" but "" ++%FIXME: but I can't fix this with current glibc locale system. + mon_grouping 3;3 ++ ++%a string that is used to indicate a positive sign for monetary ++%quantities + positive_sign "" ++ ++%a string that is used to indicate a negative sign for monetary ++%quantities + negative_sign "" ++ ++%followed by the number of fractional digits that should be used when ++%formatting with the int_curr_symbol. + int_frac_digits 2 ++ ++%followed by the number of fractional digits that should be used when ++%formatting with the currency_symbol + frac_digits 2 ++ ++% 1 - the currency_symbol or int_curr_symbol should precede the ++% formatted monetary quantity ++% 0 - the symbol succeeds the value + p_cs_precedes 0 +-p_sep_by_space 1 ++int_p_cs_precedes 1 ++ ++%0 - the currency_symbol succeeds the negative value. ++%1 - the currency_symbol precedes the negative value. + n_cs_precedes 0 ++int_n_cs_precedes 1 ++ ++%0 - means that no space should be printed between the currency_symbol ++% and the value for a monetary quantity with a non-negative value. ++%1 - means that a space should be printed between the currency_symbol ++% and the value. ++%2 - means that a space should be printed between the symbol and the ++%sign string, if adjacent. ++p_sep_by_space 2 ++int_p_sep_by_space 2 ++ ++%0 - no space separates the currency_symbol or int_curr_symbol from the ++%value for a negative monetary quantity. ++%1 - a space separates the symbol from the value. ++%2 - a space separates the symbol and the sign string, if adjacent. + n_sep_by_space 1 ++int_n_sep_by_space 1 ++ ++%An integer set to a value indicating the positioning of the ++%positive_sign for a monetary quantity with a non-negative value. ++% ++%0 - Parentheses enclose the quantity and the currency_symbol or ++%int_curr_symbol. ++%1 - The sign string precedes the quantity and the currency_symbol or the ++%int_curr_symbol. ++%2 - The sign string succeeds the quantity and the currency_symbol or the ++%int_curr_symbol. ++%3 - The sign string precedes the currency_symbol or the int_curr_symbol. ++%4 - The sign string succeeds the currency_symbol or the int_curr_symbol. + p_sign_posn 1 ++int_p_sign_posn 4 ++ ++%An integer set to a value indicating the positioning of the ++%negative_sign for a monetary quantity with a negative value. ++% ++%0 - Parentheses enclose the quantity and the currency_symbol or ++%int_curr_symbol. ++%1 - The sign string precedes the quantity and the currency_symbol or the ++%int_curr_symbol. ++%2 - The sign string succeeds the quantity and the currency_symbol or the ++%int_curr_symbol. ++%3 - The sign string precedes the currency_symbol or the int_curr_symbol. ++%4 - The sign string succeeds the currency_symbol or the int_curr_symbol. + n_sign_posn 1 ++int_n_sign_posn 4 ++ + END LC_MONETARY + ++ ++ + LC_NUMERIC +-decimal_point "" +-thousands_sep "" ++ ++% Examples: ++% ++% 1 ++% 10 ++% 100 ++% 1000 (EXCEPTION) ++% 10 000 ++% 100 000 ++% 1 000 000 ++% ++% 1,0 ++% 0,1 ++% 0,01 ++% 0,001 ++% 0,0001 ++% 0,00001 ++% ++% 1 ++% -1 ++% ++% List with numbers - 1,0; 2,0; 3,0; 4,0. ++% ++% Note: ++% We use ';' as separator between numbers. ++ ++%the string that will be used as the decimal delimiter when formatting ++%numeric quantities ++decimal_point "" % see LC_MONETARY:mon_decimal_pint ++%Comma cause lot of problems - changed to dot. ++%decimal_point "" % see LC_MONETARY:mon_decimal_pint ++ ++%the string that will be used as a group separator when formatting ++%numeric quantities ++% see LC_MONETARY:mon_thousands_sep ++thousands_sep "" % (0xA0) ++ ++%a string that describes the formatting of numeric quantities ++% ++% See mon_grouping ++% ++%FIXME: Must be "" but "" ++%FIXME: but I can't fix this with current glibc locale system + grouping 3;3 ++ + END LC_NUMERIC + ++ ++ + LC_TIME +-day "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "" +-abday "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "" +-mon "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "" +-abmon "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "" +-d_t_fmt "/ +-" +-d_fmt "" ++ ++% Examples of date: ++% ++% sereda, chotyrnadtcyate travnya dvitysyachi tret`oho roku n.e. ++% sereda, chotyrnadtcyate travnya dvitysyachi tret`oho roku ++% sereda, 14-e travnya 2003-ho roku n.e. ++% sereda, 1-e travnya 2003-ho roku ++% sereda, 1 travnya 2003 ++% sereda, 01-tra-2003 ++% sr, 01-tra-03 ++% sr, 01-tra-2003 ++% 01.05.03 (Recomended by DSTU) ++% 01.05.2003 (Allowed but not recomended by DSTU) ++% 2003.05.01 (Allowed but not recomended by DSTU) ++% 01/tra/03 (Deprecated, but still commonly used format) ++% 1-e travnya (not "" or "" or "") ++% ++% Notes: ++% month after day, year after month ++% all month/weekday names and abbreviations in lower case ++% month name in date must be used in another form, than in calendar ++% day name may be used in another form in another context ++% (sereda, v seredu, tciyeyi seredy, etc.) ++ ++% Examples of time: ++% 23:59:59 +0200 ++% 00:00:00 +0200 ++% 00:00 ++ ++%Week description, fields: ++% length of week ++% Gregorian date of first day of week (19971130 for Sunday, 19971201 for Monday) ++% number of weekday to be contained in first week of year ++% week 7;19971201;4 % 7 days; Monday; Thuesday. Conforming to ISO 8601. ++ ++%a list of abbreviated weekday names, the list starts with Monday, see week. (%a) ++%BUG: glibc-2.3.2 ++%BUG: violation of ISO/IEC TR14652:2002 - list must begins with Monday ++%BUG: (see week) but currently it always must begins with Sunday. ++%BUG: Please move pn (Mon) to begin of the list and nd (Sun) to ++%BUG: end of the list after fixing the bug. ++% ++%Note: ++%Never use three letters for day abbreviations because of conflict between ++% SEReda (day name) and ++% SERpen` (month name). ++abday / ++ ""; %nd / ++ ""; %pn / ++ ""; %vt / ++ ""; %sr / ++ ""; %cht / ++ ""; %pt / ++ "" %sb ++ ++%a list of weekday names, the list starts with first day of week, see week. (%A) ++%BUG: glibc-2.3.2 ++%BUG: violation of ISO/IEC TR14652:2002 - list must begins with Monday ++%BUG: (see week) but currently it always must begins with Sunday. ++%BUG: Please move ponedilok (Monday) to begin of the list and nedilya (Sunday) to ++%BUG: end of the list after fixing the bug. ++day / ++ ""; %nedilya / ++ ""; %ponedilok / ++ ""; %vivtorok / ++ ""; %sereda / ++ ""; %chetver / ++ ""; %pjatnycya / ++ "" %subota ++ ++%a list of abbreviated month names. (%b) ++abmon / ++ ""; %sich / ++ ""; %lyut / ++ ""; %ber / ++ ""; %kvi / ++ ""; %tra / ++ ""; %cher / ++ ""; %lyp / ++ ""; %ser / ++ ""; %ver / ++ ""; %zhov / ++ ""; %lys / ++ "" %hru ++ ++%a list of month names in proper form for calendar, see alt_digits. (%B) ++mon / ++ ""; %sichen` / ++ ""; %lyutyj / ++ ""; %berezen` / ++ ""; %kviten` / ++ ""; %traven` / ++ ""; %cherven` / ++ ""; %lypen` / ++ ""; %serpen` / ++ ""; %veresen` / ++ ""; %zhovten` / ++ ""; %lystopad / ++ "" %hruden` ++ ++%A list of month names in proper form for date, see mon. (%Om) ++% This is a HACK! ++alt_digits ""; % glibc 2.3.x requires nonempty string for zero (bug?)/ ++ ""; % sichnya / ++ ""; % lyutoho / ++ ""; % bereznya / ++ ""; % kvitnya / ++ ""; % travnya / ++ ""; % chervnya / ++ ""; % lypnya / ++ ""; % serpnya / ++ ""; % veresnya / ++ ""; % zhovtnya / ++ ""; % lystopada / ++ "" % hrudnya ++ ++%Appropriate date representation for date(1). ++date_fmt "/ ++/ ++" ++ ++%The appropriate date and time format. (%c) ++d_t_fmt "/ ++" ++ ++%The appropriate date format. (%x) ++d_fmt "" ++ ++%The appropriate time format. (%X) + t_fmt "" +-am_pm "";"" +-t_fmt_ampm "" +-date_fmt "/ +-/ +-" ++ ++%The appropriate time format when using 12h clock format. (%r) ++t_fmt_ampm "/ ++" ++ ++%The appropriate representation of the am and pm strings. (%p) ++am_pm "";"" % do/po - do obidu/po obidi ++ ++%Define the first day to be displayed in a calendar. ++%Day number (1 = first) according to the information specified with the "" ++%keyword. ++%(Sunday for a week beginning with Sunday, or Monday for a week beginning with ++% Monday). ++%BUG: first day of week - Monday, but list of days begins with Sunday due ++%BUG: bug in glibc-2.2.5, so Monday is second day. ++%BUG: Change it to 1 after fixing bugs. ++first_weekday 2 ++ ++%Define the first workday, see week, first_weekday ++%BUG: first working day of week - Monday, but list of days begins with Sunday ++%BUG: due bug in glibc-2.2.5, so Monday is second day. ++%BUG: Change it to 1 after fixing bugs. ++first_workday 2 ++ ++% Zymovyj CHas (winter time) or z.ch. (or nothing) ++% Litnij CHas (summer time) or l.ch. ++% ++% ( or EET/EEST (Easter Europe [Summer] Time) ) ++% ( or Europe/Kyiv (or Kiev, in Russian) ) ++% ++%Format: ++% ++% ,,[,...] ++% ++% ZoneName - at least 3 letters, up to 10 ++% Offset - (+|-)hh[:mm[:ss]] ++% - - time zone is east of Prime Meridian ++% + - time zone is west of Prime Meridian ++% rule: [/time[/year]] ++% date: ++% J , 1-365 (without 29.02) ++% , 0-364 (without 29.02) ++% M.. - m - month(1-12), w - week(1-5), d - day of week(0-7) ++% time - as offset (without +/-) ++% ++%Rule - EU ++% Rule EU 1981 max - Mar lastSun 1:00u 1:00 S ++% Rule EU 1996 max - Oct lastSun 1:00u 0 - ++% ++%FIXME: How use it? (Tested via TZ environment variable). ++%FIXME: Can I use cyrillic characters or latin only? ++timezone "/ ++/ ++/ ++/ ++" ++ ++% Example: ++% ++% traven` cherven` ++% pn 5 12 19 26 2 9 16 23 30 ++% vt 6 13 20 27 3 10 17 24 ++% sr 7 14 21 28 4 11 18 25 ++% ct +1+ 8 15 22 29 5 12 19 26 ++% pt +2++9+16 23 30 6 13 20 27 ++%*sb* *3*10*17*24*31* *7*14*21+28+ ++%+nd+ +4+11+18+25+ +1+ +8+15+22+29+ ++% ++% + - means red color ++% * - means bold font ++% ++% Direction of the display of calendar dates: ++% 1 - left-right from top ++% 2 - top-down from left ++% 3 - right-left from top ++cal_direction 2 ++ + END LC_TIME + ++ ++ + LC_PAPER +-% FIXME +-height 297 +-% FIXME +-width 210 ++% Default paper: A4 ++height 297 % in millimeters ++width 210 % in millimeters + END LC_PAPER + ++ ++ + LC_TELEPHONE +-tel_int_fmt "/ +-" +-int_prefix "" ++ ++% Format of a telephone number for international use. ++% ++%a area code without nationwide prefix (prefix is often <0>). ++%A area code including nationwide prefix (prefix is often <0>). ++%l local number (within area code). ++%e extension (to local number) ++%c country code ++%C alternate carrier service code used for dialling abroad ++%t Insert a if the previous descriptor's value was not an empty ++% string; otherwise ignore. ++% ++% Example: +380 44 4908888 ++% ++tel_int_fmt "" % +%c %a %l ++ ++% Format of a telephone number for domestic use. ++% See tel_int_fmt. ++% ++% Example: (044) 4908888 ++% ++tel_dom_fmt "" % (%A) %l ++ ++% Prefix to call international phone numbers, see ???. ++int_select "" % 8~10 ++ ++%Prefix used from other countries to call the area, see ???. (%c) ++int_prefix "" % 380 ++ + END LC_TELEPHONE + ++ ++ + LC_MEASUREMENT +-% FIXME ++% 1 - ISO 1000 ++% 2 - U.S.A. ++% 3 - other + measurement 1 + END LC_MEASUREMENT + ++ ++ + LC_NAME +-name_fmt "/ +-" ++%Examples: ++% Full name: pan Volodymyr Mykolayovych Lisivka ++% Means: ++% pan - mister ++% Volodymyr - the man name (be Lord of the World :) ) ++% Mykolayovych - middle name (son of Mykola) ++% Lisivka - family name ++% ++% For documents: Lisivka V. M. ++% Regular name: pan Volodymyr Lisivka ++% Bossname: Volodymyr Mykolayovych ++% For friends: Volodya ++% For family: Vovka (for brothers), Vova(for mother) ++% ++% Begining of official letters: ++% Shanovnyj(-na) Volodymyre Lisivka, ... ++% ++% A salutation to not well known person: ++% pane Lisivka ++% ++% A salutation to boss: ++% Volodymyre Mykolayovychu ++% ++% A salutation to well known person (but not a friend): ++% pane Volodymyre ++% ++% FIXME: ++% to make proper salutation, we must change person name and middle name ++% to proper forms (klychna forma), but this is imposible without ++% ispell-like rules. ++% Now I use regular form, like in Russian (sic!) langauge. ++ ++%Field descriptors for the "" keyword: ++%f Family names. ++%F Family names in uppercase. ++%g First given name. ++%G First given initial. ++%l First given name with Latin letters. ++%o Other shorter name. ++%m Additional given names. ++%M Initials for additional given names. ++%p Profession. ++%s Salutation, such as "" ++%S Abbreviated salutation, such as "" or "" ++%d Salutation, using the FDCC-sets conventions ++% 1 for the name_gen ++% 2 for name_mr ++% 3 for name_mrs ++% 4 for name_miss ++% 5 for name_ms ++%t If the preceding field descriptor resulted in an empty string, ++% then the empty string, else a . ++name_fmt "" % pan Volodymyr Mykolayovych Lisivka ++ ++%A salutation valid for all persons ++name_gen "" % shanovnyj(-na) ++ ++%A salutation valid for males ++name_mr "" % pane ++ ++%A salutation valid for all females ++name_ms "" % pani ++ ++%A salutation valid for married females ++name_mrs "" % pani ++ ++%A salutation valid for unmarried females ++name_miss "" % panna ++ + END LC_NAME + ++ ++ + LC_ADDRESS +-postal_fmt "/ +-/ +-/ +-/ +-" +-country_ab2 "" +-country_ab3 "" +-country_num 804 ++ ++% Example of address in a city: ++% ++% Volodymyru Lisivtci ++% vul. Pul`uya 9, kv. 21 ++% m. L`viv ++% 79005 ++% ++% Means: ++% Volodymyru Lisivtci - to what person ++% vul. Pul`uya 9, kv. 21 - street and building, apartment number (or firm name) ++% m. L`viv - city name (m. - misto) ++% 79005 - ZIP code ++% ++% Example of firm address in a city: ++% ++% Volodymyru Lisivtci, firma "" ++% vul. Naukova 5a, 2-yj poverh, k. 239 ++% m. L`viv ++% 79005 ++% ++% Means: ++% firma "" - firm name ++% 2-yj poverh - floor number (ground floor has number one) ++% ++% Example of address in a town: ++% ++% Volodymyru Lisivtci ++% vul. Myru, kv. 19 ++% m. Zdolbuniv ++% Rivnens`koji oblasti ++% 00000 ++% ++% Means: ++% Rivnens`koji oblasti - in region of city Rivne (oblast`) ++% ++% Example of address in a village: ++% ++% Volodymyru Lisivtci ++% vul. Hranychna 7 ++% s. Bohdashiv ++% Zdolbunivs`koho rajonu Rivnens`koji oblasti ++% 00000 ++% ++% Means: ++% vul. Hranychna 7 - street and building ++% s. Bohdashiv - village name (s. - selo) ++% Zdolbunivs`koho rajonu - in region of town Zdolbuniv (rajon) ++ ++ ++%n Person's name, possibly constructed with the LC_NAME "" keyword. ++%a Care of person, or organization. ++%f Firm name. ++%d Department name. ++%b Building name. ++%s Street or block (eg. Japanese) name. ++%h House number or designation. ++%N Insert an if the previous descriptor s value was not an empty ++%string; otherwise ignore. ++%t Insert a if the previous descriptor s value was not an empty string; ++%otherwise ignore. ++%r Room number, door designation. ++%e Floor number. ++%C Country designation, from the keyword. ++%l Local township within town or city ++%z Zip number, postal code. ++%T Town, city. ++%S State, province, or prefecture. ++%c Country, as taken from data record. ++% ++%Each field descriptor may have an after the <%> to specify that the ++%information is taken from a Romanized version string of the ++%entity. ++% ++%BUG: %n escape sequence from ISO/IEC 14652:2002 is not supported by glibc-2.3.2. ++%BUG: %l escape sequence from ISO/IEC 14652:2002 is not supported by glibc-2.3.2. ++%postal_fmt "" ++postal_fmt "/ ++/ ++/ ++/ ++" ++ ++%Giving: ++% ++%Care of person Person's name Firm Department ++%Street Number, Building Floor Room ++%Town City State ++%Zip ++%Country ++ ++%Country name in the language of the current document. ++country_name "" % Ukrayina ++ ++%Language name in the language of the current document. ++lang_name "" % ukrayins`ka [mova] ++ ++%Abbreviation of the country, see CERT-MAILCODES. (%c) ++country_post "" ++ ++%Two-letter abbreviation of the country, see ISO 3166. ++country_ab2 "" ++ ++%Three-letter abbreviation of the country, see ISO 3166. ++country_ab3 "" ++ ++%Numeric country code, see ISO 3166. ++country_num 804 ++ ++%Code for country car number, see ???. ++country_car "" ++ ++%ISBN code, for books, see ???. ++country_isbn 966 ++ ++%Two-letter abbreviation of the language, see ISO 639. ++lang_ab "" ++%lang_ab2 "" % ISO/IEC 14652:2002 ++ ++%Three-letter abbreviation of the language, see ISO 639-2. ++lang_term "" ++%lang_ab3_term "" % ISO/IEC 14652:2002 ++ ++%Three-letter abbreviation of the language for library use, see ISO 639-2. ++lang_lib "" ++%lang_ab3_lib "" % ISO/IEC 14652:2002 ++ + END LC_ADDRESS +diff -ru glibc-2.3.5/localedata/locales/vi_VN glibc-old/localedata/locales/vi_VN +--- glibc-2.3.5/localedata/locales/vi_VN 2004-10-31 18:42:28.000000000 -0500 ++++ glibc-old/localedata/locales/vi_VN 2005-11-30 16:35:34.000000000 -0500 +@@ -1,23 +1,35 @@ +-comment_char % +-escape_char / +-% Vietnamese language locale for Vietnam. +-% Contributed by Kentaroh Noji and +-% Tetsuji Orita . +- +-% Revised by Le Hong Boi ++escape_char / ++comment_char % ++% ++% Vietnamese language locale for Vietnam ++% Source: glibc locale and info from vietnamese native speakers ++% Address: ++% Contact: Pablo Saratxaga ++% Email: pablo@mandrakesoft.com ++% Tel: ++% Fax: ++% Language: vi ++% Territory: VN ++% Revision: 1.1 ++% Date: 2004-01-09 ++% Users: general ++% Repertoiremap: ++% Charset: UTF-8 ++% Distribution and use is free, also ++% for commercial purposes. + + LC_IDENTIFICATION + title "Vietnamese language locale for Vietnam" +-source "IBM Globalization Center of Competency, Yamato Software Laboratory" +-address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" +-contact "" +-email "bug-glibc-locales@gnu.org" ++source "glibc locale and info from vietnamese native speakers" ++address "" ++contact "Pablo Saratxaga" ++email "pablo@mandrakesoft.com" + tel "" + fax "" + language "Vietnamese" + territory "Vietnam" +-revision "1.0" +-date "2000-07-20" ++revision "1.1" ++date "2004-01-09" + % + category "vi_VN:2000";LC_IDENTIFICATION + category "vi_VN:2000";LC_CTYPE +@@ -30,157 +42,274 @@ + category "vi_VN:2000";LC_NAME + category "vi_VN:2000";LC_ADDRESS + category "vi_VN:2000";LC_TELEPHONE ++category "vi_VN:2000";LC_MEASUREMENT + + END LC_IDENTIFICATION + + LC_CTYPE + copy "i18n" ++translit_start ++ ++% dong sign -> d// -> dd ++ "";"" ++ ++translit_end + END LC_CTYPE + + LC_COLLATE +- + % Copy the template from ISO/IEC 14651 + copy "iso14651_t1" + ++% A( A^ E^ O+ U+ DD are treatead as base letters ++% ordering of accents is: grave, hook, tilde, acute, dot below ++% a a( a> b c d d/ e e> f g h i j k l m n o o+ p q r s t u u+ v w x y z ++ ++collating-symbol ++collating-symbol > ++collating-symbol ++collating-symbol > ++collating-symbol > ++collating-symbol ++collating-symbol ++ ++collating-symbol ++ ++reorder-after ++ ++ ++ ++ ++ ++ ++reorder-after ++ ++> ++reorder-after ++ ++reorder-after ++> ++reorder-after ++> ++ ++reorder-after ++ ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++ >;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-end ++ + END LC_COLLATE + + LC_MONETARY +-% This is the POSIX Locale definition the LC_MONETARY category. +-% These are generated based on XML base Locale difintion file +-% for IBM Class for Unicode/Java +-% + int_curr_symbol "" + currency_symbol "" + mon_decimal_point "" + mon_thousands_sep "" +-mon_grouping 3 ++mon_grouping 3;3 + positive_sign "" + negative_sign "" +-int_frac_digits 2 +-frac_digits 2 ++int_frac_digits 4 ++frac_digits 4 + p_cs_precedes 0 + p_sep_by_space 0 + n_cs_precedes 1 + n_sep_by_space 0 + p_sign_posn 1 + n_sign_posn 1 +-% + END LC_MONETARY + +- + LC_NUMERIC +-% This is the POSIX Locale definition for the LC_NUMERIC category. +-% +-decimal_point "" +-thousands_sep "" +-grouping 3 +-% ++decimal_point "" ++thousands_sep "" ++grouping 3;3 + END LC_NUMERIC + +- + LC_TIME +-% This is the POSIX Locale definition for the LC_TIME category. +-% These are generated based on XML base Locale difintion file +-% for IBM Class for Unicode/Java +-% +-% Abbreviated weekday names (%a) +-abday "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "" +-% +-% Full weekday names (%A) +-day "/ +-";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "/ +-" +-% +-% Abbreviated month names (%b) +-abmon "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "" +-% +-% Full month names (%B) +-mon "/ +-";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "/ +-";/ +- "";/ +- "/ +-";/ +- "/ +-";/ +- "/ +-";/ +- "/ +-" +-% +-% Equivalent of AM PM +-am_pm "";"" +-% +-% Appropriate date and time representation +-% %A %d %b %Y%H:%M:%S %Z +-d_t_fmt "/ +-/ +-" +-% +-% Appropriate date representation +-% %A %d %b %Y +-d_fmt "/ +-" +-% +-% Appropriate time representation +-% %H:%M:%S %Z +-t_fmt "/ +-" +-% +-% Appropriate 12 h time representation (%r) +-t_fmt_ampm "" +-% +-% Appropriate date representation (date(1)) "%H:%M:%S %a %e %b %Y %Z" +-date_fmt "/ +-/ +-" ++abday "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "" ++day "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "" ++abmon "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "" ++mon "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "" ++d_t_fmt "" ++d_fmt "" ++t_fmt "" ++am_pm "";"" ++t_fmt_ampm "" ++date_fmt "" + END LC_TIME + +- ++% yes: Va^ng / Da. ++% no: Kho^ng + LC_MESSAGES +-yesexpr "" +-noexpr "" ++yesstr "" ++nostr "" ++yesexpr "" ++noexpr "" + END LC_MESSAGES + +- + LC_PAPER +-% This is the ISO_IEC TR14652 Locale definition for the +-% LC_PAPER category + height 297 + width 210 +- + END LC_PAPER + +- + LC_NAME + % This is the ISO_IEC TR14652 Locale definition for the + % LC_NAME category. +@@ -220,10 +349,7 @@ + + END LC_TELEPHONE + +- + LC_MEASUREMENT +-% This is the ISO_IEC TR14652 Locale definition for the +-% + measurement 1 +- + END LC_MEASUREMENT ++ +diff -ru glibc-2.3.5/localedata/locales/wa_BE glibc-old/localedata/locales/wa_BE +--- glibc-2.3.5/localedata/locales/wa_BE 2004-03-23 02:36:58.000000000 -0500 ++++ glibc-old/localedata/locales/wa_BE 2005-11-30 16:35:34.000000000 -0500 +@@ -1,20 +1,20 @@ + comment_char % + escape_char / +-% charset "ISO_8859-1:1987" ++% charset "UTF-8" + % Distribution and use is free, also for commercial purposes. + + LC_IDENTIFICATION + title "Walloon Language Locale for Belgium" + source "Djan SACRE" +-contact "Djan SACRE, Pablo Saratxaga" +-email "Djan_Sacre@skynet.be, pablo@mandrakesoft.com" ++contact "Pablo Saratxaga" ++email "pablo@mandrakesoft.com" + address "" + tel "" + fax "" + language "Walloon" + territory "Belgium" +-revision "0.7" +-date "2002-02-11" ++revision "0.9" ++date "2003-08-25" + + category i18n:2000;LC_IDENTIFICATION + category i18n:2000;LC_COLLATE +@@ -102,22 +102,22 @@ + END LC_TELEPHONE + + % COMINTAIRE: a çu ki dji sai, i gn a nou rascourti _oficir_ +-% po les moes et les djo=FBs. ++% po les moes et les djoûs. + % Donk, dji fwai come ça _mi_ shonne lodjike. + % +-% Po les rascoutis, on a métu "djn" po djun, et "djl" po djulete. ++% Po les rascoutis, on a metou "djn" po djun, et "djl" po djulete. + + LC_TIME +-abday "";"";/ +- "";"";/ +- "";"";/ ++abday "";"";/ ++ "";"";/ ++ "";"";/ + "" +-day "";/ ++day "";/ + "";/ + "";/ +- "";/ ++ "";/ + "";/ +- "";/ ++ "";/ + "" + abmon "";"";/ + "";"";/ +@@ -137,8 +137,8 @@ + "";/ + "";/ + "" +-% Pol cogne des dates (li longue cogne), c' e-st on pô mÃ¥lÃ¥jhey, ca i fÃ¥t +-% stitchi on "di" ou on "d'" pa dvant li no do moes. Donk: ++% Pol cogne des dates (li longue cogne), c' est on pô mÃ¥lÃ¥jhey, ca i fÃ¥t ++% stitchî on "di" ou on "d'" pa dvant li no do moes. Donk: + % "Li prumî" ou "Li 1 di djanvî 1999" + % di fevrî + % di mÃ¥ss +@@ -151,7 +151,7 @@ + % d' octôbe + % di nôvimbe + % di decimbe +-% Est çu ki c' est possibe d' avu "di" ou "d'" sorlon ki li no do moes ++% Est çki c' est possibe d' aveur "di" ou "d'" sorlon ki li no do moes + % cmince avou ene voyale ou ene cossoune? + % + % Neni :-( +@@ -163,7 +163,8 @@ + am_pm "";"" + t_fmt_ampm "" + % prumî djoû del samwinne (1=londi) +-first_weekday 1 ++% FIXME No, 2=lundi ++first_weekday 2 + END LC_TIME + + LC_NAME +diff -ru glibc-2.3.5/localedata/locales/wal_ET glibc-old/localedata/locales/wal_ET +--- glibc-2.3.5/localedata/locales/wal_ET 2004-05-03 16:49:23.000000000 -0400 ++++ glibc-old/localedata/locales/wal_ET 2005-11-30 16:35:34.000000000 -0500 +@@ -110,7 +110,7 @@ + % country_car unknown + % country_isbn unknown, Need ISO 2108 + lang_name "" +-lang_ab "" ++lang_ab "" + lang_term "" + lang_lib "" + +diff -ru glibc-2.3.5/localedata/locales/xh_ZA glibc-old/localedata/locales/xh_ZA +--- glibc-2.3.5/localedata/locales/xh_ZA 2003-12-03 23:49:56.000000000 -0500 ++++ glibc-old/localedata/locales/xh_ZA 2005-11-30 16:35:34.000000000 -0500 +@@ -1,22 +1,43 @@ + escape_char / + comment_char % + ++% Charset: UTF-8 ++ + % ChangeLog ++% 0.3 (2005-10-13): ++% 2005-10-12 Dwayne Bailey ++% - Added 'Charset: UTF-8' information ++% - Update contact information ++% - Allign spellings of month and weekday names with Dept. of ++% Art and Culture's: Multilingual Mathematics Dictionary ++% 0.2 (2004-11-02): ++% 2004-11-01 Dwayne Bailey ++% - Change all contact information ++% - d_t_fmt, date_fmt cahnged day number %e to %-e to remove ++% space padding in day. ++% - Remove .* from yes/noexpr ++% 2004-03-30 Dwayne Bailey ++% - Added country_ab2/3, country_num ++% - Added country_car ++% 2004-03-29 Dwayne Bailey ++% - Added lang_ab and lang_term ++% 2004-02-27 Dwayne Bailey ++% - Add lang_name + % 0.1 (2003-05-08): +-% - Initial Xhosa locale by Zuza Software Foundation ++% - Initial Xhosa locale by Zuza Software Foundation + + LC_IDENTIFICATION + title "Xhosa locale for South Africa" +-source "Zuza Software Foundation" +-address "PO Box 13412, Mowbray, 7705, South Africa" ++source "Zuza Software Foundation (Translate.org.za)" ++address "PO Box 28364, Sunnyside, 0132, South Africa" + contact "Dwayne Bailey" + email "dwayne@translate.org.za" +-tel "+27 (0)21 448 9265" +-fax "+27 (0)21 448 9574" ++tel "+27 12 460 1095" ++fax "+27 12 460 1095" + language "Xhosa" + territory "South Africa" +-revision "0.1" +-date "2003-05-08" ++revision "0.3" ++date "2005-10-13" + % + category "xh_ZA:2003";LC_IDENTIFICATION + category "xh_ZA:2003";LC_CTYPE +@@ -64,44 +85,44 @@ + "" + % + % The full names of the week days: +-% - Cawe, Mvulo, Lwesibini, Lwesithathu, Lwesine, Lwesihlanu, Mgqibelo +-day "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "" ++% - iCawa, uMvulo, lwesiBini, lwesiThathu, ulweSine, lwesiHlanu, uMgqibelo ++day "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "" + % + % The abbreviations for the months +-% - Jan, Feb, Mat, Epr, Mey, Jun, Jul, Aga, Sep, Okt, Nov, Dis +-abmon "";"";/ +- "";"";/ +- "";"";/ +- "";"";/ +- "";"";/ +- "";"" ++% - Mqu, Mdu, Kwi, Tsh, Can, Sil, Kha, Thu, Msi, Dwa, Nka, Mng ++abmon "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"" + % + % The full names of the months - +-% - Janyuwari, Februwari, Matshi, Epreli, Meyi, Juni, Julayi, Agasti, Septemba, +-% Okthoba, Novemba, Disemba +-mon "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "" ++% - eyoMqungu, eyoMdumba, eyoKwindla, uTshazimpuzi, uCanzibe, eyeSilimela ++% eyeKhala, eyeThupa, eyoMsintsi, eyeDwarha, eyeNkanga, eyoMnga ++mon "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "" + % + % Abreviated date and time representation to be referenced by the "%c" field descriptor - +-d_t_fmt "" ++d_t_fmt "" + % "%a" (weekday name), +-% "%d" (day of month as a decimal number), ++% "%-e" (day of month as a decimal number), + % "%b" (month name), + % "%Y" (year with century as a decimal number), + % "%T" (24-hour clock time in format HH:MM:SS), +@@ -125,8 +146,8 @@ + t_fmt_ampm "" + % + % Date representation not described in ISO/IEC 14652. +-% Comes out as - "%a %b %e %H:%M:%S %Z %Y" +-date_fmt "/ ++% Comes out as - "%a %b %-e %H:%M:%S %Z %Y" ++date_fmt "/ + / + " + % which is: +@@ -143,12 +164,12 @@ + + LC_MESSAGES + % The affirmative response - +-% "^[yYeE].*" +-yesexpr "" ++% "^[yYeE]" ++yesexpr "" + % + % The negative response - +-% "^[nNhH].*" +-noexpr "" ++% "^[nNhH]" ++noexpr "" + % + END LC_MESSAGES + +@@ -198,9 +219,19 @@ + % Abbreviated country postal name - "ZA" + country_post "" + % +-% ISO 3166 two letter country abbreviation - "ZA" +-country_ab2 "" +-% ++% Language name in Sotho - "IsiXhosa" ++lang_name "" ++ ++% UN Geneve 1949:68 Distinguishing signs of vehicles in international traffic ++% http://www.unece.org/trans/conventn/disting-signs-5-2001.pdf ++% "ZA" ++country_car "" ++ ++% ISO 639 two and three letter language names ++% see http://www.loc.gov/standards/iso639-2/englangn.html ++lang_ab "" ++lang_term "" ++ + % Representation of postal addresses (minus the addressee's name) in South + % Africa. (Ignored for now) + postal_fmt "/ +@@ -231,7 +262,13 @@ + % "country designation for the keyword", + % "end of line + % +-country_ab3 "" +-country_num 710 ++ ++% ISO 3166 country number and 2 and 3 letter abreviations ++% http://www.unicode.org/onlinedat/countries.html ++% "ZA", "ZAF" ++country_num 710 ++country_ab2 "" ++country_ab3 "" ++ + END LC_ADDRESS + +diff -ru glibc-2.3.5/localedata/locales/yi_US glibc-old/localedata/locales/yi_US +--- glibc-2.3.5/localedata/locales/yi_US 2003-08-25 14:35:41.000000000 -0400 ++++ glibc-old/localedata/locales/yi_US 2005-11-30 16:35:34.000000000 -0500 +@@ -1,10 +1,13 @@ + comment_char % + escape_char / +-% charset "CP1255" ++% charset "UTF-8" + % Distribution and use is free, also for commercial purposes. ++% ++% 2003-08-16: corrections from Raphael Finkel ++% + + LC_IDENTIFICATION +-title "Yiddish Language locale" ++title "Yiddish Language locale for the USA" + source "http:////www.uyip.org//" + address "" + contact "Pablo Saratxaga" +@@ -13,8 +16,8 @@ + fax "" + language "Yiddish" + territory "USA" +-revision "0.3" +-date "2001-01-28" ++revision "0.4" ++date "2003-08-16" + + category "yi_US:2000";LC_IDENTIFICATION + category "yi_US:2000";LC_COLLATE +@@ -39,15 +42,15 @@ + postal_fmt "/ + / + " +-% FIXME country_name "United States" in Yiddish? +-% FIXME country_post "US" for United States? ++country_name "" ++country_post "USA" + country_ab2 "US" + country_ab3 "USA" + country_num 840 + country_car "USA" + % FIXME Check which isbn for Yiddish in USA + country_isbn "0" +-% FIXME lang_name yiddish in yiddish? ++lang_name "" + lang_ab "yi" + lang_term "yid" + lang_lib "yid" +@@ -96,19 +99,19 @@ + + + reorder-after +- ;;;IGNORE ++ ;;IGNORE;IGNORE + reorder-after +-<05F0> "";"";IGNORE;IGNORE +-<05F1> "";"";IGNORE;IGNORE ++ "";"";IGNORE;IGNORE ++ "";"";IGNORE;IGNORE + reorder-after +-<05F2> "";"";IGNORE;IGNORE +- ;;;IGNORE ++ "";"";IGNORE;IGNORE ++ ;;IGNORE;IGNORE + reorder-after +- ;;;IGNORE +- ;;;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE + reorder-after +- ;;;IGNORE +- ;;;IGNORE ++ ;;IGNORE;IGNORE ++ ;;IGNORE;IGNORE + + reorder-end + +@@ -166,17 +169,17 @@ + "";/ + "";/ + "";/ +- "";/ ++ "";/ + "";/ + "";/ +- "";/ +- "" +-abmon "";"";/ +- "";"";/ +- "";"";/ +- "";"";/ +- "";"";/ +- "";"" ++ "";/ ++ "" ++abmon "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"" + d_t_fmt "" + d_fmt "" + t_fmt "" +@@ -188,7 +191,7 @@ + LC_MESSAGES + yesexpr "" + noexpr "" +-yesstr "" ++yesstr "" + nostr "" + END LC_MESSAGES + +diff -ru glibc-2.3.5/localedata/locales/zh_CN glibc-old/localedata/locales/zh_CN +--- glibc-2.3.5/localedata/locales/zh_CN 2004-10-31 18:42:28.000000000 -0500 ++++ glibc-old/localedata/locales/zh_CN 2005-11-30 16:35:34.000000000 -0500 +@@ -128,9 +128,11 @@ + + t_fmt_ampm "" + +-date_fmt "/ +-/ +-" ++date_fmt "/ ++/ ++" ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + LC_MESSAGES +diff -ru glibc-2.3.5/localedata/locales/zh_HK glibc-old/localedata/locales/zh_HK +--- glibc-2.3.5/localedata/locales/zh_HK 2004-10-31 18:42:28.000000000 -0500 ++++ glibc-old/localedata/locales/zh_HK 2005-11-30 16:35:34.000000000 -0500 +@@ -141,6 +141,8 @@ + date_fmt "/ + / + " ++% FIXME: found in CLDR ++first_weekday 1 + END LC_TIME + + +diff -ru glibc-2.3.5/localedata/locales/zh_SG glibc-old/localedata/locales/zh_SG +--- glibc-2.3.5/localedata/locales/zh_SG 2004-10-31 18:42:28.000000000 -0500 ++++ glibc-old/localedata/locales/zh_SG 2005-11-30 16:35:34.000000000 -0500 +@@ -130,6 +130,8 @@ + % Appropriate 12 h time representation (%r) + t_fmt_ampm "" + % ++% FIXME: found in CLDR ++first_weekday 2 + END LC_TIME + + +diff -ru glibc-2.3.5/localedata/locales/zh_TW glibc-old/localedata/locales/zh_TW +--- glibc-2.3.5/localedata/locales/zh_TW 2004-10-31 18:42:28.000000000 -0500 ++++ glibc-old/localedata/locales/zh_TW 2005-11-30 16:35:34.000000000 -0500 +@@ -1,12 +1,12 @@ + comment_char % + escape_char / + % +-% Chinese language locale for Taiwan R.O.C. ++% Chinese language locale for Taiwan + % charmap: BIG5-CP950 + % + % Original Author: + % Ming-Che Chuang +-% PPE of NTU, Taiwan, ROC ++% PPE of NTU, Taiwan + % + % Currently Maintained by: + % Yuan-Chung Cheng +@@ -17,7 +17,7 @@ + % Reference: http://wwwold.dkuug.dk/JTC1/SC22/WG20/docs/n690.pdf + + LC_IDENTIFICATION +-title "Chinese locale for Taiwan R.O.C." ++title "Chinese locale for Taiwan" + source "" + address "" + contact "" +@@ -25,7 +25,7 @@ + tel "" + fax "" + language "Chinese" +-territory "Taiwan R.O.C." ++territory "Taiwan" + revision "0.2" + date "2000-08-02" + % +@@ -128,6 +128,9 @@ + / + " + ++% FIXME: found in CLDR ++first_weekday 1 ++ + END LC_TIME + + LC_MESSAGES +diff -ru glibc-2.3.5/localedata/locales/zu_ZA glibc-old/localedata/locales/zu_ZA +--- glibc-2.3.5/localedata/locales/zu_ZA 2003-12-03 23:49:56.000000000 -0500 ++++ glibc-old/localedata/locales/zu_ZA 2005-11-30 16:35:34.000000000 -0500 +@@ -1,22 +1,46 @@ + escape_char / + comment_char % + ++% Charset: UTF-8 ++ + % ChangeLog ++% 0.3 (2005-10-13): ++% 2005-10-12 Dwayne Bailey ++% - Added 'Charset: UTF-8' information ++% - Update contact information ++% - Allign spellings of month and weekday names with Dept. of ++% Art and Culture's: Multilingual Mathematics Dictionary ++% 0.2 (2004-10-28): ++% 2004-10-28 Dwayne Bailey ++% - Added lang_lib ++% - Reverted version number to 0.2 - needs more testing ++% 2004-10-27 Dwayne Bailey ++% - Add Translate.org.za to "source" for clarity ++% - Update all contact details ++% - Remove .* from yes/noexpr ++% 2004-03-30 Dwayne Bailey ++% - Added country_ab2/3, country_num ++% - Added country_car ++% 2004-03-29 Dwayne Bailey ++% - Added lang_ab and lang_term ++% 2004-02-27 Dwayne Bailey ++% - Correct capatilisation of lang_name + % 0.1 (2003-04-19): +-% - Initial Zulu locale by Zuza Software Foundation ++% 2003-04-19: ++% - Initial Zulu locale by Zuza Software Foundation + + LC_IDENTIFICATION + title "Zulu locale for South Africa" +-source "Zuza Software Foundation" +-address "PO Box 13412, Mowbray, 7705, South Africa" ++source "Zuza Software Foundation (Translate.org.za)" ++address "Box 28364, Sunnyside, 0132, South Africa" + contact "Dwayne Bailey" + email "dwayne@translate.org.za" +-tel "+27 (0)21 448 9265" +-fax "+27 (0)21 448 9574" ++tel "+27 12 460 1095" ++fax "+27 12 460 1095" + language "Zulu" + territory "South Africa" +-revision "0.1" +-date "2003-04-19" ++revision "0.3" ++date "2005-10-13" + % + category "zu_ZA:2003";LC_IDENTIFICATION + category "zu_ZA:2003";LC_CTYPE +@@ -66,39 +90,39 @@ + "" + + % day - The full names of the week days: +-% - Sonto, Msombuluko, Lwesibili, Lwesithathu, Lwesine, Lwesihlanu, Mgqibelo +-day "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "" ++% - iSonto, uMsombuluko, uLwesibili, uLwesithathu, uLwesine, uLwesihlanu, uMgqibelo ++day "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "" + + % abmon - The abbreviations for the months +-% - Jan, Feb, Mas, Apr, Mey, Jun, Jul, Aga, Sep, Okt, Nov, Dis +-abmon "";"";/ +- "";"";/ +- "";"";/ +- "";"";/ +- "";"";/ +- "";"" ++% - Mas, Ola, Nda, Mba, Aba, Ang, Ntu, Ncw, Man, Mfu, Lwe, Zib ++abmon "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"" + + % mon - The full names of the months - +-% - Januwari, Februwari, Mashi, Apreli, Meyi, Juni, Julayi, Agasti, Septemba, +-% Okthoba, Novemba, Disemba +-mon "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "";/ +- "" ++% - uMasingana, uNhlolanja, uNdasa, uMbasa, uNhlaba, uNhlangulana ++% uNtulikazi, uNcwaba, uMandulo, uMfumfu, uLwezi, uZibandlela ++mon "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "" + + % Abreviated date and time representation to be referenced by the "%c" field descriptor - + d_t_fmt "" +@@ -145,13 +169,13 @@ + END LC_TIME + + LC_MESSAGES +-yesexpr "" ++yesexpr "" + % The affirmative response - +-% "^[yY].*" ++% "^[yY]" + % +-noexpr "" ++noexpr "" + % The negative response - +-% "^[nNcC].*" ++% "^[nNcC]" + % + END LC_MESSAGES + +@@ -201,12 +225,21 @@ + country_post "" + % Abbreviated country postal name - "ZA" + % +-country_ab2 "" +-% ISO 3166 two letter country abbreviation - "ZA" +-% +-lang_name "" +-% Language name in Zulu - "Isizulu" +-% ++lang_name "" ++% Language name in Zulu - "IsiZulu" ++ ++% UN Geneve 1949:68 Distinguishing signs of vehicles in international traffic ++% http://www.unece.org/trans/conventn/disting-signs-5-2001.pdf ++% "ZA" ++country_car "" ++ ++% ISO 639 two and three letter language names ++% see http://www.loc.gov/standards/iso639-2/englangn.html ++% "zu", "zul", "zul" ++lang_ab "" ++lang_term "" ++lang_lib "" ++ + postal_fmt "/ + / + / +@@ -237,7 +270,13 @@ + % "country designation for the keyword", + % "end of line + % +-country_ab3 "" +-country_num 710 ++ ++% ISO 3166 country number and 2 and 3 letter abreviations ++% http://www.unicode.org/onlinedat/countries.html ++% "ZA", "ZAF" ++country_num 710 ++country_ab2 "" ++country_ab3 "" ++ + END LC_ADDRESS + +diff -ru glibc-2.3.5/localedata/tst-locale.sh glibc-old/localedata/tst-locale.sh +--- glibc-2.3.5/localedata/tst-locale.sh 2001-07-06 00:55:34.000000000 -0400 ++++ glibc-old/localedata/tst-locale.sh 2005-11-30 18:52:58.000000000 -0500 +@@ -50,7 +50,6 @@ + test_locale tests/test1.cm tests/test1.def test1 + test_locale tests/test2.cm tests/test2.def test2 + test_locale tests/test3.cm tests/test3.def test3 +-test_locale tests/test4.cm tests/test4.def test4 + test_locale tests/test5.cm tests/test5.def test5 tests/test5.ds + test_locale tests/test6.cm tests/test6.def test6 tests/test6.ds + test_locale tests/test7.cm tests/test7.def test7 +--- glibc-2.3.5/localedata/da_DK.old 2005-11-30 20:04:40.000000000 -0500 ++++ glibc-old/localedata/da_DK.in 2005-11-30 20:05:44.000000000 -0500 +@@ -1,9 +1,9 @@ + A +-A/S + ANDRE + ANDRÉ + ANDREAS + AS ++A/S + CA + ÇA + CB +@@ -23,9 +23,9 @@ + HAANDVÆRKSBANKEN + Karl + karl ++NIELSEN + NIELS JØRGEN + NIELS-JØRGEN +-NIELSEN + RÉE, A + REE, B + RÉE, L +@@ -39,10 +39,10 @@ + SS + ß + SSA +-STORE VILDMOSE + STOREKÆR +-STORM PETERSEN ++STORE VILDMOSE + STORMLY ++STORM PETERSEN + SÅ + SAA + Saa --- glibc-2.3.6.orig/debian/patches/local-all-tcsetaddr-lsb.dpatch +++ glibc-2.3.6/debian/patches/local-all-tcsetaddr-lsb.dpatch @@ -0,0 +1,96 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: tcsetattr sanity check on PARENB/CREAD/CSIZE for ptys +# DP: Related bugs: 218131 +# DP: Author: Jeff Licquia +# DP: Upstream status: [In CVS | Debian-Specific | Pending | Not submitted ] +# DP: Status Details: +# DP: Date: 2003-10-29 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +diff --recursive --unified --new-file glibc-2.3.2-old/sysdeps/unix/sysv/linux/tcsetattr.c glibc-2.3.2/sysdeps/unix/sysv/linux/tcsetattr.c +--- glibc-2.3.2-old/sysdeps/unix/sysv/linux/tcsetattr.c 2003-02-20 19:09:12.000000000 -0500 ++++ glibc-2.3.2/sysdeps/unix/sysv/linux/tcsetattr.c 2003-10-31 13:43:43.000000000 -0500 +@@ -55,7 +55,12 @@ + const struct termios *termios_p; + { + struct __kernel_termios k_termios; ++ struct __kernel_termios k_termios_old; + unsigned long int cmd; ++ int retval, old_retval; ++ ++ /* Preserve the previous termios state if we can. */ ++ old_retval = INLINE_SYSCALL (ioctl, 3, fd, TCGETS, &k_termios_old); + + switch (optional_actions) + { +@@ -87,6 +92,54 @@ + memcpy (&k_termios.c_cc[0], &termios_p->c_cc[0], + __KERNEL_NCCS * sizeof (cc_t)); + +- return INLINE_SYSCALL (ioctl, 3, fd, cmd, &k_termios); ++ retval = INLINE_SYSCALL (ioctl, 3, fd, cmd, &k_termios); ++ ++ /* The Linux kernel silently ignores the invalid c_cflag on pty. ++ We have to check it here, and return an error. But if some other ++ setting was successfully changed, POSIX requires us to report ++ success. */ ++ if ((retval == 0) && (old_retval == 0)) ++ { ++ int save = errno; ++ retval = INLINE_SYSCALL (ioctl, 3, fd, TCGETS, &k_termios); ++ if (retval) ++ { ++ /* We cannot verify if the setting is ok. We don't return ++ an error (?). */ ++ __set_errno (save); ++ retval = 0; ++ } ++ else if ((k_termios_old.c_oflag != k_termios.c_oflag) || ++ (k_termios_old.c_lflag != k_termios.c_lflag) || ++ (k_termios_old.c_line != k_termios.c_line) || ++ ((k_termios_old.c_iflag | IBAUD0) != (k_termios.c_iflag | IBAUD0))) ++ { ++ /* Some other setting was successfully changed, which ++ means we should not return an error. */ ++ __set_errno (save); ++ retval = 0; ++ } ++ else if ((k_termios_old.c_cflag | (PARENB & CREAD & CSIZE)) != ++ (k_termios.c_cflag | (PARENB & CREAD & CSIZE))) ++ { ++ /* Some other c_cflag setting was successfully changed, which ++ means we should not return an error. */ ++ __set_errno (save); ++ retval = 0; ++ } ++ else if ((termios_p->c_cflag & (PARENB | CREAD)) ++ != (k_termios.c_cflag & (PARENB | CREAD)) ++ || ((termios_p->c_cflag & CSIZE) ++ && (termios_p->c_cflag & CSIZE) ++ != (k_termios.c_cflag & CSIZE))) ++ { ++ /* It looks like the Linux kernel silently changed the ++ PARENB/CREAD/CSIZE bits in c_cflag. Report it as an ++ error. */ ++ __set_errno (EINVAL); ++ retval = -1; ++ } ++ } ++ return retval; + } + libc_hidden_def (tcsetattr) --- glibc-2.3.6.orig/debian/patches/00list.amd64 +++ glibc-2.3.6/debian/patches/00list.amd64 @@ -0,0 +1 @@ +amd64-lib --- glibc-2.3.6.orig/debian/patches/glibc23-hppa-Rminkernel.dpatch +++ glibc-2.3.6/debian/patches/glibc23-hppa-Rminkernel.dpatch @@ -0,0 +1,62 @@ +#! /bin/sh -e + +# DP: Description: Relax glibc kernel version requirement. +# DP: Author: Carlos O'Donell +# DP: Upstream status: Debian-Specific +# DP: Status Details: Overrides upstream requirement of 2.4.19 +# DP: Date: December 5th, 2002, updated 2003-03-23 by gotom + +# +# Comments from Carlos: +# +# Our users come first, and I've changed this back after seeing +# some people get burned by not having new kernels. We also +# shouldn't be forcing people to use new kernels. Rather they should +# be upgrading after seeing the quantifiable failures and choosing +# to go for a new kernel :) It's an empowerment issue. +# +# If you complain of random segfaults in libc or other programs because +# you have an old kernel without a fixed unaligned handler... the first +# thing I'm going to ask is that you try upgrading to 2.4.19/20 :} +# +# When 2.4.19 on hppa becomes the defacto stable kernel, we can remove +# the patch and let the upstream requirement be used. At which point +# the preinst patch needs to be modified or removed. +# + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +--- sysdeps/unix/sysv/linux/configure.in 2003-03-23 16:18:07.000000000 +0900 ++++ sysdeps/unix/sysv/linux/configure.in.new 2003-03-23 16:19:08.000000000 +0900 +@@ -65,7 +65,7 @@ + ;; + hppa*) + libc_cv_gcc_unwind_find_fde=yes +- arch_minimum_kernel=2.4.19 ++ arch_minimum_kernel=2.4.17 + ;; + m68k*) + arch_minimum_kernel=2.0.10 +--- sysdeps/unix/sysv/linux/configure 2003-03-23 16:15:05.000000000 +0900 ++++ sysdeps/unix/sysv/linux/configure.new 2003-03-23 16:21:47.000000000 +0900 +@@ -106,7 +106,7 @@ + ;; + hppa*) + libc_cv_gcc_unwind_find_fde=yes +- arch_minimum_kernel=2.4.19 ++ arch_minimum_kernel=2.4.17 + ;; + m68k*) + arch_minimum_kernel=2.0.10 --- glibc-2.3.6.orig/debian/patches/locale-eo_EO.dpatch +++ glibc-2.3.6/debian/patches/locale-eo_EO.dpatch @@ -0,0 +1,243 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Add Esperanto locale (eo_EO) +# DP: Related bugs: #78085 +# DP: Dpatch author: Ben Collins +# DP: Patch author: Robert Thomson and Edmund GRIMLEY +# DP: Upstream status: Not submitted +# DP: Status Details: +# DP: Date: 2001-03-23 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- glibc-2.2.3/localedata/locales/eo_EO~ Wed Dec 31 19:00:00 1969 ++++ glibc-2.2.3/localedata/locales/eo_EO Thu May 10 15:10:30 2001 +@@ -0,0 +1,216 @@ ++comment_char % ++escape_char / ++ ++% Esperanto language locale for ... ++% Edmund GRIMLEY EVANS ++ ++LC_IDENTIFICATION ++title "Esperanto locale" ++source "" ++address "" ++contact "" ++email "debian-esperanto@lists.debian.org" ++tel "" ++fax "" ++language "Esperanto" ++territory "" ++revision "draft" ++date "2001-03-29" ++% ++category "eo_EO:2000";LC_IDENTIFICATION ++category "eo_EO:2000";LC_CTYPE ++category "eo_EO:2000";LC_COLLATE ++category "eo_EO:2000";LC_TIME ++category "eo_EO:2000";LC_NUMERIC ++category "eo_EO:2000";LC_MONETARY ++category "eo_EO:2000";LC_MESSAGES ++category "eo_EO:2000";LC_PAPER ++category "eo_EO:2000";LC_NAME ++category "eo_EO:2000";LC_ADDRESS ++category "eo_EO:2000";LC_TELEPHONE ++ ++END LC_IDENTIFICATION ++ ++LC_CTYPE ++copy "i18n" ++END LC_CTYPE ++ ++LC_COLLATE ++copy "iso14651_t1" ++ ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++ ++reorder-after ++ ++reorder-after ++ ++reorder-after ++ ++reorder-after ++ ++reorder-after ++ ++reorder-after ++ ++ ++reorder-after ++ ;;;IGNORE % Ĉ ++reorder-after ++ ;;;IGNORE % ĉ ++reorder-after ++ ;;;IGNORE % Äœ ++reorder-after ++ ;;;IGNORE % Ä ++reorder-after ++ ;;;IGNORE % Ĥ ++reorder-after ++ ;;;IGNORE % Ä¥ ++reorder-after ++ ;;;IGNORE % Ä´ ++reorder-after ++ ;;;IGNORE % ĵ ++reorder-after ++ ;;;IGNORE % Åœ ++reorder-after ++ ;;;IGNORE % Å ++reorder-after ++ ;;;IGNORE % Ŭ ++reorder-after ++ ;;;IGNORE % Å­ ++ ++reorder-end ++ ++END LC_COLLATE ++ ++LC_MONETARY ++int_curr_symbol "" % "EUR" ++currency_symbol "" % "EUR" ++% "" ne eblas en ISO-8859-3 ++mon_decimal_point "" ++mon_thousands_sep "" ++mon_grouping 3;3 ++positive_sign "" ++negative_sign "" ++int_frac_digits 2 ++frac_digits 2 ++p_cs_precedes 1 ++p_sep_by_space 1 ++n_cs_precedes 1 ++n_sep_by_space 1 ++p_sign_posn 1 ++n_sign_posn 1 ++END LC_MONETARY ++ ++LC_NUMERIC ++decimal_point "" ++thousands_sep "" ++grouping 0;0 ++END LC_NUMERIC ++ ++LC_TIME ++ ++% "dim";"lun";"mar";"mer";"ĵaÅ­";"ven";"sab" ++abday "";"";/ ++ "";"";/ ++ "";"";/ ++ "" ++ ++% "dimanĉo";"lundo";"mardo";"merkredo";"ĵaÅ­do";"vendredo";"sabato" ++day "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "" ++ ++% "Jan";"Feb";"Mar";"Apr";"Maj";"Jun";"Jul";"AÅ­g";"Sep";"Okt";"Nov";"Dec" ++abmon "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"" ++ ++% "Januaro";"Februaro";"Marto";"Aprilo";"Majo";"Junio"; ++% "Julio";"AÅ­gusto";"Septembro";"Oktobro";"Novembro";"Decembro" ++mon "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "" ++ ++am_pm "";"" ++ ++% "%a %d %b %Y %T %z" ++d_t_fmt "" ++ ++% "%Y-%m-%d" ++d_fmt "" ++ ++% "%T" ++t_fmt "" ++ ++t_fmt_ampm "" ++ ++% date_fmt ? ++ ++END LC_TIME ++ ++LC_MESSAGES ++% "^[JjYy].*" ++yesexpr "" ++% "^[Nn].*" ++noexpr "" ++END LC_MESSAGES ++ ++LC_PAPER ++height 297 ++width 210 ++END LC_PAPER ++ ++LC_TELEPHONE ++% "+%c %a %l" ++tel_int_fmt "/ ++" ++% "00" ++int_select "" ++END LC_TELEPHONE ++ ++LC_MEASUREMENT ++measurement 1 ++END LC_MEASUREMENT ++ ++LC_NAME ++% "%d%t%g%t%m%t%f" ++name_fmt "/ ++" ++name_mr "" % "s-ro" ++name_mrs "" % "s-ino" ++name_ms "" % "s-ino" ++END LC_NAME ++ ++LC_ADDRESS ++% "%f%N%a%N%d%N%b%N%s %h %e %r%N%%z %T%N%c%N" ++postal_fmt "/ ++/ ++/ ++/ ++" ++% "Esperanto" ++lang_name "" ++lang_ab "" % "eo" ++lang_lib "" % "eo" ++END LC_ADDRESS --- glibc-2.3.6.orig/debian/patches/libgcc-compat-other.dpatch +++ glibc-2.3.6/debian/patches/libgcc-compat-other.dpatch @@ -0,0 +1,920 @@ +#! /bin/sh -e + +# DP: Description: libgcc-compat symbols for arm, m68k, ia64, and s390. +# DP: ia64 is derived from RedHat's. +# DP: Author: GOTO Masanori +# DP: Upstream status: Not submitted +# DP: Date: 2002-10-13, updated 2003-03-04, updated 2003-03-23 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +diff -Nuar glibc-2.3.1.old/sysdeps/arm/Dist glibc-2.3.1/sysdeps/arm/Dist +--- glibc-2.3.1.old/sysdeps/arm/Dist 2002-08-27 21:06:52.000000000 +0900 ++++ glibc-2.3.1/sysdeps/arm/Dist 2003-03-01 00:29:42.000000000 +0900 +@@ -1,2 +1,3 @@ + ieee754.h + bits/link.h ++libgcc-compat.c +diff -Nuar glibc-2.3.1.old/sysdeps/arm/Makefile glibc-2.3.1/sysdeps/arm/Makefile +--- glibc-2.3.1.old/sysdeps/arm/Makefile 1970-01-01 09:00:00.000000000 +0900 ++++ glibc-2.3.1/sysdeps/arm/Makefile 2003-03-01 00:29:42.000000000 +0900 +@@ -0,0 +1,7 @@ ++ifeq ($(subdir),csu) ++ifeq (yes,$(build-shared)) ++# Compatibility ++sysdep_routines += libgcc-compat ++shared-only-routines += libgcc-compat ++endif ++endif +diff -Nuar glibc-2.3.1.old/sysdeps/arm/Versions glibc-2.3.1/sysdeps/arm/Versions +--- glibc-2.3.1.old/sysdeps/arm/Versions 1970-01-01 09:00:00.000000000 +0900 ++++ glibc-2.3.1/sysdeps/arm/Versions 2003-03-01 18:22:10.000000000 +0900 +@@ -0,0 +1,16 @@ ++libc { ++ GLIBC_2.0 { ++ # Functions from libgcc. ++ __ashldi3; __ashrdi3; ++ __cmpdi2; ++ __divsi3; ++ __fixdfdi; ++ __floatdidf; ++ __floatdisf; ++ __modsi3; ++ __muldi3; ++ __ucmpdi2; ++ __udivsi3; ++ __umodsi3; ++ } ++} +diff -Nuar glibc-2.3.1.old/sysdeps/arm/libgcc-compat.c glibc-2.3.1/sysdeps/arm/libgcc-compat.c +--- glibc-2.3.1.old/sysdeps/arm/libgcc-compat.c 1970-01-01 09:00:00.000000000 +0900 ++++ glibc-2.3.1/sysdeps/arm/libgcc-compat.c 2003-03-02 19:40:20.000000000 +0900 +@@ -0,0 +1,111 @@ ++/* pre-.hidden libgcc compatibility ++ Copyright (C) 2003 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ Contributed by GOTO Masanori ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++ ++#include ++#include ++ ++#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6) ++ ++extern int64_t __ashldi3 (int64_t, int32_t); ++int64_t __ashldi3_internal (int64_t u, int32_t b) ++{ ++ return __ashldi3 (u, b); ++} ++symbol_version (__ashldi3_internal, __ashldi3, GLIBC_2.0); ++ ++extern int64_t __ashrdi3 (int64_t, int32_t); ++int32_t __ashrdi3_internal (int64_t u, int32_t b) ++{ ++ return __ashrdi3 (u, b); ++} ++symbol_version (__ashrdi3_internal, __ashrdi3, GLIBC_2.0); ++ ++extern int32_t __cmpdi2 (int64_t, int64_t); ++int32_t __cmpdi2_internal (int64_t u, int64_t v) ++{ ++ return __cmpdi2 (u, v); ++} ++symbol_version (__cmpdi2_internal, __cmpdi2, GLIBC_2.0); ++ ++extern int32_t __divsi3 (int32_t, int32_t); ++int32_t __divsi3_internal (int32_t u, int32_t v) ++{ ++ return __divsi3 (u, v); ++} ++symbol_version (__divsi3_internal, __divsi3, GLIBC_2.0); ++ ++extern int64_t __fixdfdi (double); ++int64_t __fixdfdi_internal (double d) ++{ ++ return __fixdfdi (d); ++} ++symbol_version (__fixdfdi_internal, __fixdfdi, GLIBC_2.0); ++ ++extern double __floatdidf (int64_t); ++double __floatdidf_internal (int64_t u) ++{ ++ return __floatdidf (u); ++} ++symbol_version (__floatdidf_internal, __floatdidf, GLIBC_2.0); ++ ++extern float __floatdisf (int64_t); ++float __floatdisf_internal (int64_t u) ++{ ++ return __floatdisf (u); ++} ++symbol_version (__floatdisf_internal, __floatdisf, GLIBC_2.0); ++ ++extern int32_t __modsi3 (int32_t, int32_t); ++int32_t __modsi3_internal (int32_t u, int32_t v) ++{ ++ return __modsi3 (u, v); ++} ++symbol_version (__modsi3_internal, __modsi3, GLIBC_2.0); ++ ++extern int64_t __muldi3 (int64_t, int64_t); ++int64_t __muldi3_internal (int64_t u, int64_t v) ++{ ++ return __muldi3 (u, v); ++} ++symbol_version (__muldi3_internal, __muldi3, GLIBC_2.0); ++ ++extern int32_t __ucmpdi2 (int64_t, int64_t); ++int32_t __ucmpdi2_internal (int64_t u, int64_t v) ++{ ++ return __ucmpdi2 (u, v); ++} ++symbol_version (__ucmpdi2_internal, __ucmpdi2, GLIBC_2.0); ++ ++extern int32_t __udivsi3 (int32_t, int32_t); ++int32_t __udivsi3_internal (int32_t u, int32_t v) ++{ ++ return __udivsi3 (u, v); ++} ++symbol_version (__udivsi3_internal, __udivsi3, GLIBC_2.0); ++ ++extern int32_t __umodsi3 (int32_t, int32_t); ++int32_t __umodsi3_internal (int32_t u, int32_t v) ++{ ++ return __umodsi3 (u, v); ++} ++symbol_version (__umodsi3_internal, __umodsi3, GLIBC_2.0); ++ ++#endif +diff -Nuar glibc-2.3.1.old/sysdeps/ia64/Makefile glibc-2.3.1/sysdeps/ia64/Makefile +--- glibc-2.3.1.old/sysdeps/ia64/Makefile 2002-05-15 05:46:15.000000000 +0900 ++++ glibc-2.3.1/sysdeps/ia64/Makefile 2003-03-04 00:51:34.000000000 +0900 +@@ -12,8 +12,8 @@ + + ifeq (yes,$(build-shared)) + # Compatibility +-sysdep_routines += ia64libgcc +-shared-only-routines += ia64libgcc ++sysdep_routines += libgcc-compat ++shared-only-routines += libgcc-compat + endif + endif + +diff -Nuar glibc-2.3.1.old/sysdeps/ia64/Versions glibc-2.3.1/sysdeps/ia64/Versions +--- glibc-2.3.1.old/sysdeps/ia64/Versions 2002-05-03 16:00:46.000000000 +0900 ++++ glibc-2.3.1/sysdeps/ia64/Versions 2003-03-04 01:14:39.000000000 +0900 +@@ -10,5 +10,9 @@ + # Functions from libgcc. + __divtf3; __divdf3; __divsf3; __divdi3; __moddi3; __udivdi3; __umoddi3; + __multi3; ++ __divsi3; ++ __modsi3; ++ __udivsi3; ++ __umodsi3; + } + } +diff -Nuar glibc-2.3.1.old/sysdeps/ia64/ia64libgcc.S glibc-2.3.1/sysdeps/ia64/ia64libgcc.S +--- glibc-2.3.1.old/sysdeps/ia64/ia64libgcc.S 2002-05-15 05:46:15.000000000 +0900 ++++ glibc-2.3.1/sysdeps/ia64/ia64libgcc.S 2003-03-04 00:51:34.000000000 +0900 +@@ -1,350 +0,0 @@ +-/* From the Intel IA-64 Optimization Guide, choose the minimum latency +- alternative. */ +- +-#include +-#undef ret +- +-#include +- +-#if SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_2_6) +- +-/* __divtf3 +- Compute a 80-bit IEEE double-extended quotient. +- farg0 holds the dividend. farg1 holds the divisor. */ +- +-ENTRY(___divtf3) +- cmp.eq p7, p0 = r0, r0 +- frcpa.s0 f10, p6 = farg0, farg1 +- ;; +-(p6) cmp.ne p7, p0 = r0, r0 +- .pred.rel.mutex p6, p7 +-(p6) fnma.s1 f11 = farg1, f10, f1 +-(p6) fma.s1 f12 = farg0, f10, f0 +- ;; +-(p6) fma.s1 f13 = f11, f11, f0 +-(p6) fma.s1 f14 = f11, f11, f11 +- ;; +-(p6) fma.s1 f11 = f13, f13, f11 +-(p6) fma.s1 f13 = f14, f10, f10 +- ;; +-(p6) fma.s1 f10 = f13, f11, f10 +-(p6) fnma.s1 f11 = farg1, f12, farg0 +- ;; +-(p6) fma.s1 f11 = f11, f10, f12 +-(p6) fnma.s1 f12 = farg1, f10, f1 +- ;; +-(p6) fma.s1 f10 = f12, f10, f10 +-(p6) fnma.s1 f12 = farg1, f11, farg0 +- ;; +-(p6) fma.s0 fret0 = f12, f10, f11 +-(p7) mov fret0 = f10 +- br.ret.sptk rp +-END(___divtf3) +- .symver ___divtf3, __divtf3@GLIBC_2.2 +- +-/* __divdf3 +- Compute a 64-bit IEEE double quotient. +- farg0 holds the dividend. farg1 holds the divisor. */ +- +-ENTRY(___divdf3) +- cmp.eq p7, p0 = r0, r0 +- frcpa.s0 f10, p6 = farg0, farg1 +- ;; +-(p6) cmp.ne p7, p0 = r0, r0 +- .pred.rel.mutex p6, p7 +-(p6) fmpy.s1 f11 = farg0, f10 +-(p6) fnma.s1 f12 = farg1, f10, f1 +- ;; +-(p6) fma.s1 f11 = f12, f11, f11 +-(p6) fmpy.s1 f13 = f12, f12 +- ;; +-(p6) fma.s1 f10 = f12, f10, f10 +-(p6) fma.s1 f11 = f13, f11, f11 +- ;; +-(p6) fmpy.s1 f12 = f13, f13 +-(p6) fma.s1 f10 = f13, f10, f10 +- ;; +-(p6) fma.d.s1 f11 = f12, f11, f11 +-(p6) fma.s1 f10 = f12, f10, f10 +- ;; +-(p6) fnma.d.s1 f8 = farg1, f11, farg0 +- ;; +-(p6) fma.d fret0 = f8, f10, f11 +-(p7) mov fret0 = f10 +- br.ret.sptk rp +- ;; +-END(___divdf3) +- .symver ___divdf3, __divdf3@GLIBC_2.2 +- +-/* __divsf3 +- Compute a 32-bit IEEE float quotient. +- farg0 holds the dividend. farg1 holds the divisor. */ +- +-ENTRY(___divsf3) +- cmp.eq p7, p0 = r0, r0 +- frcpa.s0 f10, p6 = farg0, farg1 +- ;; +-(p6) cmp.ne p7, p0 = r0, r0 +- .pred.rel.mutex p6, p7 +-(p6) fmpy.s1 f8 = farg0, f10 +-(p6) fnma.s1 f9 = farg1, f10, f1 +- ;; +-(p6) fma.s1 f8 = f9, f8, f8 +-(p6) fmpy.s1 f9 = f9, f9 +- ;; +-(p6) fma.s1 f8 = f9, f8, f8 +-(p6) fmpy.s1 f9 = f9, f9 +- ;; +-(p6) fma.d.s1 f10 = f9, f8, f8 +- ;; +-(p6) fnorm.s.s0 fret0 = f10 +-(p7) mov fret0 = f10 +- br.ret.sptk rp +- ;; +-END(___divsf3) +- .symver ___divsf3, __divsf3@GLIBC_2.2 +- +-/* __divdi3 +- Compute a 64-bit integer quotient. +- in0 holds the dividend. in1 holds the divisor. */ +- +-ENTRY(___divdi3) +- .regstk 2,0,0,0 +- /* Transfer inputs to FP registers. */ +- setf.sig f8 = in0 +- setf.sig f9 = in1 +- ;; +- /* Convert the inputs to FP, so that they won't be treated as +- unsigned. */ +- fcvt.xf f8 = f8 +- fcvt.xf f9 = f9 +- ;; +- /* Compute the reciprocal approximation. */ +- frcpa.s1 f10, p6 = f8, f9 +- ;; +- /* 3 Newton-Raphson iterations. */ +-(p6) fnma.s1 f11 = f9, f10, f1 +-(p6) fmpy.s1 f12 = f8, f10 +- ;; +-(p6) fmpy.s1 f13 = f11, f11 +-(p6) fma.s1 f12 = f11, f12, f12 +- ;; +-(p6) fma.s1 f10 = f11, f10, f10 +-(p6) fma.s1 f11 = f13, f12, f12 +- ;; +-(p6) fma.s1 f10 = f13, f10, f10 +-(p6) fnma.s1 f12 = f9, f11, f8 +- ;; +-(p6) fma.s1 f10 = f12, f10, f11 +- ;; +- /* Round quotient to an integer. */ +- fcvt.fx.trunc.s1 f10 = f10 +- ;; +- /* Transfer result to GP registers. */ +- getf.sig ret0 = f10 +- br.ret.sptk rp +- ;; +-END(___divdi3) +- .symver ___divdi3, __divdi3@GLIBC_2.2 +- +-/* __moddi3 +- Compute a 64-bit integer modulus. +- in0 holds the dividend (a). in1 holds the divisor (b). */ +- +-ENTRY(___moddi3) +- .regstk 2,0,0,0 +- /* Transfer inputs to FP registers. */ +- setf.sig f14 = in0 +- setf.sig f9 = in1 +- ;; +- /* Convert the inputs to FP, so that they won't be treated as +- unsigned. */ +- fcvt.xf f8 = f14 +- fcvt.xf f9 = f9 +- ;; +- /* Compute the reciprocal approximation. */ +- frcpa.s1 f10, p6 = f8, f9 +- ;; +- /* 3 Newton-Raphson iterations. */ +-(p6) fmpy.s1 f12 = f8, f10 +-(p6) fnma.s1 f11 = f9, f10, f1 +- ;; +-(p6) fma.s1 f12 = f11, f12, f12 +-(p6) fmpy.s1 f13 = f11, f11 +- ;; +-(p6) fma.s1 f10 = f11, f10, f10 +-(p6) fma.s1 f11 = f13, f12, f12 +- ;; +- sub in1 = r0, in1 +-(p6) fma.s1 f10 = f13, f10, f10 +-(p6) fnma.s1 f12 = f9, f11, f8 +- ;; +- setf.sig f9 = in1 +-(p6) fma.s1 f10 = f12, f10, f11 +- ;; +- fcvt.fx.trunc.s1 f10 = f10 +- ;; +- /* r = q * (-b) + a */ +- xma.l f10 = f10, f9, f14 +- ;; +- /* Transfer result to GP registers. */ +- getf.sig ret0 = f10 +- br.ret.sptk rp +- ;; +-END(___moddi3) +- .symver ___moddi3, __moddi3@GLIBC_2.2 +- +-/* __udivdi3 +- Compute a 64-bit unsigned integer quotient. +- in0 holds the dividend. in1 holds the divisor. */ +- +-ENTRY(___udivdi3) +- .regstk 2,0,0,0 +- /* Transfer inputs to FP registers. */ +- setf.sig f8 = in0 +- setf.sig f9 = in1 +- ;; +- /* Convert the inputs to FP, to avoid FP software-assist faults. */ +- fcvt.xuf.s1 f8 = f8 +- fcvt.xuf.s1 f9 = f9 +- ;; +- /* Compute the reciprocal approximation. */ +- frcpa.s1 f10, p6 = f8, f9 +- ;; +- /* 3 Newton-Raphson iterations. */ +-(p6) fnma.s1 f11 = f9, f10, f1 +-(p6) fmpy.s1 f12 = f8, f10 +- ;; +-(p6) fmpy.s1 f13 = f11, f11 +-(p6) fma.s1 f12 = f11, f12, f12 +- ;; +-(p6) fma.s1 f10 = f11, f10, f10 +-(p6) fma.s1 f11 = f13, f12, f12 +- ;; +-(p6) fma.s1 f10 = f13, f10, f10 +-(p6) fnma.s1 f12 = f9, f11, f8 +- ;; +-(p6) fma.s1 f10 = f12, f10, f11 +- ;; +- /* Round quotient to an unsigned integer. */ +- fcvt.fxu.trunc.s1 f10 = f10 +- ;; +- /* Transfer result to GP registers. */ +- getf.sig ret0 = f10 +- br.ret.sptk rp +- ;; +-END(___udivdi3) +- .symver ___udivdi3, __udivdi3@GLIBC_2.2 +- +-/* __umoddi3 +- Compute a 64-bit unsigned integer modulus. +- in0 holds the dividend (a). in1 holds the divisor (b). */ +- +-ENTRY(___umoddi3) +- .regstk 2,0,0,0 +- /* Transfer inputs to FP registers. */ +- setf.sig f14 = in0 +- setf.sig f9 = in1 +- ;; +- /* Convert the inputs to FP, to avoid FP software assist faults. */ +- fcvt.xuf.s1 f8 = f14 +- fcvt.xuf.s1 f9 = f9 +- ;; +- /* Compute the reciprocal approximation. */ +- frcpa.s1 f10, p6 = f8, f9 +- ;; +- /* 3 Newton-Raphson iterations. */ +-(p6) fmpy.s1 f12 = f8, f10 +-(p6) fnma.s1 f11 = f9, f10, f1 +- ;; +-(p6) fma.s1 f12 = f11, f12, f12 +-(p6) fmpy.s1 f13 = f11, f11 +- ;; +-(p6) fma.s1 f10 = f11, f10, f10 +-(p6) fma.s1 f11 = f13, f12, f12 +- ;; +- sub in1 = r0, in1 +-(p6) fma.s1 f10 = f13, f10, f10 +-(p6) fnma.s1 f12 = f9, f11, f8 +- ;; +- setf.sig f9 = in1 +-(p6) fma.s1 f10 = f12, f10, f11 +- ;; +- /* Round quotient to an unsigned integer. */ +- fcvt.fxu.trunc.s1 f10 = f10 +- ;; +- /* r = q * (-b) + a */ +- xma.l f10 = f10, f9, f14 +- ;; +- /* Transfer result to GP registers. */ +- getf.sig ret0 = f10 +- br.ret.sptk rp +- ;; +-END(___umoddi3) +- .symver ___umoddi3, __umoddi3@GLIBC_2.2 +- +-/* __multi3 +- Compute a 128-bit multiply of 128-bit multiplicands. +- in0/in1 holds one multiplicand (a), in2/in3 holds the other one (b). */ +- +-ENTRY(___multi3) +- .regstk 4,0,0,0 +- setf.sig f6 = in1 +- movl r19 = 0xffffffff +- setf.sig f7 = in2 +- ;; +- and r14 = r19, in0 +- ;; +- setf.sig f10 = r14 +- and r14 = r19, in2 +- xmpy.l f9 = f6, f7 +- ;; +- setf.sig f6 = r14 +- shr.u r14 = in0, 32 +- ;; +- setf.sig f7 = r14 +- shr.u r14 = in2, 32 +- ;; +- setf.sig f8 = r14 +- xmpy.l f11 = f10, f6 +- xmpy.l f6 = f7, f6 +- ;; +- getf.sig r16 = f11 +- xmpy.l f7 = f7, f8 +- ;; +- shr.u r14 = r16, 32 +- and r16 = r19, r16 +- getf.sig r17 = f6 +- setf.sig f6 = in0 +- ;; +- setf.sig f11 = r14 +- getf.sig r21 = f7 +- setf.sig f7 = in3 +- ;; +- xma.l f11 = f10, f8, f11 +- xma.l f6 = f6, f7, f9 +- ;; +- getf.sig r18 = f11 +- ;; +- add r18 = r18, r17 +- ;; +- and r15 = r19, r18 +- cmp.ltu p7, p6 = r18, r17 +- ;; +- getf.sig r22 = f6 +-(p7) adds r14 = 1, r19 +- ;; +-(p7) add r21 = r21, r14 +- shr.u r14 = r18, 32 +- shl r15 = r15, 32 +- ;; +- add r20 = r21, r14 +- ;; +- add ret0 = r15, r16 +- add ret1 = r22, r20 +- br.ret.sptk rp +- ;; +-END(___multi3) +- .symver ___multi3, __multi3@GLIBC_2.2 +- +-#endif +diff -Nuar glibc-2.3.1.old/sysdeps/ia64/libgcc-compat.c glibc-2.3.1/sysdeps/ia64/libgcc-compat.c +--- glibc-2.3.1.old/sysdeps/ia64/libgcc-compat.c 1970-01-01 09:00:00.000000000 +0900 ++++ glibc-2.3.1/sysdeps/ia64/libgcc-compat.c 2003-03-04 02:24:15.000000000 +0900 +@@ -0,0 +1,112 @@ ++/* pre-.hidden libgcc compatibility ++ Copyright (C) 2002 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 ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++ ++#include ++#include ++ ++#if SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_2_6) ++ ++typedef int int128_t __attribute__((__mode__(TI))); ++ ++extern long double __divtf3 (long double, long double) attribute_hidden; ++long double INTUSE (__divtf3) (long double x, long double y) ++{ ++ return __divtf3 (x, y); ++} ++symbol_version (INTUSE (__divtf3), __divtf3, GLIBC_2.2); ++ ++extern double __divdf3 (double, double) attribute_hidden; ++double INTUSE (__divdf3) (double x, double y) ++{ ++ return __divdf3 (x, y); ++} ++symbol_version (INTUSE (__divdf3), __divdf3, GLIBC_2.2); ++ ++extern float __divsf3 (float, float) attribute_hidden; ++float INTUSE (__divsf3) (float x, float y) ++{ ++ return __divsf3 (x, y); ++} ++symbol_version (INTUSE (__divsf3), __divsf3, GLIBC_2.2); ++ ++extern int64_t __divdi3 (int64_t, int64_t) attribute_hidden; ++int64_t INTUSE (__divdi3) (int64_t x, int64_t y) ++{ ++ return __divdi3 (x, y); ++} ++symbol_version (INTUSE (__divdi3), __divdi3, GLIBC_2.2); ++ ++extern int64_t __moddi3 (int64_t, int64_t) attribute_hidden; ++int64_t INTUSE (__moddi3) (int64_t x, int64_t y) ++{ ++ return __moddi3 (x, y); ++} ++symbol_version (INTUSE (__moddi3), __moddi3, GLIBC_2.2); ++ ++extern uint64_t __udivdi3 (uint64_t, uint64_t) attribute_hidden; ++uint64_t INTUSE (__udivdi3) (uint64_t x, uint64_t y) ++{ ++ return __udivdi3 (x, y); ++} ++symbol_version (INTUSE (__udivdi3), __udivdi3, GLIBC_2.2); ++ ++extern uint64_t __umoddi3 (uint64_t, uint64_t) attribute_hidden; ++uint64_t INTUSE (__umoddi3) (uint64_t x, uint64_t y) ++{ ++ return __umoddi3 (x, y); ++} ++symbol_version (INTUSE (__umoddi3), __umoddi3, GLIBC_2.2); ++ ++extern int128_t __multi3 (int128_t, int128_t) attribute_hidden; ++int128_t INTUSE (__multi3) (int128_t x, int128_t y) ++{ ++ return __multi3 (x, y); ++} ++symbol_version (INTUSE (__multi3), __multi3, GLIBC_2.2); ++ ++extern int64_t __divsi3 (int64_t, int64_t) attribute_hidden; ++int64_t INTUSE (__divsi3) (int64_t x, int64_t y) ++{ ++ return __divsi3 (x, y); ++} ++symbol_version (INTUSE (__divsi3), __divsi3, GLIBC_2.2); ++ ++extern int64_t __modsi3 (int64_t, int64_t) attribute_hidden; ++int64_t INTUSE (__modsi3) (int64_t x, int64_t y) ++{ ++ return __modsi3 (x, y); ++} ++symbol_version (INTUSE (__modsi3), __modsi3, GLIBC_2.2); ++ ++extern uint64_t __udivsi3 (uint64_t, uint64_t) attribute_hidden; ++uint64_t INTUSE (__udivsi3) (uint64_t x, uint64_t y) ++{ ++ return __udivsi3 (x, y); ++} ++symbol_version (INTUSE (__udivsi3), __udivsi3, GLIBC_2.2); ++ ++extern uint64_t __umodsi3 (uint64_t, uint64_t) attribute_hidden; ++uint64_t INTUSE (__umodsi3) (uint64_t x, uint64_t y) ++{ ++ return __umodsi3 (x, y); ++} ++symbol_version (INTUSE (__umodsi3), __umodsi3, GLIBC_2.2); ++ ++#endif +diff -Nuar glibc-2.3.1.old/sysdeps/m68k/Deps glibc-2.3.1/sysdeps/m68k/Deps +--- glibc-2.3.1.old/sysdeps/m68k/Deps 1970-01-01 09:00:00.000000000 +0900 ++++ glibc-2.3.1/sysdeps/m68k/Deps 2003-03-01 00:29:42.000000000 +0900 +@@ -0,0 +1 @@ ++libgcc-compat.c +diff -Nuar glibc-2.3.1.old/sysdeps/m68k/Makefile glibc-2.3.1/sysdeps/m68k/Makefile +--- glibc-2.3.1.old/sysdeps/m68k/Makefile 2003-02-27 19:29:49.000000000 +0900 ++++ glibc-2.3.1/sysdeps/m68k/Makefile 2003-03-01 00:29:42.000000000 +0900 +@@ -45,3 +45,11 @@ + # Build objects in libc_nonshared.a with -fPIC (instead of -fpic) to avoid + # possible linkage problems. + CFLAGS-.oS += -fPIC ++ ++ifeq ($(subdir),csu) ++ifeq (yes,$(build-shared)) ++# Compatibility ++sysdep_routines += libgcc-compat ++shared-only-routines += libgcc-compat ++endif ++endif +diff -Nuar glibc-2.3.1.old/sysdeps/m68k/Versions glibc-2.3.1/sysdeps/m68k/Versions +--- glibc-2.3.1.old/sysdeps/m68k/Versions 2000-06-15 15:54:28.000000000 +0900 ++++ glibc-2.3.1/sysdeps/m68k/Versions 2003-03-02 01:12:58.000000000 +0900 +@@ -2,5 +2,13 @@ + GLIBC_2.0 { + # Functions from libgcc. + __divdi3; __moddi3; __udivdi3; __umoddi3; ++ __ashldi3; ++ __ashrdi3; ++ __fixdfdi; ++ __fixsfdi; ++ __fixunsdfdi; ++ __fixunssfdi; ++ __floatdidf; ++ __floatdisf; + } + } +diff -Nuar glibc-2.3.1.old/sysdeps/m68k/libgcc-compat.c glibc-2.3.1/sysdeps/m68k/libgcc-compat.c +--- glibc-2.3.1.old/sysdeps/m68k/libgcc-compat.c 1970-01-01 09:00:00.000000000 +0900 ++++ glibc-2.3.1/sysdeps/m68k/libgcc-compat.c 2003-03-02 13:26:49.000000000 +0900 +@@ -0,0 +1,83 @@ ++/* pre-.hidden libgcc compatibility ++ Copyright (C) 2003 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ Contributed by GOTO Masanori ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++ ++#include ++#include ++ ++#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6) ++ ++extern int64_t __ashldi3 (int64_t, int32_t); ++int64_t __ashldi3_internal (int64_t u, int32_t b) ++{ ++ return __ashldi3 (u, b); ++} ++symbol_version (__ashldi3_internal, __ashldi3, GLIBC_2.0); ++ ++extern int64_t __ashrdi3 (int64_t, int32_t); ++int64_t __ashrdi3_internal (int64_t u, int32_t b) ++{ ++ return __ashrdi3 (u, b); ++} ++symbol_version (__ashrdi3_internal, __ashrdi3, GLIBC_2.0); ++ ++extern int64_t __fixdfdi (double); ++int64_t __fixdfdi_internal (double d) ++{ ++ return __fixdfdi (d); ++} ++symbol_version (__fixdfdi_internal, __fixdfdi, GLIBC_2.0); ++ ++extern int64_t __fixsfdi (float); ++int64_t __fixsfdi_internal (float d) ++{ ++ return __fixsfdi (d); ++} ++symbol_version (__fixsfdi_internal, __fixsfdi, GLIBC_2.0); ++ ++extern int64_t __fixunsdfdi (double); ++int64_t __fixunsdfdi_internal (double d) ++{ ++ return __fixunsdfdi (d); ++} ++symbol_version (__fixunsdfdi_internal, __fixunsdfdi, GLIBC_2.0); ++ ++extern int64_t __fixunssfdi (float); ++int64_t __fixunssfdi_internal (float d) ++{ ++ return __fixunssfdi (d); ++} ++symbol_version (__fixunssfdi_internal, __fixunssfdi, GLIBC_2.0); ++ ++extern double __floatdidf (int64_t); ++double __floatdidf_internal (int64_t u) ++{ ++ return __floatdidf (u); ++} ++symbol_version (__floatdidf_internal, __floatdidf, GLIBC_2.0); ++ ++extern float __floatdisf (int64_t); ++float __floatdisf_internal (int64_t u) ++{ ++ return __floatdisf (u); ++} ++symbol_version (__floatdisf_internal, __floatdisf, GLIBC_2.0); ++ ++#endif +diff -Nuar glibc-2.3.1.old/sysdeps/s390/s390-32/Dist glibc-2.3.1/sysdeps/s390/s390-32/Dist +--- glibc-2.3.1.old/sysdeps/s390/s390-32/Dist 2001-03-27 14:14:38.000000000 +0900 ++++ glibc-2.3.1/sysdeps/s390/s390-32/Dist 2003-03-02 11:09:37.000000000 +0900 +@@ -1 +1,2 @@ + s390-mcount.S ++libgcc-compat.c +diff -Nuar glibc-2.3.1.old/sysdeps/s390/s390-32/Makefile glibc-2.3.1/sysdeps/s390/s390-32/Makefile +--- glibc-2.3.1.old/sysdeps/s390/s390-32/Makefile 2002-09-19 15:42:09.000000000 +0900 ++++ glibc-2.3.1/sysdeps/s390/s390-32/Makefile 2003-03-02 11:09:11.000000000 +0900 +@@ -9,3 +9,11 @@ + CFLAGS-dl-load.c += -Wno-unused + CFLAGS-dl-reloc.c += -Wno-unused + endif ++ ++ifeq ($(subdir),csu) ++ifeq (yes,$(build-shared)) ++# Compatibility ++sysdep_routines += libgcc-compat ++shared-only-routines += libgcc-compat ++endif ++endif +diff -Nuar glibc-2.3.1.old/sysdeps/s390/s390-32/Versions glibc-2.3.1/sysdeps/s390/s390-32/Versions +--- glibc-2.3.1.old/sysdeps/s390/s390-32/Versions 2001-03-16 17:15:07.000000000 +0900 ++++ glibc-2.3.1/sysdeps/s390/s390-32/Versions 2003-03-02 11:08:03.000000000 +0900 +@@ -2,5 +2,13 @@ + GLIBC_2.0 { + # Functions from libgcc. + __divdi3; __moddi3; __udivdi3; __umoddi3; ++ __cmpdi2; ++ __fixdfdi; ++ __fixsfdi; ++ __fixunsdfdi; ++ __fixunssfdi; ++ __floatdidf; ++ __floatdisf; ++ __ucmpdi2; + } + } +diff -Nuar glibc-2.3.1.old/sysdeps/s390/s390-32/libgcc-compat.c glibc-2.3.1/sysdeps/s390/s390-32/libgcc-compat.c +--- glibc-2.3.1.old/sysdeps/s390/s390-32/libgcc-compat.c 1970-01-01 09:00:00.000000000 +0900 ++++ glibc-2.3.1/sysdeps/s390/s390-32/libgcc-compat.c 2003-03-02 19:42:19.000000000 +0900 +@@ -0,0 +1,83 @@ ++/* pre-.hidden libgcc compatibility ++ Copyright (C) 2003 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ Contributed by GOTO Masanori ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++ ++#include ++#include ++ ++#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6) ++ ++extern int32_t __cmpdi2 (int64_t, int64_t); ++int32_t __cmpdi2_internal (int64_t u, int64_t v) ++{ ++ return __cmpdi2 (u, v); ++} ++symbol_version (__cmpdi2_internal, __cmpdi2, GLIBC_2.0); ++ ++extern int64_t __fixdfdi (double); ++int64_t __fixdfdi_internal (double d) ++{ ++ return __fixdfdi (d); ++} ++symbol_version (__fixdfdi_internal, __fixdfdi, GLIBC_2.0); ++ ++extern int64_t __fixsfdi (float); ++int64_t __fixsfdi_internal (float d) ++{ ++ return __fixsfdi (d); ++} ++symbol_version (__fixsfdi_internal, __fixsfdi, GLIBC_2.0); ++ ++extern int64_t __fixunsdfdi (double); ++int64_t __fixunsdfdi_internal (double d) ++{ ++ return __fixunsdfdi (d); ++} ++symbol_version (__fixunsdfdi_internal, __fixunsdfdi, GLIBC_2.0); ++ ++extern int64_t __fixunssfdi (float); ++int64_t __fixunssfdi_internal (float d) ++{ ++ return __fixunssfdi (d); ++} ++symbol_version (__fixunssfdi_internal, __fixunssfdi, GLIBC_2.0); ++ ++extern double __floatdidf (int64_t); ++double __floatdidf_internal (int64_t u) ++{ ++ return __floatdidf (u); ++} ++symbol_version (__floatdidf_internal, __floatdidf, GLIBC_2.0); ++ ++extern float __floatdisf (int64_t); ++float __floatdisf_internal (int64_t u) ++{ ++ return __floatdisf (u); ++} ++symbol_version (__floatdisf_internal, __floatdisf, GLIBC_2.0); ++ ++extern int32_t __ucmpdi2 (int64_t, int64_t); ++int32_t __ucmpdi2_internal (int64_t u, int64_t v) ++{ ++ return __ucmpdi2 (u, v); ++} ++symbol_version (__ucmpdi2_internal, __ucmpdi2, GLIBC_2.0); ++ ++#endif --- glibc-2.3.6.orig/debian/patches/arm-no-hwcap.dpatch +++ glibc-2.3.6/debian/patches/arm-no-hwcap.dpatch @@ -0,0 +1,28 @@ +#! /bin/sh -e + +# DP: Restricted hardware caps for ARM + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- sysdeps/unix/sysv/linux/arm/dl-procinfo.h Mon Jul 23 12:57:23 2001 ++++ sysdeps/unix/sysv/linux/arm/dl-procinfo.h Sun Feb 10 06:37:00 2002 +@@ -67,7 +67,7 @@ + HWCAP_ARM_VFP = 1 << 6, + HWCAP_ARM_EDSP = 1 << 7, + +- HWCAP_IMPORTANT = (HWCAP_ARM_HALF | HWCAP_ARM_FAST_MULT) ++ HWCAP_IMPORTANT = HWCAP_ARM_FAST_MULT + }; + + static inline int --- glibc-2.3.6.orig/debian/patches/s390-tls.dpatch +++ glibc-2.3.6/debian/patches/s390-tls.dpatch @@ -0,0 +1,32 @@ +#! /bin/sh -e + +# DP: Description: Fix ustat.c compile error for s390 +# DP: Author: Gerhard Tonn +# DP: Upstream status: Not submitted +# DP: Status Details: +# DP: Date: 23 Mar 2003 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- linuxthreads/sysdeps/s390/tls.h.bak 2003-03-23 08:59:35.000000000 +0000 ++++ linuxthreads/sysdeps/s390/tls.h 2003-03-23 09:47:49.000000000 +0000 +@@ -124,7 +124,7 @@ + # ifndef __ASSEMBLER__ + + /* Get the thread descriptor definition. */ +-# include ++//# include + + # define NONTLS_INIT_TP \ + do { \ --- glibc-2.3.6.orig/debian/patches/glibc23-mips-msq.dpatch +++ glibc-2.3.6/debian/patches/glibc23-mips-msq.dpatch @@ -0,0 +1,64 @@ +#! /bin/sh -e + +# DP: Description: fix msqs on mips +# DP: Related bugs: 215273 +# DP: Author: Thiemo Seufer +# DP: Upstream status: Pending + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +Index: sysdeps/unix/sysv/linux/mips/bits/msq.h +=================================================================== +RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/bits/msq.h,v +retrieving revision 1.1 +diff -a -d -u -p -r1.1 msq.h +--- sysdeps/unix/sysv/linux/mips/bits/msq.h 26 Aug 2002 01:49:55 -0000 1.1 ++++ sysdeps/unix/sysv/linux/mips/bits/msq.h 7 Oct 2003 18:30:30 -0000 +@@ -38,16 +38,34 @@ typedef unsigned long int msglen_t; + struct msqid_ds + { + struct ipc_perm msg_perm; /* structure describing operation permission */ ++#if __WORDSIZE == 32 && defined (__MIPSEB__) ++ unsigned long int __unused1; ++#endif + __time_t msg_stime; /* time of last msgsnd command */ ++#if __WORDSIZE == 32 && defined (__MIPSEL__) ++ unsigned long int __unused1; ++#endif ++#if __WORDSIZE == 32 && defined (__MIPSEB__) ++ unsigned long int __unused2; ++#endif + __time_t msg_rtime; /* time of last msgrcv command */ ++#if __WORDSIZE == 32 && defined (__MIPSEL__) ++ unsigned long int __unused2; ++#endif ++#if __WORDSIZE == 32 && defined (__MIPSEB__) ++ unsigned long int __unused3; ++#endif + __time_t msg_ctime; /* time of last change */ ++#if __WORDSIZE == 32 && defined (__MIPSEL__) ++ unsigned long int __unused3; ++#endif + unsigned long int __msg_cbytes; /* current number of bytes on queue */ + msgqnum_t msg_qnum; /* number of messages currently on queue */ + msglen_t msg_qbytes; /* max number of bytes allowed on queue */ + __pid_t msg_lspid; /* pid of last msgsnd() */ + __pid_t msg_lrpid; /* pid of last msgrcv() */ +- unsigned long int __unused1; +- unsigned long int __unused2; ++ unsigned long int __unused4; ++ unsigned long int __unused5; + }; + + #ifdef __USE_MISC --- glibc-2.3.6.orig/debian/patches/glibc234-m68k-linuxthreads-fPIC.dpatch +++ glibc-2.3.6/debian/patches/glibc234-m68k-linuxthreads-fPIC.dpatch @@ -0,0 +1,47 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Fix m68k compilation to remove linuxthreads o-iterator. +# DP: Related bugs: +# DP: Dpatch author: GOTO Masanori +# DP: Patch author: GOTO Masanori +# DP: Upstream status: Not submitted +# DP: Status Details: Will be submitted. +# DP: Date: 2005-03-16 + +PATCHLEVEL=0 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +2004-12-17 GOTO Masanori + + * linuxthreads/sysdeps/m68k/Makefile: Removed to delete unneeded + o-iterator which adds for -fPIC. + +Index: linuxthreads/sysdeps/m68k/Makefile +=================================================================== +RCS file: /cvs/glibc/libc/linuxthreads/sysdeps/m68k/Makefile,v +retrieving revision 1.1 +diff -u -r1.1 Makefile +--- linuxthreads/sysdeps/m68k/Makefile 5 Jan 2003 17:15:43 -0000 1.1 ++++ /dev/null 16 Dec 2004 16:53:06 -0000 +@@ -1,7 +0,0 @@ +-ifeq ($(subdir), linuxthreads) +-object-suffixes-left := $(libpthread-nonshared) +-define o-iterator-doit +-$(objpfx)$o.os: pic-ccflag = -fPIC +-endef +-include $(o-iterator) +-endif --- glibc-2.3.6.orig/debian/patches/50_glibc232-m68k-dwarf2-buildfix.dpatch +++ glibc-2.3.6/debian/patches/50_glibc232-m68k-dwarf2-buildfix.dpatch @@ -0,0 +1,54 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Adding empty m68k framestate.c not to build for dwarf2. +# DP: Related bugs: +# DP: Dpatch author: GOTO Masanori +# DP: Patch author: GOTO Masanori +# DP: Upstream status: Debian-Specific +# DP: Status Details: m68k uses sjlj exceptions, not dwarf2 unwind. +# DP: This patch adds empty framestate.c for m68k to avoid +# DP: dwarf2 build failure. +# DP: Date: 2003-07-19 (Update 2005-03-16 gotom) + +PATCHLEVEL=0 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. + +2005-03-16 GOTO Masanori + + * sysdeps/m68k/unwind-pe.c: Update to fix compilation failure. + +2003-07-19 GOTO Masanori + + * sysdeps/m68k/framestate.c: Add to fix compilation failure + with sjlj exception, suggested by Philip Blundell. + + +--- /dev/null 2003-01-13 18:16:28.000000000 +0900 ++++ sysdeps/m68k/framestate.c 2003-07-16 23:21:34.000000000 +0900 +@@ -0,0 +1,2 @@ ++ ++ +--- /dev/null 2004-12-05 06:07:48.000000000 +0000 ++++ sysdeps/m68k/unwind-pe.c 2005-03-14 05:14:16.000000000 +0000 +@@ -0,0 +1,6 @@ ++#include ++#include ++ ++#define _LIBC_DEFINITIONS ++#define NO_BASE_OF_ENCODED_VALUE ++#include "unwind-pe.h" --- glibc-2.3.6.orig/debian/patches/glibc232-m68k-reloc.dpatch +++ glibc-2.3.6/debian/patches/glibc232-m68k-reloc.dpatch @@ -0,0 +1,39 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: binutils bug workaround +# DP: Related bugs: #263601: m68k: workaround for binutils problem +# DP: Dpatch author: Roman Zippel +# DP: Patch author: Richard Zidlicky +# DP: Upstream status: Debian-Specific +# DP: Status Details: Actual fix is to modify m68k binutils. +# DP: Date: 2004-08-09 + +PATCHLEVEL=1 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. + +--- glibc-2.3.2/sysdeps/m68k/dl-machine.h.org 2004-08-05 02:00:32.000000000 +0200 ++++ glibc-2.3.2/sysdeps/m68k/dl-machine.h 2004-08-05 02:01:07.000000000 +0200 +@@ -310,6 +310,8 @@ + Elf32_Addr *const reloc_addr = (void *) (l_addr + reloc->r_offset); + if (ELF32_R_TYPE (reloc->r_info) == R_68K_JMP_SLOT) + *reloc_addr += l_addr; ++ else if (ELF32_R_TYPE (reloc->r_info) == R_68K_NONE) ++ return; + else + _dl_reloc_bad_type (map, ELF32_R_TYPE (reloc->r_info), 1); + } --- glibc-2.3.6.orig/debian/patches/glibc234-hppa-full-nptl-2004-12-20.dpatch +++ glibc-2.3.6/debian/patches/glibc234-hppa-full-nptl-2004-12-20.dpatch @@ -0,0 +1,1201 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: parisc patches based on 50_glibc232-hppa-full-nptl-2003-10-22. +# This dpatch excepts (1) patches applied already in cvs +# (2) hppa ldcw spinlock fix. (2) should be merged in future. +# DP: Related bugs: +# DP: Dpatch author: GOTO Masanori +# DP: Patch author: Carlos O'Donell +# DP: Upstream status: Pending +# DP: Status Details: +# DP: Date: 2005-03-14 + +PATCHLEVEL=1 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +# Patched with: +# +# Linuxthread fixes: +# patches-2003-10-14/glibc23-00.a-noarch-pthreads +# patches-2003-10-14/glibc23-00.a1-noarch-sgu +# patches-2003-10-14/glibc23-00.b-noarch-sysdeps-pthreads +# patches-2003-10-14/glibc23-00.c2-hppa-pthreads +# patches-2003-10-14/glibc23-01d-hppa-dl-machine +# +# libgcc compat fixes: +# patches-2003-10-14/glibc23-02-hppa-compat +# +# Introduce atomicity warnings: +# patches-2003-10-14/glibc23-03-hppa-atomicity +# +# Don't align all mallocs at 16: +# patches-2003-10-14/glibc23-04-hppa-malloc8 +# +# Sysdep updates including cancellation: +# patches-2003-10-14/glibc23-05n-hppa-sysdep +# patches-2003-10-14/glibc23-06r-hppa-sysdep-cancel +# patches-2003-10-14/glibc23-07b-hppa-sysdep2 +# = Patched 2003-10-20 to remove load offset typo +# Elf entry fix for ld, removes kernel hack: +# patches-2003-10-14/glibc23-09-hppa-entry +# +# Patch to use new atomic structure: +# patches-2003-10-14/glibc23-12-hppa-oldsemaphore +# +# We have sjlj exceptions but compat code was for dwarf: +# patches-2003-10-14/glibc23-13-hppa-framestatefor +# +# Fix function pointer resolving (needs to move to new generic method): +# patches-2003-10-14/glibc23-14-hppa-dlfptr +# +# Fixes getaddrinfo from upstream: +# patches-2003-10-14/glibc23-15-generic-getaddrinfo +# +# Include new pthreadtypes for hppa: +# patches-2003-10-14/glibc23-17b-hppa-pthreadtypes +# +# Fix warnings: +# patches-2003-10-14/glibc23-18-generic-sysctlh +# +# Add semtimedop for hppa: +# patches-2003-10-14/glibc23-19-hppa-semtimedop +# +# Fix symbol resolution issues: +# patches-2003-10-14/glibc23-20c-hppa-ptmachine +# +# Make the kernelstat 64-bit uncompatible: +# patches-2003-10-14/glibc23-21-hppa-kernelstat +# +# Fixup C version of syscalls: +# patches-2003-10-14/glibc23-22c-hppa-sysdepc +# +# Fixes for sjlj versus dwarf compat code: +# patches-2003-10-14/glibc23-23-hppa-unwind-dw2 +# +# Allow hppa to get at the linkmap: +# patches-2003-10-14/glibc23-25b-dynamic-link +# +# Fix all of the assembly for hppa fpu code: +# patches-2003-10-14/glibc23-26e-fpu +# = Patched 2003-10-20 to fix FE_INEXACT failures +# +# Add small amount of debugging code to make locale +# generation easier to understand: +# patches-2003-10-14/glibc23-27-debug-gen-locale +# +# Fixup clone to save/restore pic register: +# patches-2003-10-14/glibc23-28c-hppa-clone +# +# Fixup prototype warnings: +# patches-2003-10-14/glibc23-29-hppa-prototypes +# +# Fixup bad cats: +# patches-2003-10-14/glibc23-30-hppa-casts +# +# Fixup warning: +# patches-2003-10-14/glibc23-31-generic-unix-Makefile +# +# Implement proper non-linuxthread locking: +# patches-2003-10-14/glibc23-32-hppa-thread-m +# patches-2003-10-14/glibc23-32a-hppa-thread-m +# +# Fixup warnings: +# patches-2003-10-14/glibc23-33-generic-internals +# +# These patches generate rejects, and those rejects were then dealt +# with on a per patch basis. Some were discarded others merged. +# +# append the patch here and adjust the -p? flag in the patch calls. + + +# +# it seems we do not need it... +# +#diff -urN glibc-2.3.2-orig-debian/elf/dynamic-link.h glibc-2.3.2/elf/dynamic-link.h +#--- glibc-2.3.2-orig-debian/elf/dynamic-link.h 2003-10-22 01:06:09.000000000 -0400 +#+++ glibc-2.3.2/elf/dynamic-link.h 2003-10-22 01:11:53.000000000 -0400 +#@@ -39,12 +39,21 @@ +# elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc, +# const ElfW(Sym) *sym, const struct r_found_version *version, +# void *const reloc_addr); +#+# if ELF_MACHINE_REL_RELATIVE_NEEDSLINKMAP +#+auto void __attribute__((always_inline)) +#+elf_machine_rel_relative (struct link_map *map, ElfW(Addr) l_addr, const ElfW(Rel) *reloc, +#+ void *const reloc_addr); +#+auto void __attribute__((always_inline)) +#+elf_machine_rela_relative (struct link_map *map, ElfW(Addr) l_addr, const ElfW(Rela) *reloc, +#+ void *const reloc_addr); +#+# else +# auto void __attribute__((always_inline)) +# elf_machine_rel_relative (ElfW(Addr) l_addr, const ElfW(Rel) *reloc, +# void *const reloc_addr); +# auto void __attribute__((always_inline)) +# elf_machine_rela_relative (ElfW(Addr) l_addr, const ElfW(Rela) *reloc, +# void *const reloc_addr); +#+# endif +# # if ELF_MACHINE_NO_RELA || defined ELF_MACHINE_PLT_REL +# auto void __attribute__((always_inline)) +# elf_machine_lazy_rel (struct link_map *map, + + +# +# no, it's not applied yet. it may be needed... we need investigation. +# +#diff -urN glibc-2.3.2-orig-debian/linuxthreads/attr.c glibc-2.3.2/linuxthreads/attr.c +#--- glibc-2.3.2-orig-debian/linuxthreads/attr.c 2003-10-22 01:06:10.000000000 -0400 +#+++ glibc-2.3.2/linuxthreads/attr.c 2003-10-22 01:07:38.000000000 -0400 +#@@ -450,12 +450,19 @@ +# { +# /* Found the entry. Now we have the info we need. */ +# attr->__stacksize = rl.rlim_cur; +#+#ifdef _STACK_GROWS_DOWN +# attr->__stackaddr = (void *) to; +#- +#+#else +#+ attr->__stackaddr = (void *) from; +#+#endif +# /* The limit might be too high. This is a bogus +# situation but try to avoid making it worse. */ +# if ((size_t) attr->__stacksize > (size_t) attr->__stackaddr) +#+#ifdef _STACK_GROWS_DOWN +# attr->__stacksize = (size_t) attr->__stackaddr; +#+#else +#+ attr->__stacksize = (size_t)(to - from); +#+#endif +# +# /* We succeed and no need to look further. */ +# ret = 0; + + +# +# no, not applied yet. (lock change) +# +#diff -urN glibc-2.3.2-orig-debian/linuxthreads/descr.h glibc-2.3.2/linuxthreads/descr.h +#--- glibc-2.3.2-orig-debian/linuxthreads/descr.h 2003-10-22 01:06:10.000000000 -0400 +#+++ glibc-2.3.2/linuxthreads/descr.h 2003-10-22 01:07:38.000000000 -0400 +#@@ -71,7 +71,7 @@ +# /* Atomic counter made possible by compare_and_swap */ +# struct pthread_atomic { +# long p_count; +#- int p_spinlock; +#+ __atomic_lock_t p_spinlock; +# }; + + + +# +# not applied yet. (lock change) +# +#diff -urN glibc-2.3.2-orig-debian/linuxthreads/oldsemaphore.c glibc-2.3.2/linuxthreads/oldsemaphore.c +#--- glibc-2.3.2-orig-debian/linuxthreads/oldsemaphore.c 2003-10-22 01:03:57.000000000 -0400 +#+++ glibc-2.3.2/linuxthreads/oldsemaphore.c 2003-10-22 01:07:38.000000000 -0400 +#@@ -31,7 +31,7 @@ +# +# typedef struct { +# long int sem_status; +#- int sem_spinlock; +#+ __atomic_lock_t sem_spinlock; +# } old_sem_t; +# +# extern int __old_sem_init (old_sem_t *__sem, int __pshared, unsigned int __value); + + +# +# not applied yet. (I don't know why it's needed, but lock change?) +# +#diff -urN glibc-2.3.2-orig-debian/linuxthreads/pt-machine.c glibc-2.3.2/linuxthreads/pt-machine.c +#--- glibc-2.3.2-orig-debian/linuxthreads/pt-machine.c 2003-10-22 01:03:57.000000000 -0400 +#+++ glibc-2.3.2/linuxthreads/pt-machine.c 2003-10-22 01:07:38.000000000 -0400 +#@@ -19,7 +19,9 @@ +# +# #define PT_EI +# +#-extern long int testandset (int *spinlock); +#+#include +#+ +#+extern long int testandset (__atomic_lock_t *spinlock); +# extern int __compare_and_swap (long int *p, long int oldval, long int newval); +# +# #include + + +# +# partially applied: 893, 908. but not for SPINLOCK (lock change). +# +#diff -urN glibc-2.3.2-orig-debian/linuxthreads/pthread.c glibc-2.3.2/linuxthreads/pthread.c +#--- glibc-2.3.2-orig-debian/linuxthreads/pthread.c 2003-10-22 01:06:16.000000000 -0400 +#+++ glibc-2.3.2/linuxthreads/pthread.c 2003-10-22 01:07:38.000000000 -0400 +#@@ -300,9 +300,9 @@ +# pthread_descr self; +# +# /* First of all init __pthread_handles[0] and [1] if needed. */ +#-# if __LT_SPINLOCK_INIT != 0 +#- __pthread_handles[0].h_lock = __LOCK_INITIALIZER; +#- __pthread_handles[1].h_lock = __LOCK_INITIALIZER; +#+# ifdef __LT_INITIALIZER_NOT_ZERO +#+ __pthread_handles[0].h_lock = __LOCK_ALT_INITIALIZER; +#+ __pthread_handles[1].h_lock = __LOCK_ALT_INITIALIZER; +# # endif +# # ifndef SHARED +# /* Unlike in the dynamically linked case the dynamic linker has not +#@@ -370,7 +370,7 @@ +# # endif +# /* self->p_start_args need not be initialized, it's all zero. */ +# self->p_userstack = 1; +#-# if __LT_SPINLOCK_INIT != 0 +#+# ifdef __LT_INITIALIZER_NOT_ZERO +# self->p_resume_count = (struct pthread_atomic) __ATOMIC_INITIALIZER; +# # endif +# self->p_alloca_cutoff = __MAX_ALLOCA_CUTOFF; +#@@ -384,9 +384,9 @@ +# #else /* USE_TLS */ +# +# /* First of all init __pthread_handles[0] and [1]. */ +#-# if __LT_SPINLOCK_INIT != 0 +#- __pthread_handles[0].h_lock = __LOCK_INITIALIZER; +#- __pthread_handles[1].h_lock = __LOCK_INITIALIZER; +#+# ifdef __LT_INITIALIZER_NOT_ZERO +#+ __pthread_handles[0].h_lock = __LOCK_ALT_INITIALIZER; +#+ __pthread_handles[1].h_lock = __LOCK_ALT_INITIALIZER; +# # endif +# __pthread_handles[0].h_descr = &__pthread_initial_thread; +# __pthread_handles[1].h_descr = &__pthread_manager_thread; +#@@ -893,7 +893,11 @@ +# /* __pthread_handles[0] is the initial thread, __pthread_handles[1] is +# the manager threads handled specially in thread_self(), so start at 2 */ +# h = __pthread_handles + 2; +#+# ifdef _STACK_GROWS_UP +#+ while (! (sp >= (char *) h->h_descr && sp < h->h_descr->p_guardaddr)) h++; +#+# else +# while (! (sp <= (char *) h->h_descr && sp >= h->h_bottom)) h++; +#+# endif +# return h->h_descr; +# } +# +#@@ -908,11 +912,22 @@ +# return manager_thread; +# h = __pthread_handles + 2; +# # ifdef USE_TLS +#+# ifdef _STACK_GROWS_UP +#+ while (h->h_descr == NULL +#+ || ! (sp >= h->h_descr->p_stackaddr && +#+ sp < h->h_descr->p_guardaddr)) +#+# else +# while (h->h_descr == NULL +#- || ! (sp <= (char *) h->h_descr->p_stackaddr && sp >= h->h_bottom)) +#+ || ! (sp <= h->h_descr->p_stackaddr && +#+ sp >= h->h_bottom)) +#+# endif +# h++; +# # else +#+# ifdef _STACK_GROWS_UP +#+ while (! (sp >= (char *) h->h_descr && sp < h->h_descr->p_guardaddr)) +#+# else +# while (! (sp <= (char *) h->h_descr && sp >= h->h_bottom)) +#+# endif +# h++; +# # endif +# return h->h_descr; + + +# +# not (lock change) +# +#diff -urN glibc-2.3.2-orig-debian/linuxthreads/spinlock.c glibc-2.3.2/linuxthreads/spinlock.c +#--- glibc-2.3.2-orig-debian/linuxthreads/spinlock.c 2003-10-22 01:03:57.000000000 -0400 +#+++ glibc-2.3.2/linuxthreads/spinlock.c 2003-10-22 01:07:38.000000000 -0400 +#@@ -24,9 +24,9 @@ +# #include "spinlock.h" +# #include "restart.h" +# +#-static void __pthread_acquire(int * spinlock); +#+static void __pthread_acquire(__atomic_lock_t * spinlock); +# +#-static inline void __pthread_release(int * spinlock) +#+static inline void __pthread_release(__atomic_lock_t * spinlock) +# { +# WRITE_MEMORY_BARRIER(); +# *spinlock = __LT_SPINLOCK_INIT; +#@@ -269,11 +269,11 @@ +# struct wait_node { +# struct wait_node *next; /* Next node in null terminated linked list */ +# pthread_descr thr; /* The thread waiting with this node */ +#- int abandoned; /* Atomic flag */ +#+ __atomic_lock_t abandoned; /* Atomic flag */ +# }; +# +# static long wait_node_free_list; +#-static int wait_node_free_list_spinlock; +#+__pthread_lock_define_initialized(static, wait_node_free_list_spinlock); +# +# /* Allocate a new node from the head of the free list using an atomic +# operation, or else using malloc if that list is empty. A fundamental +#@@ -376,7 +376,7 @@ +# if (self == NULL) +# self = thread_self(); +# +#- wait_node.abandoned = 0; +#+ wait_node.abandoned = __LT_SPINLOCK_INIT; +# wait_node.next = (struct wait_node *) lock->__status; +# wait_node.thr = self; +# lock->__status = (long) &wait_node; +#@@ -402,7 +402,7 @@ +# wait_node.thr = self; +# newstatus = (long) &wait_node; +# } +#- wait_node.abandoned = 0; +#+ wait_node.abandoned = __LT_SPINLOCK_INIT; +# wait_node.next = (struct wait_node *) oldstatus; +# /* Make sure the store in wait_node.next completes before performing +# the compare-and-swap */ +#@@ -451,7 +451,7 @@ +# if (self == NULL) +# self = thread_self(); +# +#- p_wait_node->abandoned = 0; +#+ p_wait_node->abandoned = __LT_SPINLOCK_INIT; +# p_wait_node->next = (struct wait_node *) lock->__status; +# p_wait_node->thr = self; +# lock->__status = (long) p_wait_node; +#@@ -474,7 +474,7 @@ +# p_wait_node->thr = self; +# newstatus = (long) p_wait_node; +# } +#- p_wait_node->abandoned = 0; +#+ p_wait_node->abandoned = __LT_SPINLOCK_INIT; +# p_wait_node->next = (struct wait_node *) oldstatus; +# /* Make sure the store in wait_node.next completes before performing +# the compare-and-swap */ +#@@ -574,7 +574,7 @@ +# while (p_node != (struct wait_node *) 1) { +# int prio; +# +#- if (p_node->abandoned) { +#+ if (lock_held(&p_node->abandoned)) { +# /* Remove abandoned node. */ +# #if defined TEST_FOR_COMPARE_AND_SWAP +# if (!__pthread_has_cas) +#@@ -662,7 +662,7 @@ +# #if !defined HAS_COMPARE_AND_SWAP || defined TEST_FOR_COMPARE_AND_SWAP +# +# int __pthread_compare_and_swap(long * ptr, long oldval, long newval, +#- int * spinlock) +#+ __atomic_lock_t * spinlock) +# { +# int res; +# +#@@ -699,7 +699,7 @@ +# - When nanosleep() returns, we try again, doing MAX_SPIN_COUNT +# sched_yield(), then sleeping again if needed. */ +# +#-static void __pthread_acquire(int * spinlock) +#+static void __pthread_acquire(__atomic_lock_t * spinlock) +# { +# int cnt = 0; +# struct timespec tm; + + +# +# not (lock change) +# +#diff -urN glibc-2.3.2-orig-debian/linuxthreads/spinlock.h glibc-2.3.2/linuxthreads/spinlock.h +#--- glibc-2.3.2-orig-debian/linuxthreads/spinlock.h 2003-10-22 01:06:10.000000000 -0400 +#+++ glibc-2.3.2/linuxthreads/spinlock.h 2003-10-22 01:07:38.000000000 -0400 +#@@ -33,14 +33,28 @@ +# #endif +# #endif +# +#+/* Define lock_held for all arches that don't need a modified copy. */ +#+#ifndef __LT_INITIALIZER_NOT_ZERO +#+# define lock_held(p) *(p) +#+#endif +#+ +#+/* Initliazers for possibly complex structures */ +#+#ifdef __LT_INITIALIZER_NOT_ZERO +#+# define __pthread_lock_define_initialized(CLASS,NAME) \ +#+ CLASS __atomic_lock_t NAME = __LT_SPINLOCK_ALT_INIT +#+#else +#+# define __pthread_lock_define_initialized(CLASS,NAME) \ +#+ CLASS __atomic_lock_t NAME +#+#endif +#+ +# #if defined(TEST_FOR_COMPARE_AND_SWAP) +# +# extern int __pthread_has_cas; +# extern int __pthread_compare_and_swap(long * ptr, long oldval, long newval, +#- int * spinlock); +#+ __atomic_lock_t * spinlock); +# +# static inline int compare_and_swap(long * ptr, long oldval, long newval, +#- int * spinlock) +#+ __atomic_lock_t * spinlock) +# { +# if (__builtin_expect (__pthread_has_cas, 1)) +# return __compare_and_swap(ptr, oldval, newval); +#@@ -58,7 +72,7 @@ +# +# static inline int +# compare_and_swap_with_release_semantics (long * ptr, long oldval, +#- long newval, int * spinlock) +#+ long newval, __atomic_lock_t * spinlock) +# { +# return __compare_and_swap_with_release_semantics (ptr, oldval, +# newval); +#@@ -67,7 +81,7 @@ +# #endif +# +# static inline int compare_and_swap(long * ptr, long oldval, long newval, +#- int * spinlock) +#+ __atomic_lock_t * spinlock) +# { +# return __compare_and_swap(ptr, oldval, newval); +# } +#@@ -75,10 +89,10 @@ +# #else +# +# extern int __pthread_compare_and_swap(long * ptr, long oldval, long newval, +#- int * spinlock); +#+ __atomic_lock_t * spinlock); +# +# static inline int compare_and_swap(long * ptr, long oldval, long newval, +#- int * spinlock) +#+ __atomic_lock_t * spinlock) +# { +# return __pthread_compare_and_swap(ptr, oldval, newval, spinlock); +# } + + +# +# not applied (lock change) +# +#diff -urN glibc-2.3.2-orig-debian/linuxthreads/sysdeps/hppa/pspinlock.c glibc-2.3.2/linuxthreads/sysdeps/hppa/pspinlock.c +#--- glibc-2.3.2-orig-debian/linuxthreads/sysdeps/hppa/pspinlock.c 2003-10-22 01:03:57.000000000 -0400 +#+++ glibc-2.3.2/linuxthreads/sysdeps/hppa/pspinlock.c 2003-10-22 01:07:38.000000000 -0400 +#@@ -24,13 +24,10 @@ +# int +# __pthread_spin_lock (pthread_spinlock_t *lock) +# { +#- unsigned int val; +#+ volatile unsigned int *addr = __ldcw_align (lock); +# +#- do +#- asm volatile ("ldcw %1,%0" +#- : "=r" (val), "=m" (*lock) +#- : "m" (*lock)); +#- while (!val); +#+ while (__ldcw (addr) == 0) +#+ while (*addr == 0) ; +# +# return 0; +# } +#@@ -40,13 +37,9 @@ +# int +# __pthread_spin_trylock (pthread_spinlock_t *lock) +# { +#- unsigned int val; +#+ volatile unsigned int *a = __ldcw_align (lock); +# +#- asm volatile ("ldcw %1,%0" +#- : "=r" (val), "=m" (*lock) +#- : "m" (*lock)); +#- +#- return val ? 0 : EBUSY; +#+ return __ldcw (a) ? 0 : EBUSY; +# } +# weak_alias (__pthread_spin_trylock, pthread_spin_trylock) +# +#@@ -54,7 +47,9 @@ +# int +# __pthread_spin_unlock (pthread_spinlock_t *lock) +# { +#- *lock = 1; +#+ volatile unsigned int *a = __ldcw_align (lock); +#+ +#+ *a = 1; +# return 0; +# } +# weak_alias (__pthread_spin_unlock, pthread_spin_unlock) +#@@ -66,7 +61,9 @@ +# /* We can ignore the `pshared' parameter. Since we are busy-waiting +# all processes which can access the memory location `lock' points +# to can use the spinlock. */ +#- *lock = 1; +#+ volatile unsigned int *a = __ldcw_align (lock); +#+ +#+ *a = 1; +# return 0; +# } +# weak_alias (__pthread_spin_init, pthread_spin_init) + + +# +# not applied (lock change) +# +#diff -urN glibc-2.3.2-orig-debian/linuxthreads/sysdeps/hppa/pt-machine.h glibc-2.3.2/linuxthreads/sysdeps/hppa/pt-machine.h +#--- glibc-2.3.2-orig-debian/linuxthreads/sysdeps/hppa/pt-machine.h 2003-10-22 01:06:10.000000000 -0400 +#+++ glibc-2.3.2/linuxthreads/sysdeps/hppa/pt-machine.h 2003-10-22 01:12:51.000000000 -0400 +#@@ -22,41 +22,97 @@ +# #ifndef _PT_MACHINE_H +# #define _PT_MACHINE_H 1 +# +#+#include +# #include +# +# #ifndef PT_EI +# # define PT_EI extern inline __attribute__ ((always_inline)) +# #endif +# +#-extern long int testandset (int *spinlock); +#-extern int __compare_and_swap (long int *p, long int oldval, long int newval); +#+extern inline long int testandset (__atomic_lock_t *spinlock); +#+extern inline int __compare_and_swap (long int *p, long int oldval, long int newval); +#+extern inline int lock_held (__atomic_lock_t *spinlock); +#+extern inline int __load_and_clear (__atomic_lock_t *spinlock); +# +# /* Get some notion of the current stack. Need not be exactly the top +# of the stack, just something somewhere in the current frame. */ +# #define CURRENT_STACK_FRAME stack_pointer +# register char * stack_pointer __asm__ ("%r30"); +# +#+/* Get/Set thread-specific pointer. We have to call into the kernel to +#+ * modify it, but we can read it in user mode. */ +#+ +#+#define THREAD_SELF __get_cr27() +#+ +#+static inline struct _pthread_descr_struct * __get_cr27(void) +#+{ +#+ long cr27; +#+ asm("mfctl %%cr27, %0" : "=r" (cr27) : ); +#+ return (struct _pthread_descr_struct *) cr27; +#+} +#+ +#+#define INIT_THREAD_SELF(descr, nr) __set_cr27(descr) +#+ +#+static inline void __set_cr27(struct _pthread_descr_struct * cr27) +#+{ +#+ asm( +#+ "ble 0xe0(%%sr2, %%r0)\n\t" +#+ "copy %0, %%r26" +#+ : : "r" (cr27) : "r26" ); +#+} +#+ +#+/* We want the OS to assign stack addresses. */ +#+#define FLOATING_STACKS 1 +#+#define ARCH_STACK_MAX_SIZE 8*1024*1024 +# +# /* The hppa only has one atomic read and modify memory operation, +# load and clear, so hppa spinlocks must use zero to signify that +#- someone is holding the lock. */ +#+ someone is holding the lock. The address used for the ldcw +#+ semaphore must be 16-byte aligned. */ +#+#define __ldcw(a) ({ \ +#+ unsigned int __ret; \ +#+ __asm__ __volatile__("ldcw 0(%2),%0" \ +#+ : "=r" (__ret), "=m" (*(a)) : "r" (a)); \ +#+ __ret; \ +#+}) +#+ +#+/* Because malloc only guarantees 8-byte alignment for malloc'd data, +#+ and GCC only guarantees 8-byte alignment for stack locals, we can't +#+ be assured of 16-byte alignment for atomic lock data even if we +#+ specify "__attribute ((aligned(16)))" in the type declaration. So, +#+ we use a struct containing an array of four ints for the atomic lock +#+ type and dynamically select the 16-byte aligned int from the array +#+ for the semaphore. */ +#+#define __PA_LDCW_ALIGNMENT 16 +#+#define __ldcw_align(a) ({ \ +#+ volatile unsigned int __ret = (unsigned int) a; \ +#+ if ((__ret & ~(__PA_LDCW_ALIGNMENT - 1)) < (unsigned int) a) \ +#+ __ret = (__ret & ~(__PA_LDCW_ALIGNMENT - 1)) + __PA_LDCW_ALIGNMENT; \ +#+ (unsigned int *) __ret; \ +#+}) +# +#-#define xstr(s) str(s) +#-#define str(s) #s +# /* Spinlock implementation; required. */ +#-PT_EI long int +#-testandset (int *spinlock) +#+PT_EI int +#+__load_and_clear (__atomic_lock_t *spinlock) +# { +#- int ret; +#+ volatile unsigned int *a = __ldcw_align (spinlock); +# +#- __asm__ __volatile__( +#- "ldcw 0(%2),%0" +#- : "=r"(ret), "=m"(*spinlock) +#- : "r"(spinlock)); +#+ return __ldcw (a); +#+} +# +#- return ret == 0; +#+/* Emulate testandset */ +#+PT_EI long int +#+testandset (__atomic_lock_t *spinlock) +#+{ +#+ return (__load_and_clear(spinlock) == 0); +# } +#-#undef str +#-#undef xstr +# +#+PT_EI int +#+lock_held (__atomic_lock_t *spinlock) +#+{ +#+ volatile unsigned int *a = __ldcw_align (spinlock); +#+ +#+ return *a == 0; +#+} +#+ +# #endif /* pt-machine.h */ + + + +# +# not (lock change). +# +#diff -urN glibc-2.3.2-orig-debian/linuxthreads/sysdeps/pthread/bits/libc-lock.h glibc-2.3.2/linuxthreads/sysdeps/pthread/bits/libc-lock.h +#--- glibc-2.3.2-orig-debian/linuxthreads/sysdeps/pthread/bits/libc-lock.h 2003-10-22 01:06:16.000000000 -0400 +#+++ glibc-2.3.2/linuxthreads/sysdeps/pthread/bits/libc-lock.h 2003-10-22 01:07:38.000000000 -0400 +#@@ -71,12 +71,12 @@ +# initialized locks must be set to one due to the lack of normal +# atomic operations.) */ +# +#-#if __LT_SPINLOCK_INIT == 0 +#+#ifdef __LT_INITIALIZER_NOT_ZERO +# # define __libc_lock_define_initialized(CLASS,NAME) \ +#- CLASS __libc_lock_t NAME; +#+ CLASS __libc_lock_t NAME = PTHREAD_MUTEX_INITIALIZER; +# #else +# # define __libc_lock_define_initialized(CLASS,NAME) \ +#- CLASS __libc_lock_t NAME = PTHREAD_MUTEX_INITIALIZER; +#+ CLASS __libc_lock_t NAME; +# #endif +# +# #define __libc_rwlock_define_initialized(CLASS,NAME) \ + + +# +# not. (lock change) +# +#diff -urN glibc-2.3.2-orig-debian/linuxthreads/sysdeps/pthread/bits/pthreadtypes.h glibc-2.3.2/linuxthreads/sysdeps/pthread/bits/pthreadtypes.h +#--- glibc-2.3.2-orig-debian/linuxthreads/sysdeps/pthread/bits/pthreadtypes.h 2003-10-22 01:03:57.000000000 -0400 +#+++ glibc-2.3.2/linuxthreads/sysdeps/pthread/bits/pthreadtypes.h 2003-10-22 01:07:38.000000000 -0400 +#@@ -22,12 +22,14 @@ +# #define __need_schedparam +# #include +# +#+typedef int __atomic_lock_t; +#+ +# /* Fast locks (not abstract because mutexes and conditions aren't abstract). */ +# struct _pthread_fastlock +# { +#- long int __status; /* "Free" or "taken" or head of waiting list */ +#- int __spinlock; /* Used by compare_and_swap emulation. Also, +#- adaptive SMP lock stores spin count here. */ +#+ long int __status; /* "Free" or "taken" or head of waiting list */ +#+ __atomic_lock_t __spinlock; /* Used by compare_and_swap emulation. Also, +#+ adaptive SMP lock stores spin count here. */ +# }; +# +# #ifndef _PTHREAD_DESCR_DEFINED + + + +# +# not (lock change) +# +#diff -urN glibc-2.3.2-orig-debian/linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/initspin.h glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/initspin.h +#--- glibc-2.3.2-orig-debian/linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/initspin.h 2003-10-22 01:03:57.000000000 -0400 +#+++ glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/initspin.h 2003-10-22 01:07:38.000000000 -0400 +#@@ -19,9 +19,23 @@ +# +# /* Initial value of a spinlock. PA-RISC only implements atomic load +# and clear so this must be non-zero. */ +#-#define __LT_SPINLOCK_INIT 1 +#+#define __LT_SPINLOCK_INIT ((__atomic_lock_t) { { 1, 1, 1, 1 } }) +#+ +#+/* Initialize global spinlocks without cast, generally macro wrapped */ +#+#define __LT_SPINLOCK_ALT_INIT { { 1, 1, 1, 1 } } +#+ +#+/* Macros for lock initializers, not using the above definition. +#+ The above definition is not used in the case that static initializers +#+ use this value. */ +#+#define __LOCK_INITIALIZER { __LT_SPINLOCK_ALT_INIT, 0 } +#+ +#+/* Used to initialize _pthread_fastlock's in non-static case */ +#+#define __LOCK_ALT_INITIALIZER ((struct _pthread_fastlock){ __LT_SPINLOCK_INIT, 0 }) +#+ +#+/* Used in pthread_atomic initialization */ +#+#define __ATOMIC_INITIALIZER { 0, __LT_SPINLOCK_ALT_INIT } +#+ +#+/* Tell the rest of the code that the initializer is non-zero without +#+ explaining it's internal structure */ +#+#define __LT_INITIALIZER_NOT_ZERO +# +#-/* Macros for lock initializers, using the above definition. */ +#-#define __LOCK_INITIALIZER { 0, __LT_SPINLOCK_INIT } +#-#define __ALT_LOCK_INITIALIZER { 0, __LT_SPINLOCK_INIT } +#-#define __ATOMIC_INITIALIZER { 0, __LT_SPINLOCK_INIT } + + + +# +# not (lock change) +# +#diff -urN glibc-2.3.2-orig-debian/linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/pthreadtypes.h glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/pthreadtypes.h +#--- glibc-2.3.2-orig-debian/linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/pthreadtypes.h 1969-12-31 19:00:00.000000000 -0500 +#+++ glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/pthreadtypes.h 2003-10-22 01:07:38.000000000 -0400 +#@@ -0,0 +1,160 @@ +#+/* Linuxthreads - a simple clone()-based implementation of Posix */ +#+/* threads for Linux. */ +#+/* Copyright (C) 1996 Xavier Leroy (Xavier.Leroy@inria.fr) */ +#+/* */ +#+/* This program is free software; you can redistribute it and/or */ +#+/* modify it under the terms of the GNU Library General Public License */ +#+/* as published by the Free Software Foundation; either version 2 */ +#+/* of the License, or (at your option) any later version. */ +#+/* */ +#+/* This program is distributed in the hope that it will be useful, */ +#+/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ +#+/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ +#+/* GNU Library General Public License for more details. */ +#+ +#+#if !defined _BITS_TYPES_H && !defined _PTHREAD_H +#+# error "Never include directly; use instead." +#+#endif +#+ +#+#ifndef _BITS_PTHREADTYPES_H +#+#define _BITS_PTHREADTYPES_H 1 +#+ +#+#define __need_schedparam +#+#include +#+ +#+/* We need 128-bit alignment for the ldcw semaphore. At most, we are +#+ assured of 64-bit alignment for stack locals and malloc'd data. Thus, +#+ we use a struct with four ints for the atomic lock type. The locking +#+ code will figure out which of the four to use for the ldcw semaphore. */ +#+typedef volatile struct { +#+ int lock[4]; +#+} __attribute__ ((aligned(16))) __atomic_lock_t; +#+ +#+/* Fast locks (not abstract because mutexes and conditions aren't abstract). */ +#+struct _pthread_fastlock +#+{ +#+ __atomic_lock_t __spinlock; /* Used by compare_and_swap emulation. Also, +#+ adaptive SMP lock stores spin count here. */ +#+ long int __status; /* "Free" or "taken" or head of waiting list */ +#+}; +#+ +#+#ifndef _PTHREAD_DESCR_DEFINED +#+/* Thread descriptors */ +#+typedef struct _pthread_descr_struct *_pthread_descr; +#+# define _PTHREAD_DESCR_DEFINED +#+#endif +#+ +#+ +#+/* Attributes for threads. */ +#+typedef struct __pthread_attr_s +#+{ +#+ int __detachstate; +#+ int __schedpolicy; +#+ struct __sched_param __schedparam; +#+ int __inheritsched; +#+ int __scope; +#+ size_t __guardsize; +#+ int __stackaddr_set; +#+ void *__stackaddr; +#+ size_t __stacksize; +#+} pthread_attr_t; +#+ +#+ +#+/* Conditions (not abstract because of PTHREAD_COND_INITIALIZER */ +#+ +#+#ifdef __GLIBC_HAVE_LONG_LONG +#+__extension__ typedef long long __pthread_cond_align_t; +#+#else +#+typedef long __pthread_cond_align_t; +#+#endif +#+ +#+typedef struct +#+{ +#+ struct _pthread_fastlock __c_lock; /* Protect against concurrent access */ +#+ _pthread_descr __c_waiting; /* Threads waiting on this condition */ +#+ char __padding[48 - sizeof (struct _pthread_fastlock) +#+ - sizeof (_pthread_descr) - sizeof (__pthread_cond_align_t)]; +#+ __pthread_cond_align_t __align; +#+} pthread_cond_t; +#+ +#+ +#+/* Attribute for conditionally variables. */ +#+typedef struct +#+{ +#+ int __dummy; +#+} pthread_condattr_t; +#+ +#+/* Keys for thread-specific data */ +#+typedef unsigned int pthread_key_t; +#+ +#+ +#+/* Mutexes (not abstract because of PTHREAD_MUTEX_INITIALIZER). */ +#+/* (The layout is unnatural to maintain binary compatibility +#+ with earlier releases of LinuxThreads.) */ +#+typedef struct +#+{ +#+ int __m_reserved; /* Reserved for future use */ +#+ int __m_count; /* Depth of recursive locking */ +#+ _pthread_descr __m_owner; /* Owner thread (if recursive or errcheck) */ +#+ int __m_kind; /* Mutex kind: fast, recursive or errcheck */ +#+ struct _pthread_fastlock __m_lock; /* Underlying fast lock */ +#+} pthread_mutex_t; +#+ +#+ +#+/* Attribute for mutex. */ +#+typedef struct +#+{ +#+ int __mutexkind; +#+} pthread_mutexattr_t; +#+ +#+ +#+/* Once-only execution */ +#+typedef int pthread_once_t; +#+ +#+ +#+#ifdef __USE_UNIX98 +#+/* Read-write locks. */ +#+typedef struct _pthread_rwlock_t +#+{ +#+ struct _pthread_fastlock __rw_lock; /* Lock to guarantee mutual exclusion */ +#+ int __rw_readers; /* Number of readers */ +#+ _pthread_descr __rw_writer; /* Identity of writer, or NULL if none */ +#+ _pthread_descr __rw_read_waiting; /* Threads waiting for reading */ +#+ _pthread_descr __rw_write_waiting; /* Threads waiting for writing */ +#+ int __rw_kind; /* Reader/Writer preference selection */ +#+ int __rw_pshared; /* Shared between processes or not */ +#+} pthread_rwlock_t; +#+ +#+ +#+/* Attribute for read-write locks. */ +#+typedef struct +#+{ +#+ int __lockkind; +#+ int __pshared; +#+} pthread_rwlockattr_t; +#+#endif +#+ +#+#ifdef __USE_XOPEN2K +#+/* POSIX spinlock data type. */ +#+typedef __atomic_lock_t pthread_spinlock_t; +#+ +#+/* POSIX barrier. */ +#+typedef struct { +#+ struct _pthread_fastlock __ba_lock; /* Lock to guarantee mutual exclusion */ +#+ int __ba_required; /* Threads needed for completion */ +#+ int __ba_present; /* Threads waiting */ +#+ _pthread_descr __ba_waiting; /* Queue of waiting threads */ +#+} pthread_barrier_t; +#+ +#+/* barrier attribute */ +#+typedef struct { +#+ int __pshared; +#+} pthread_barrierattr_t; +#+ +#+#endif +#+ +#+ +#+/* Thread identifiers */ +#+typedef unsigned long int pthread_t; +#+ +#+#endif /* bits/pthreadtypes.h */ + + + +# +# I don't know why it's needed... I think we can drop it. +# +#diff -urN glibc-2.3.2-orig-debian/localedata/gen-locale.sh glibc-2.3.2/localedata/gen-locale.sh +#--- glibc-2.3.2-orig-debian/localedata/gen-locale.sh 2003-10-22 01:03:54.000000000 -0400 +#+++ glibc-2.3.2/localedata/gen-locale.sh 2003-10-22 01:07:38.000000000 -0400 +#@@ -47,6 +47,7 @@ +# locale=`echo $locfile|sed 's|\([^.]*\)[.].*/LC_CTYPE|\1|'` +# charmap=`echo $locfile|sed 's|[^.]*[.]\(.*\)/LC_CTYPE|\1|'` +# +#+echo "Running \"$0 $common_objpfx $localedef $locfile\"" +# echo "Generating locale $locale.$charmap: this might take a while..." +# generate_locale `echo $charmap | sed -e s/SJIS/SHIFT_JIS/` $locale \ +# $locale.$charmap + + +# +# the file is already removed. (lock change) +# +#diff -urN glibc-2.3.2-orig-debian/malloc/thread-m.h glibc-2.3.2/malloc/thread-m.h +#--- glibc-2.3.2-orig-debian/malloc/thread-m.h 2003-10-22 01:06:10.000000000 -0400 +#+++ glibc-2.3.2/malloc/thread-m.h 2003-10-22 01:07:38.000000000 -0400 +#@@ -59,6 +59,28 @@ +# #define mutex_unlock(m) \ +# __libc_maybe_call2 (pthread_mutex_unlock, (m), (*(int *)(m) = 0)) +# +#+# if(defined __hppa__) +#+/* Since our lock structure does not tolerate being initialized to zero, we must +#+ modify the standard function calls made by malloc */ +#+# undef mutex_init +#+# undef mutex_lock +#+# undef mutex_trylock +#+# undef mutex_unlock +#+# define mutex_init(m) \ +#+ __libc_maybe_call (__pthread_mutex_init, (m, NULL), \ +#+ (((m)->__m_lock.__spinlock = __LT_SPINLOCK_INIT),(*(int *)(m))) ) +#+# define mutex_lock(m) \ +#+ __libc_maybe_call (__pthread_mutex_lock, (m), \ +#+ (__load_and_clear(&((m)->__m_lock.__spinlock)), 0)) +#+# define mutex_trylock(m) \ +#+ __libc_maybe_call (__pthread_mutex_trylock, (m), \ +#+ (*(int *)(m) ? 1 : (__load_and_clear(&((m)->__m_lock.__spinlock)), 0))) +#+# define mutex_unlock(m) \ +#+ __libc_maybe_call (__pthread_mutex_unlock, (m), \ +#+ (((m)->__m_lock.__spinlock = __LT_SPINLOCK_INIT), (*(int *)(m))) ) +#+# endif +#+/* if(defined __hppa__) */ +#+ +# #else +# +# #define mutex_init(m) \ + + +# +# not in cvs. +# +#diff -urN glibc-2.3.2-orig-debian/sysdeps/hppa/atomicity.h glibc-2.3.2/sysdeps/hppa/atomicity.h +#--- glibc-2.3.2-orig-debian/sysdeps/hppa/atomicity.h 1969-12-31 19:00:00.000000000 -0500 +#+++ glibc-2.3.2/sysdeps/hppa/atomicity.h 2003-10-22 01:07:38.000000000 -0400 +#@@ -0,0 +1,55 @@ +#+/* Low-level functions for atomic operations. HP-PARISC version. +#+ Copyright (C) 1997,2001 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 +#+ modify it under the terms of the GNU Lesser General Public +#+ License as published by the Free Software Foundation; either +#+ version 2.1 of the License, or (at your option) any later version. +#+ +#+ The GNU C Library is distributed in the hope that it will be useful, +#+ but WITHOUT ANY WARRANTY; without even the implied warranty of +#+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +#+ Lesser General Public License for more details. +#+ +#+ You should have received a copy of the GNU Lesser General Public +#+ License along with the GNU C Library; if not, write to the Free +#+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +#+ 02111-1307 USA. */ +#+ +#+#ifndef _ATOMICITY_H +#+#define _ATOMICITY_H 1 +#+ +#+#include +#+ +#+#warning stub atomicity functions are not atomic +#+#warning CAO This will get implemented soon +#+ +#+static inline int +#+__attribute__ ((unused)) +#+exchange_and_add (volatile uint32_t *mem, int val) +#+{ +#+ int result = *mem; +#+ *mem += val; +#+ return result; +#+} +#+ +#+static inline void +#+__attribute__ ((unused)) +#+atomic_add (volatile uint32_t *mem, int val) +#+{ +#+ *mem += val; +#+} +#+ +#+static inline int +#+__attribute__ ((unused)) +#+compare_and_swap (volatile long int *p, long int oldval, long int newval) +#+{ +#+ if (*p != oldval) +#+ return 0; +#+ +#+ *p = newval; +#+ return 1; +#+} +#+ +#+#endif /* atomicity.h */ + + +# +# this file is removed. but it may not be needed. +# +#diff -urN glibc-2.3.2-orig-debian/sysdeps/hppa/dl-fptr.c glibc-2.3.2/sysdeps/hppa/dl-fptr.c +#--- glibc-2.3.2-orig-debian/sysdeps/hppa/dl-fptr.c 2003-10-22 01:03:47.000000000 -0400 +#+++ glibc-2.3.2/sysdeps/hppa/dl-fptr.c 2003-10-22 01:07:38.000000000 -0400 +#@@ -30,7 +30,7 @@ +# # include +# +# /* Remember, we use 0 to mean that a lock is taken on PA-RISC. */ +#-static int __hppa_fptr_lock = 1; +#+static __atomic_lock_t __hppa_fptr_lock = __LT_SPINLOCK_ALT_INIT; +# #endif +# +# /* Because ld.so is now versioned, these functions can be in their own +#@@ -127,7 +127,7 @@ +# #ifdef _LIBC_REENTRANT +# /* Release the lock. Again, remember, zero means the lock is taken! */ +# if (mem == NULL) +#- __hppa_fptr_lock = 1; +#+ __hppa_fptr_lock = __LT_SPINLOCK_INIT; +# #endif +# +# /* Set bit 30 to indicate to $$dyncall that this is a PLABEL. */ +#@@ -180,7 +180,7 @@ +# +# #ifdef _LIBC_REENTRANT +# /* Release the lock. */ +#- __hppa_fptr_lock = 1; +#+ __hppa_fptr_lock = __LT_SPINLOCK_INIT; +# #endif +# } +# +#@@ -190,6 +190,8 @@ +# Elf32_Addr addr = (Elf32_Addr) address; +# struct hppa_fptr *f; +# +#+ address = (void *)((unsigned long)address &~ 3); /* Clear the bottom two bits. See make_fptr. */ +#+ +# #ifdef _LIBC_REENTRANT +# /* Make sure we are alone. */ +# while (testandset (&__hppa_fptr_lock)); +#@@ -204,7 +206,7 @@ +# +# #ifdef _LIBC_REENTRANT +# /* Release the lock. */ +#- __hppa_fptr_lock = 1; +#+ __hppa_fptr_lock = __LT_SPINLOCK_INIT; +# #endif +# +# return addr; + + +# +# not in cvs - I don't know it's needed. +# +#diff -urN glibc-2.3.2-orig-debian/sysdeps/unix/Makefile glibc-2.3.2/sysdeps/unix/Makefile +#--- glibc-2.3.2-orig-debian/sysdeps/unix/Makefile 2003-10-22 01:06:12.000000000 -0400 +#+++ glibc-2.3.2/sysdeps/unix/Makefile 2003-10-22 01:07:38.000000000 -0400 +#@@ -295,6 +295,7 @@ +# $(..)sysdeps/unix/Makefile +# $(make-target-directory) +# (echo '#include '; \ +#+ echo 'extern long int _no_syscall(void);'; \ +# echo 'long int _no_syscall (void)'; \ +# echo '{ __set_errno (ENOSYS); return -1L; }'; \ +# for call in $(unix-stub-syscalls); do \ + + + +# +# It should be put in. +# +diff -urN glibc-2.3.2-orig-debian/sysdeps/unix/sysv/linux/hppa/kernel_stat.h glibc-2.3.2/sysdeps/unix/sysv/linux/hppa/kernel_stat.h +--- glibc-2.3.2-orig-debian/sysdeps/unix/sysv/linux/hppa/kernel_stat.h 2003-10-22 01:03:48.000000000 -0400 ++++ glibc-2.3.2/sysdeps/unix/sysv/linux/hppa/kernel_stat.h 2003-10-22 01:07:38.000000000 -0400 +@@ -1,30 +1,30 @@ +-/* definition of "struct stat" from the kernel */ ++/* Definition of 'struct stat' taken from kernel, please keep up to date */ + struct kernel_stat { +- unsigned long st_dev; /* dev_t is 32 bits on parisc */ +- unsigned long st_ino; /* 32 bits */ ++ unsigned int st_dev; /* dev_t is 32 bits on parisc */ ++ unsigned int st_ino; /* 32 bits */ + unsigned short st_mode; /* 16 bits */ + unsigned short st_nlink; /* 16 bits */ + unsigned short st_reserved1; /* old st_uid */ + unsigned short st_reserved2; /* old st_gid */ +- unsigned long st_rdev; +- unsigned long st_size; ++ unsigned int st_rdev; ++ unsigned int st_size; + struct timespec st_atim; +- struct timespec st_mtim; +- struct timespec st_ctim; +- long st_blksize; +- long st_blocks; +- unsigned long __unused1; /* ACL stuff */ +- unsigned long __unused2; /* network */ +- unsigned long __unused3; /* network */ +- unsigned long __unused4; /* cnodes */ ++ struct timespec st_mtim; ++ struct timespec st_ctim; ++ int st_blksize; ++ int st_blocks; ++ unsigned int __unused1; /* ACL stuff */ ++ unsigned int __unused2; /* network */ ++ unsigned int __unused3; /* network */ ++ unsigned int __unused4; /* cnodes */ + unsigned short __unused5; /* netsite */ + short st_fstype; +- unsigned long st_realdev; ++ unsigned int st_realdev; + unsigned short st_basemode; + unsigned short st_spareshort; +- unsigned long st_uid; +- unsigned long st_gid; +- unsigned long st_spare4[3]; ++ unsigned int st_uid; ++ unsigned int st_gid; ++ unsigned int st_spare4[3]; + }; + + #define _HAVE_STAT_NSEC + + + +# +# It's OK to put. +# +diff -urN glibc-2.3.2-orig-debian/sysdeps/unix/sysv/linux/hppa/mmap.c glibc-2.3.2/sysdeps/unix/sysv/linux/hppa/mmap.c +--- glibc-2.3.2-orig-debian/sysdeps/unix/sysv/linux/hppa/mmap.c 2003-10-22 01:03:48.000000000 -0400 ++++ glibc-2.3.2/sysdeps/unix/sysv/linux/hppa/mmap.c 2003-10-22 01:07:38.000000000 -0400 +@@ -37,7 +37,7 @@ + + __ptr_t ret; + +- ret = INLINE_SYSCALL(mmap, 6, addr, len, prot, flags, fd, offset); ++ ret = (__ptr_t)INLINE_SYSCALL(mmap, 6, addr, len, prot, flags, fd, offset); + + /* check if it's really a negative number */ + if(((unsigned long)ret & 0xfffff000) == 0xfffff000) + + + +# +# I don't know it's needed or not +# +#diff -urN glibc-2.3.2-orig-debian/sysdeps/unix/sysv/linux/hppa/umount.c glibc-2.3.2/sysdeps/unix/sysv/linux/hppa/umount.c +#--- glibc-2.3.2-orig-debian/sysdeps/unix/sysv/linux/hppa/umount.c 2003-10-22 01:03:48.000000000 -0400 +#+++ glibc-2.3.2/sysdeps/unix/sysv/linux/hppa/umount.c 2003-10-22 01:07:38.000000000 -0400 +#@@ -21,6 +21,7 @@ +# does down here. */ +# +# extern long int __umount2 (const char *name, int flags); +#+extern long int __umount (const char * name); +# +# long int +# __umount (const char *name) --- glibc-2.3.6.orig/debian/patches/glibc234-alpha-xstat.dpatch +++ glibc-2.3.6/debian/patches/glibc234-alpha-xstat.dpatch @@ -0,0 +1,304 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Fix alpha compile failure when kernel header < 2.6.4 is used. +# DP: Related bugs: +# DP: Dpatch author: GOTO Masanori +# DP: Patch author: GOTO Masanori +# DP: Upstream status: Submitting +# DP: Status Details: Submitting +# DP: Date: 2005-03-03 + +PATCHLEVEL=0 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +Subject: [PATCH] alpha compilation fix with the kernel header < 2.6.4. + +This patch fixes alpha compilation fix when kernel header (< 2.6.4) is +used. Note that I unfold the original "fail:" part because enclosing +only "fail:" with #ifdef __ASSUME_STAT64_SYSCALL and __NR_*stat64 looks +unseemly. + +Regards, +-- gotom + +2005-02-18 GOTO Masanori + + * sysdeps/unix/sysv/linux/kernel-features.h: Define + __ASSUME_STAT64_SYSCALL. + * sysdeps/unix/sysv/linux/alpha/fxstat.c: Check + __ASSUME_STAT64_SYSCALL. + * sysdeps/unix/sysv/linux/alpha/lxstat.c: Likewise. + * sysdeps/unix/sysv/linux/alpha/xstat.c: Likewise. + * sysdeps/unix/sysv/linux/alpha/xstatconv.c: Don't define + __libc_missing_axp_stat64 when it's not needed. + * sysdeps/unix/sysv/linux/alpha/xstatconv.h: Likewise. + +Index: sysdeps/unix/sysv/linux/kernel-features.h +=================================================================== +RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/kernel-features.h,v +retrieving revision 1.83 +diff -u -p -r1.83 kernel-features.h +--- sysdeps/unix/sysv/linux/kernel-features.h 26 Jan 2005 20:01:10 -0000 1.83 ++++ sysdeps/unix/sysv/linux/kernel-features.h 18 Feb 2005 06:21:10 -0000 +@@ -413,6 +413,11 @@ + # define __ASSUME_GETDENTS32_D_TYPE 1 + #endif + ++/* Starting with version 2.6.4, alpha stat64 syscalls are available. */ ++#if __LINUX_KERNEL_VERSION >= 0x020604 && defined __alpha__ ++# define __ASSUME_STAT64_SYSCALL 1 ++#endif ++ + /* Starting with version 2.5.3, the initial location returned by `brk' + after exec is always rounded up to the next page. */ + #if __LINUX_KERNEL_VERSION >= 132355 +Index: sysdeps/unix/sysv/linux/alpha/fxstat.c +=================================================================== +RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/alpha/fxstat.c,v +retrieving revision 1.1 +diff -u -p -r1.1 fxstat.c +--- sysdeps/unix/sysv/linux/alpha/fxstat.c 11 Mar 2004 02:58:44 -0000 1.1 ++++ sysdeps/unix/sysv/linux/alpha/fxstat.c 18 Feb 2005 06:21:10 -0000 +@@ -1,5 +1,5 @@ + /* fxstat using old-style Unix stat system call. +- Copyright (C) 2004 Free Software Foundation, Inc. ++ Copyright (C) 2004, 2005 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 +@@ -35,27 +35,39 @@ int + __fxstat (int vers, int fd, struct stat *buf) + { + INTERNAL_SYSCALL_DECL (err); +- int result, errno_out; ++ int result; + struct kernel_stat kbuf; + ++#if __ASSUME_STAT64_SYSCALL > 0 ++ if (vers == _STAT_VER_KERNEL64) ++ { ++ result = INTERNAL_SYSCALL (fstat64, err, 2, fd, buf); ++ if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) ++ return result; ++ __set_errno (INTERNAL_SYSCALL_ERRNO (result, err)); ++ return -1; ++ } ++#elif defined __NR_fstat64 + if (vers == _STAT_VER_KERNEL64 && !__libc_missing_axp_stat64) + { ++ int errno_out; + result = INTERNAL_SYSCALL (fstat64, err, 2, fd, buf); + if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) + return result; + errno_out = INTERNAL_SYSCALL_ERRNO (result, err); + if (errno_out != ENOSYS) +- goto fail; ++ { ++ __set_errno (errno_out); ++ return -1; ++ } + __libc_missing_axp_stat64 = 1; + } ++#endif + + result = INTERNAL_SYSCALL (fstat, err, 2, fd, &kbuf); + if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) + return __xstat_conv (vers, &kbuf, buf); +- errno_out = INTERNAL_SYSCALL_ERRNO (result, err); +- +- fail: +- __set_errno (errno_out); ++ __set_errno (INTERNAL_SYSCALL_ERRNO (result, err)); + return -1; + } + hidden_def (__fxstat) +Index: sysdeps/unix/sysv/linux/alpha/lxstat.c +=================================================================== +RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/alpha/lxstat.c,v +retrieving revision 1.1 +diff -u -p -r1.1 lxstat.c +--- sysdeps/unix/sysv/linux/alpha/lxstat.c 11 Mar 2004 02:58:44 -0000 1.1 ++++ sysdeps/unix/sysv/linux/alpha/lxstat.c 18 Feb 2005 06:21:10 -0000 +@@ -1,5 +1,5 @@ + /* lxstat using old-style Unix stat system call. +- Copyright (C) 2004 Free Software Foundation, Inc. ++ Copyright (C) 2004, 2005 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 +@@ -35,27 +35,39 @@ int + __lxstat (int vers, const char *name, struct stat *buf) + { + INTERNAL_SYSCALL_DECL (err); +- int result, errno_out; ++ int result; + struct kernel_stat kbuf; + ++#if __ASSUME_STAT64_SYSCALL > 0 ++ if (vers == _STAT_VER_KERNEL64) ++ { ++ result = INTERNAL_SYSCALL (lstat64, err, 2, name, buf); ++ if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) ++ return result; ++ __set_errno (INTERNAL_SYSCALL_ERRNO (result, err)); ++ return -1; ++ } ++#elif defined __NR_lstat64 + if (vers == _STAT_VER_KERNEL64 && !__libc_missing_axp_stat64) + { ++ int errno_out; + result = INTERNAL_SYSCALL (lstat64, err, 2, name, buf); + if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) + return result; + errno_out = INTERNAL_SYSCALL_ERRNO (result, err); + if (errno_out != ENOSYS) +- goto fail; ++ { ++ __set_errno (errno_out); ++ return -1; ++ } + __libc_missing_axp_stat64 = 1; + } ++#endif + + result = INTERNAL_SYSCALL (lstat, err, 2, name, &kbuf); + if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) + return __xstat_conv (vers, &kbuf, buf); +- errno_out = INTERNAL_SYSCALL_ERRNO (result, err); +- +- fail: +- __set_errno (errno_out); ++ __set_errno (INTERNAL_SYSCALL_ERRNO (result, err)); + return -1; + } + hidden_def (__lxstat) +Index: sysdeps/unix/sysv/linux/alpha/xstat.c +=================================================================== +RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/alpha/xstat.c,v +retrieving revision 1.1 +diff -u -p -r1.1 xstat.c +--- sysdeps/unix/sysv/linux/alpha/xstat.c 11 Mar 2004 02:58:44 -0000 1.1 ++++ sysdeps/unix/sysv/linux/alpha/xstat.c 18 Feb 2005 06:21:10 -0000 +@@ -1,5 +1,5 @@ + /* xstat using old-style Unix stat system call. +- Copyright (C) 2004 Free Software Foundation, Inc. ++ Copyright (C) 2004, 2005 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 +@@ -35,27 +35,39 @@ int + __xstat (int vers, const char *name, struct stat *buf) + { + INTERNAL_SYSCALL_DECL (err); +- int result, errno_out; ++ int result; + struct kernel_stat kbuf; + ++#if __ASSUME_STAT64_SYSCALL > 0 ++ if (vers == _STAT_VER_KERNEL64) ++ { ++ result = INTERNAL_SYSCALL (stat64, err, 2, name, buf); ++ if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) ++ return result; ++ __set_errno (INTERNAL_SYSCALL_ERRNO (result, err)); ++ return -1; ++ } ++#elif defined __NR_stat64 + if (vers == _STAT_VER_KERNEL64 && !__libc_missing_axp_stat64) + { ++ int errno_out; + result = INTERNAL_SYSCALL (stat64, err, 2, name, buf); + if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) + return result; + errno_out = INTERNAL_SYSCALL_ERRNO (result, err); + if (errno_out != ENOSYS) +- goto fail; ++ { ++ __set_errno (errno_out); ++ return -1; ++ } + __libc_missing_axp_stat64 = 1; + } ++#endif + + result = INTERNAL_SYSCALL (stat, err, 2, name, &kbuf); + if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1)) + return __xstat_conv (vers, &kbuf, buf); +- errno_out = INTERNAL_SYSCALL_ERRNO (result, err); +- +- fail: +- __set_errno (errno_out); ++ __set_errno (INTERNAL_SYSCALL_ERRNO (result, err)); + return -1; + } + hidden_def (__xstat) +Index: sysdeps/unix/sysv/linux/alpha/xstatconv.c +=================================================================== +RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/alpha/xstatconv.c,v +retrieving revision 1.6 +diff -u -p -r1.6 xstatconv.c +--- sysdeps/unix/sysv/linux/alpha/xstatconv.c 11 Mar 2004 02:58:44 -0000 1.6 ++++ sysdeps/unix/sysv/linux/alpha/xstatconv.c 26 Feb 2005 13:58:07 -0000 +@@ -1,5 +1,5 @@ + /* Convert between the kernel's `struct stat' format, and libc's. +- Copyright (C) 1997, 2003, 2004 Free Software Foundation, Inc. ++ Copyright (C) 1997, 2003, 2004, 2005 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 +@@ -22,9 +22,14 @@ + #include + #include + #include ++#include + + ++#ifdef __NR_stat64 ++# if __ASSUME_STAT64_SYSCALL == 0 + int __libc_missing_axp_stat64; ++# endif ++#endif + + int + __xstat_conv (int vers, struct kernel_stat *kbuf, void *ubuf) +Index: sysdeps/unix/sysv/linux/alpha/xstatconv.h +=================================================================== +RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/alpha/xstatconv.h,v +retrieving revision 1.1 +diff -u -p -r1.1 xstatconv.h +--- sysdeps/unix/sysv/linux/alpha/xstatconv.h 11 Mar 2004 02:58:44 -0000 1.1 ++++ sysdeps/unix/sysv/linux/alpha/xstatconv.h 26 Feb 2005 13:58:07 -0000 +@@ -1,5 +1,5 @@ + /* Convert between the kernel's `struct stat' format, and libc's. +- Copyright (C) 2004 Free Software Foundation, Inc. ++ Copyright (C) 2004, 2005 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 +@@ -18,7 +18,12 @@ + 02111-1307 USA. */ + + #include "kernel-features.h" ++#include + ++#ifdef __NR_stat64 ++# if __ASSUME_STAT64_SYSCALL == 0 + extern int __libc_missing_axp_stat64 attribute_hidden; ++# endif ++#endif + extern int __xstat_conv (int vers, struct kernel_stat *kbuf, void *ubuf) + attribute_hidden; --- glibc-2.3.6.orig/debian/patches/alpha-pic.dpatch +++ glibc-2.3.6/debian/patches/alpha-pic.dpatch @@ -0,0 +1,40 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Fix errno for secondary threads on Alpha +# DP: Author: Daniel Jacobowitz +# DP: Upstream status: Pending +# DP: Status Details: Submitted Jan 8, 2003 +# DP: Date: Jan 8, 2003, updated 2003-03-23 by gotom. + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +--- sysdeps/unix/alpha/sysdep.S 2003-03-23 16:01:02.000000000 +0900 ++++ sysdeps/unix/alpha/sysdep.S.new 2003-03-23 16:02:50.000000000 +0900 +@@ -95,14 +95,10 @@ + PROLOGUE + + /* Find our per-thread errno address */ +-#ifdef PIC +- bsr ra, __errno_location !samegp +-#else + jsr ra, __errno_location + #ifndef GPSAVEREG + ldgp gp, 0(ra) + #endif +-#endif + + /* Store the error value. */ + ldq t0, 8(sp) --- glibc-2.3.6.orig/debian/patches/local-all-disable-hwcap.dpatch +++ glibc-2.3.6/debian/patches/local-all-disable-hwcap.dpatch @@ -0,0 +1,96 @@ +#! /bin/sh -e + +# DP: Allow hwcap's to be disabled with the existence of a file. This +# DP: makes it easier to do upgrades with optimized (hwcap) library +# DP: packages. +# DP: Author: Rewritten by Daniel Jacobowitz +# DP: Upstream status: Debian-Specific +# DP: Status Details: This isn't going to be acceptable upstream, we +# DP: only need it because we support in-place upgrades. +# DP: Date: 2003-10-28, (Updated 2005-01-02 gotom) + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +Index: sysdeps/generic/dl-sysdep.c +=================================================================== +RCS file: /cvs/glibc/libc/sysdeps/generic/dl-sysdep.c,v +retrieving revision 1.113 +diff -u -r1.113 dl-sysdep.c +--- sysdeps/generic/dl-sysdep.c 6 Nov 2004 00:24:47 -0000 1.113 ++++ sysdeps/generic/dl-sysdep.c 2 Jan 2005 10:24:13 -0000 +@@ -360,7 +360,11 @@ + #ifdef USE_TLS + /* For TLS enabled builds always add 'tls'. */ + ++cnt; +-#else ++#endif ++ ++ if (__access ("/etc/ld.so.nohwcap", F_OK) == 0) ++ cnt = 0; ++ + if (cnt == 0) + { + /* If we have platform name and no important capability we only have +@@ -375,7 +379,6 @@ + *sz = 1; + return result; + } +-#endif + + /* Create temporary data structure to generate result table. */ + temp = (struct r_strlenpair *) alloca (cnt * sizeof (*temp)); +@@ -417,9 +420,7 @@ + result = (struct r_strlenpair *) malloc (*sz * sizeof (*result) + total); + if (result == NULL) + { +-#ifndef USE_TLS + no_memory: +-#endif + _dl_signal_error (ENOMEM, NULL, NULL, + N_("cannot create capability list")); + } +Index: sysdeps/generic/dl-cache.c +=================================================================== +RCS file: /cvs/glibc/libc/sysdeps/generic/dl-cache.c,v +retrieving revision 1.46 +diff -u -r1.46 dl-cache.c +--- sysdeps/generic/dl-cache.c 19 Mar 2004 00:36:32 -0000 1.46 ++++ sysdeps/generic/dl-cache.c 2 Jan 2005 10:23:42 -0000 +@@ -244,6 +244,7 @@ + if (cache_new != (void *) -1) + { + uint64_t platform; ++ int disable_hwcap = 0; + + /* This is where the strings start. */ + cache_data = (const char *) cache_new; +@@ -255,6 +256,9 @@ + if (platform != (uint64_t) -1) + platform = 1ULL << platform; + ++ if (__access ("/etc/ld.so.nohwcap", F_OK) == 0) ++ disable_hwcap = 1; ++ + /* Only accept hwcap if it's for the right platform. */ + #ifdef USE_TLS + # define _DL_HWCAP_TLS_MASK (1LL << 63) +@@ -264,6 +268,8 @@ + #define HWCAP_CHECK \ + if (GLRO(dl_osversion) && lib->osversion > GLRO(dl_osversion)) \ + continue; \ ++ if (disable_hwcap && lib->hwcap != 0) \ ++ continue; \ + if (_DL_PLATFORMS_COUNT && platform != -1 \ + && (lib->hwcap & _DL_HWCAP_PLATFORM) != 0 \ + && (lib->hwcap & _DL_HWCAP_PLATFORM) != platform) \ --- glibc-2.3.6.orig/debian/patches/arm-output-format.dpatch +++ glibc-2.3.6/debian/patches/arm-output-format.dpatch @@ -0,0 +1,33 @@ +#! /bin/sh -e + +# DP: Very bad hack to avoid BUG line in libc.so on arm + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +Index: scripts/output-format.sed +=================================================================== +RCS file: /cvs/glibc/libc/scripts/output-format.sed,v +retrieving revision 1.2 +diff -u -r1.2 output-format.sed +--- scripts/output-format.sed 8 Dec 2002 08:13:16 -0000 1.2 ++++ scripts/output-format.sed 26 Aug 2003 15:01:13 -0000 +@@ -18,7 +18,7 @@ + s/\n// + s/^\([^,]*\),\([^,]*\),B/OUTPUT_FORMAT(\1)/p + s/^\([^,]*\),\([^,]*\),L/OUTPUT_FORMAT(\2)/p +-/,/s|^|*** BUG in libc/scripts/output-format.sed *** |p ++/,/Q + q + : q + s/"//g --- glibc-2.3.6.orig/debian/patches/locale-sr_CS.dpatch +++ glibc-2.3.6/debian/patches/locale-sr_CS.dpatch @@ -0,0 +1,400 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Bug#254993: Please add the sr_CS and sr_CS@cyrillic locales +# DP: Related bugs: #254993 +# DP: Dpatch author: GOTO Masanori +# DP: Patch author: Christian Perrier +# DP: Upstream status: Not submitted +# DP: Status Details: +# DP: Date: 2004-07-31 + +PATCHLEVEL=0 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +--- /dev/null 2037-04-26 14:51:15.146999000 -0400 ++++ localedata/locales/sr_CS 2005-03-19 23:16:06.000000000 -0500 +@@ -0,0 +1,349 @@ ++comment_char % ++escape_char / ++% ++% Serbian Language Locale for Serbia and Montenegro ++% Source: sr_YU locale ++% Address: ++% ++% Contact: Danilo Segan ++% Email: dsegan@gmx.net ++% Tel: +381 63 8626082 ++% Fax: none ++% Language: sr ++% Territory: CS ++% Revision: 1.2 ++% Date: 2004-08-09 ++% Application: general ++% Users: general ++% Charset: UTF-8, ISO-8859-5 ++% Distribution and use is free, also ++% for commercial purposes. ++% ++% TODO: ++% -- fix LC_COLLATE to work correctly for latin alphabet too ++% ++ ++LC_IDENTIFICATION ++title "Serbian locale for Serbia and Montenegro" ++source "sr_YU locale" ++address "" ++contact "Danilo Segan" ++email "bug-glibc-locales@gnu.org" ++tel "" ++fax "" ++language "Serbian" ++territory "Serbia and Montenegro" ++revision "1.2" ++date "2004-08-09" ++audience "general" ++application "GNU locale" ++abbreviation "" ++% ++category "i18n:1997";LC_IDENTIFICATION ++category "i18n:1997";LC_CTYPE ++category "i18n:1997";LC_COLLATE ++category "i18n:1997";LC_MONETARY ++category "i18n:1997";LC_NUMERIC ++category "i18n:1997";LC_TIME ++category "i18n:1997";LC_MESSAGES ++category "i18n:1997";LC_PAPER ++category "i18n:1997";LC_NAME ++category "i18n:1997";LC_ADDRESS ++category "i18n:1997";LC_TELEPHONE ++category "i18n:1997";LC_MEASUREMENT ++END LC_IDENTIFICATION ++ ++LC_CTYPE ++copy "i18n" ++translit_start ++include "translit_combining";"" ++ ++% cyrillic -> latin ++ "";"" % d- ++ "" % gj ++ "" % dz ++ "" % j ++ "" % lj ++ "" % nj ++ "";"" % c' ++ "" % kj ++ "";"" % dz< ++ ++ "";"" % D- ++ "" % Gj ++ "" % Dz ++ "" % J ++ "" % Lj ++ "" % Nj ++ "";"" % C' ++ "" % Kj ++ "";"" % Dz< ++ ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "";"" % z< ++ "";"" % s< ++ "";"" % c< ++ ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "" ++ "";"" % z< ++ "";"" % s< ++ "";"" % c< ++ ++translit_end ++END LC_CTYPE ++ ++ ++LC_COLLATE ++ ++copy "iso14651_t1" ++ ++collating-symbol ++collating-symbol ++collating-symbol ++ ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++collating-symbol ++ ++collating-symbol ++collating-symbol ++ ++reorder-after ++ ++reorder-after ++ ++ ++reorder-after ++ ++ ++ ++ ++ ++reorder-after ++ ++reorder-after ++ ++reorder-after ++ ++reorder-after ++ ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ++reorder-after ++ ;;;IGNORE ++reorder-after ++ ;;;IGNORE ++ ++reorder-end ++ ++END LC_COLLATE ++ ++LC_MONETARY ++int_curr_symbol "" ++currency_symbol "" ++mon_decimal_point "" ++mon_thousands_sep "" ++mon_grouping 3;3 ++positive_sign "" ++negative_sign "" ++int_frac_digits 2 ++frac_digits 2 ++p_cs_precedes 0 ++p_sep_by_space 1 ++n_cs_precedes 0 ++n_sep_by_space 1 ++p_sign_posn 1 ++n_sign_posn 1 ++END LC_MONETARY ++ ++LC_NUMERIC ++decimal_point "" ++thousands_sep "" ++grouping 0;0 ++END LC_NUMERIC ++ ++LC_TIME ++ ++abday "";"";/ ++ "";"";/ ++ "";"";/ ++ "" ++day "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "" ++abmon "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"" ++mon "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "";/ ++ "" ++ ++d_t_fmt "/ ++/ ++" ++d_fmt "" ++t_fmt "" ++am_pm "";"" ++t_fmt_ampm "" ++date_fmt "/ ++/ ++" ++week 7;19971201;4 ++first_weekday 2 ++first_workday 2 ++END LC_TIME ++ ++LC_MESSAGES ++yesexpr "" ++noexpr "" ++END LC_MESSAGES ++ ++LC_PAPER ++height 297 ++width 210 ++END LC_PAPER ++ ++LC_NAME ++name_fmt "/ ++" ++name_gen "" ++name_mr "" ++name_mrs "" ++name_miss "" ++name_ms "" ++END LC_NAME ++ ++LC_ADDRESS ++postal_fmt "/ ++/ ++/ ++/ ++" ++country_ab2 "" ++country_ab3 "" ++% FIXME: country_post is probably incorrect ++country_post "" ++country_name "/ ++" ++country_num 891 ++country_car "" ++% FIXME: ISBN code is what? "86" that preceedes all the numbers? ++country_isbn "" ++lang_name "" ++lang_term "" ++lang_lib "" ++lang_ab "" ++END LC_ADDRESS ++ ++LC_TELEPHONE ++tel_int_fmt "/ ++" ++tel_dom_fmt "" ++int_prefix "" ++int_select "" ++END LC_TELEPHONE ++ ++LC_MEASUREMENT ++measurement 1 ++END LC_MEASUREMENT +--- localedata/SUPPORTED.bak 2005-10-05 09:20:59.000000000 -0400 ++++ localedata/SUPPORTED 2005-10-05 09:21:25.000000000 -0400 +@@ -276,6 +276,8 @@ + so_SO/ISO-8859-1 \ + sq_AL.UTF-8/UTF-8 \ + sq_AL/ISO-8859-1 \ ++sr_CS.UTF-8/UTF-8 \ ++sr_CS/ISO-8859-5 \ + st_ZA.UTF-8/UTF-8 \ + st_ZA/ISO-8859-1 \ + sv_FI.UTF-8/UTF-8 \ +--- locale/iso-4217.def.gotom 2005-08-19 16:14:07.000000000 +0900 ++++ locale/iso-4217.def 2005-08-22 19:33:21.909785640 +0900 +@@ -40,6 +40,7 @@ + DEFINE_INT_CURR("CNY") /* China Yuan Renminbi */ + DEFINE_INT_CURR("COP") /* Colombian Peso */ + DEFINE_INT_CURR("CRC") /* Costa Rican Colon */ ++DEFINE_INT_CURR("CSD") /* Serbian Dinar */ + DEFINE_INT_CURR("CUP") /* Cuban Peso */ + DEFINE_INT_CURR("CVE") /* Cape Verde Escudo */ + DEFINE_INT_CURR("CYP") /* Cypriot Pound */ --- glibc-2.3.6.orig/debian/patches/local-powerpc-sysconf.dpatch +++ glibc-2.3.6/debian/patches/local-powerpc-sysconf.dpatch @@ -0,0 +1,58 @@ +#! /bin/sh -e + +# DP: Add /proc/cpuinfo handling on Linux/PowerPC + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + + +diff -urN glibc-2.2.4/sysdeps/unix/sysv/linux/powerpc/getsysstats.c glibc-2.2.4-ds/sysdeps/unix/sysv/linux/powerpc/getsysstats.c +--- glibc-2.2.4/sysdeps/unix/sysv/linux/powerpc/getsysstats.c Wed Dec 31 16:00:00 1969 ++++ glibc-2.2.4-ds/sysdeps/unix/sysv/linux/powerpc/getsysstats.c Wed Jan 2 05:01:46 2002 +@@ -0,0 +1,36 @@ ++/* Determine various system internal values, Linux/PowerPC version. ++ Copyright (C) 2001,2002 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 ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++ ++/* We need to define a special parser for /proc/cpuinfo. */ ++#define GET_NPROCS_PARSER(FP, BUFFER, RESULT) \ ++ do \ ++ { \ ++ (RESULT) = 0; \ ++ /* Read all lines and count the lines starting with the string \ ++ "cpu model". We don't have to fear extremely long lines since \ ++ the kernel will not generate them. 8192 bytes are really \ ++ enough. */ \ ++ while (fgets_unlocked (BUFFER, sizeof (BUFFER), FP) != NULL) \ ++ if (strncmp (BUFFER, "cpu\t\t:", 6) == 0) \ ++ ++(RESULT); \ ++ } \ ++ while (0) ++ ++#include --- glibc-2.3.6.orig/debian/patches/hurd-enable-ldconfig.dpatch +++ glibc-2.3.6/debian/patches/hurd-enable-ldconfig.dpatch @@ -0,0 +1,88 @@ +#! /bin/sh -e + +# DP: Description: Enable ldconfig and such on hurd-i386 +# DP: Author: Jeff Bailey +# DP: Upstream status: Not submitted +# DP: Status Details: Upstream disagrees with this patch, but I'm +# DP: putting it in so that we have expected Debian behaviour on the +# DP: Hurd. We should review this when the ELF standard supports runpath. +# DP: Date: 08 Apr 2003 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +diff -urN glibc-2.3.2.old/sysdeps/mach/hurd/configure glibc-2.3.2/sysdeps/mach/hurd/configure +--- glibc-2.3.2.old/sysdeps/mach/hurd/configure 2003-02-25 19:46:36.000000000 -0500 ++++ glibc-2.3.2/sysdeps/mach/hurd/configure 2003-04-08 17:35:13.000000000 -0400 +@@ -115,3 +115,5 @@ + _ACEOF + + fi ++ ++use_ldconfig=yes +diff -urN glibc-2.3.2.old/sysdeps/mach/hurd/configure.in glibc-2.3.2/sysdeps/mach/hurd/configure.in +--- glibc-2.3.2.old/sysdeps/mach/hurd/configure.in 2002-10-23 02:21:18.000000000 -0400 ++++ glibc-2.3.2/sysdeps/mach/hurd/configure.in 2003-04-08 17:35:17.000000000 -0400 +@@ -62,3 +62,5 @@ + fi]) + + hurd_MIG_RETCODE ++ ++use_ldconfig=yes +diff -urN glibc-2.3.2.old/elf/ldconfig.c glibc-2.3.2/elf/ldconfig.c +--- glibc-2.3.2.old/elf/ldconfig.c~ 2003-04-12 13:24:37.000000000 -0400 ++++ glibc-2.3.2/elf/ldconfig.c 2003-04-12 13:25:00.000000000 -0400 +@@ -49,6 +49,10 @@ + + #define PACKAGE _libc_intl_domainname + ++#ifndef PATH_MAX ++#define PATH_MAX 1024 ++#endif ++ + static const struct + { + const char *name; +diff -urN glibc-2.3.2.old/sysdeps/mach/hurd/dl-cache.c glibc-2.3.2/sysdeps/mach/hurd/dl-cache.c +--- glibc-2.3.2.old/sysdeps/mach/hurd/dl-cache.c 2001-07-07 15:21:25.000000000 -0400 ++++ glibc-2.3.2/sysdeps/mach/hurd/dl-cache.c 1969-12-31 19:00:00.000000000 -0500 +@@ -1,29 +0,0 @@ +-/* Stubby version of dl-cache; the Hurd doesn't support this "feature". +- Copyright (C) 1996, 1997 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 +- modify it under the terms of the GNU Lesser General Public +- License as published by the Free Software Foundation; either +- version 2.1 of the License, or (at your option) any later version. +- +- The GNU C Library is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Lesser General Public License for more details. +- +- You should have received a copy of the GNU Lesser General Public +- License along with the GNU C Library; if not, write to the Free +- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +- 02111-1307 USA. */ +- +-const char * +-_dl_load_cache_lookup (const char *name) +-{ +- return 0; +-} +- +-void +-_dl_unload_cache (void) +-{ +-} --- glibc-2.3.6.orig/debian/patches/local-i386-cmov-hwcap.dpatch +++ glibc-2.3.6/debian/patches/local-i386-cmov-hwcap.dpatch @@ -0,0 +1,41 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Add CMOV to hwcap, for VIA C3 which is i686 class processor, +# DP: but does not have 686 optional instruction CMOV. +# DP: Author: GOTO Masanori +# DP: Upstream status: Not submitted +# DP: Status Details: Not submitted +# DP: Date: 2003-02-21 +# DP: Updated 2003-10-12 by dan@debian.org for TLS +# DP: Updated 2004-01-02 to fix building with newer patches by jb. +# DP: Updated 2005-01-02 to fix building with newer patches by gotom. + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +2005-01-02 GOTO Masanori + + * sysdeps/i386/dl-procinfo.h: Update to add CMOV for VIA C3 chip. + +--- sysdeps/i386/dl-procinfo.h 10 Mar 2004 18:29:31 -0000 1.3 ++++ sysdeps/i386/dl-procinfo.h 2 Jan 2005 09:13:55 -0000 +@@ -57,7 +57,7 @@ + HWCAP_I386_AMD3D = 1 << 31, + + /* XXX Which others to add here? */ +- HWCAP_IMPORTANT = (HWCAP_I386_XMM2) ++ HWCAP_IMPORTANT = (HWCAP_I386_CMOV | HWCAP_I386_XMM2) + + }; --- glibc-2.3.6.orig/debian/patches/30_glibc232-base.dpatch +++ glibc-2.3.6/debian/patches/30_glibc232-base.dpatch @@ -0,0 +1,80 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: hjl libc-base patch + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + + +2003-05-15 + + * elf/do-lookup.h (FCT): Try the base version, the first + version and then the default version, in that order, for + the old unversioned reference. + +--- elf/do-lookup.h.base 2003-05-15 09:29:25.000000000 -0700 ++++ elf/do-lookup.h 2003-05-15 09:24:24.000000000 -0700 +@@ -52,7 +52,8 @@ FCT (const char *undef_name, unsigned lo + const ElfW(Sym) *sym; + #if ! VERSIONED + int num_versions = 0; +- const ElfW(Sym) *versioned_sym = NULL; ++ const ElfW(Sym) *default_version = NULL; ++ const ElfW(Sym) *first_version = NULL; + #endif + + map = list[i]; +@@ -155,16 +156,29 @@ FCT (const char *undef_name, unsigned lo + public interface should be returned. */ + if (verstab != NULL) + { +- if ((verstab[symidx] & 0x7fff) +- >= ((flags & DL_LOOKUP_RETURN_NEWEST) ? 2 : 3)) ++ ElfW(Half) ndx = verstab[symidx] & 0x7fff; ++ if (ndx >= ((flags & DL_LOOKUP_RETURN_NEWEST) ? 2 : 3)) + { + /* Don't accept hidden symbols. */ + if ((verstab[symidx] & 0x8000) == 0 && num_versions++ == 0) + /* No version so far. */ +- versioned_sym = sym; ++ default_version = sym; + + continue; + } ++ if ((flags & DL_LOOKUP_RETURN_NEWEST) == 0 && ndx != 0) ++ { ++ /* ndx == 1 is the base version. We will use it for ++ old unversioned application. */ ++ if (ndx != 1) ++ { ++ /* We remember the first version and keep looking ++ for the base version. */ ++ if (ndx == 2) ++ first_version = sym; ++ continue; ++ } ++ } + } + #endif + +@@ -179,7 +193,8 @@ FCT (const char *undef_name, unsigned lo + #if VERSIONED + sym = NULL; + #else +- sym = num_versions == 1 ? versioned_sym : NULL; ++ sym = first_version ?: (num_versions == 1 ++ ? default_version : NULL); + #endif + + if (sym != NULL) --- glibc-2.3.6.orig/debian/patches/glibc234-hppa-remove-mallocdef.dpatch +++ glibc-2.3.6/debian/patches/glibc234-hppa-remove-mallocdef.dpatch @@ -0,0 +1,104 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: malloc-machine.h should be removed until spinlock ldcw +# fix is applied. workaround for compilation. +# DP: Related bugs: +# DP: Dpatch author: GOTO Masanori +# DP: Patch author: GOTO Masanori +# DP: Upstream status: Debian-Specific +# DP: Status Details: +# DP: Date: 2005-03-09 + +PATCHLEVEL=0 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +--- linuxthreads/sysdeps/unix/sysv/linux/hppa/malloc-machine.h 15 Oct 2003 04:40:10 -0000 1.1 ++++ /dev/null 9 Mar 2005 06:45:46 -0000 +@@ -1,73 +0,0 @@ +-/* HP-PARISC macro definitions for mutexes, thread-specific data +- and parameters for malloc. +- Copyright (C) 2003 Free Software Foundation, Inc. +- This file is part of the GNU C Library. +- Contributed by Carlos O'Donell , 2003. +- +- The GNU C Library is free software; you can redistribute it and/or +- modify it under the terms of the GNU Lesser General Public +- License as published by the Free Software Foundation; either +- version 2.1 of the License, or (at your option) any later version. +- +- The GNU C Library is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Lesser General Public License for more details. +- +- You should have received a copy of the GNU Lesser General Public +- License along with the GNU C Library; if not, write to the Free +- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +- 02111-1307 USA. */ +- +-#ifndef _MALLOC_MACHINE_H +-#define _MALLOC_MACHINE_H +- +-#undef thread_atfork_static +- +-#include +-#include +- +-__libc_lock_define (typedef, mutex_t) +- +-/* Since our lock structure does not tolerate being initialized to zero, we must +- modify the standard function calls made by malloc */ +-# define mutex_init(m) \ +- __libc_maybe_call (__pthread_mutex_init, (m, NULL), \ +- (((m)->__m_lock.__spinlock = __LT_SPINLOCK_INIT),(*(int *)(m))) ) +-# define mutex_lock(m) \ +- __libc_maybe_call (__pthread_mutex_lock, (m), \ +- (__load_and_clear(&((m)->__m_lock.__spinlock)), 0)) +-# define mutex_trylock(m) \ +- __libc_maybe_call (__pthread_mutex_trylock, (m), \ +- (*(int *)(m) ? 1 : (__load_and_clear(&((m)->__m_lock.__spinlock)), 0))) +-# define mutex_unlock(m) \ +- __libc_maybe_call (__pthread_mutex_unlock, (m), \ +- (((m)->__m_lock.__spinlock = __LT_SPINLOCK_INIT), (*(int *)(m))) ) +- +-/* This is defined by newer gcc version unique for each module. */ +-extern void *__dso_handle __attribute__ ((__weak__)); +- +-#include +- +-#ifdef SHARED +-# define thread_atfork(prepare, parent, child) \ +- __register_atfork (prepare, parent, child, __dso_handle) +-#else +-# define thread_atfork(prepare, parent, child) \ +- __register_atfork (prepare, parent, child, \ +- &__dso_handle == NULL ? NULL : __dso_handle) +-#endif +- +-/* thread specific data for glibc */ +- +-#include +- +-typedef int tsd_key_t[1]; /* no key data structure, libc magic does it */ +-__libc_tsd_define (static, MALLOC) /* declaration/common definition */ +-#define tsd_key_create(key, destr) ((void) (key)) +-#define tsd_setspecific(key, data) __libc_tsd_set (MALLOC, (data)) +-#define tsd_getspecific(key, vptr) ((vptr) = __libc_tsd_get (MALLOC)) +- +-#include +- +-#endif /* !defined(_MALLOC_MACHINE_H) */ --- glibc-2.3.6.orig/debian/patches/librt-mips.dpatch +++ glibc-2.3.6/debian/patches/librt-mips.dpatch @@ -0,0 +1,124 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: clock_{get,set}time@@GLIBC_2.0 - programs in Woody need it. +# DP: Add fix that the previous version does not provide @GLIBC_2.2 symbols. +# DP: Related bugs: http://lists.debian.org/debian-glibc/2004/12/msg00214.html +# DP: Dpatch author: GOTO Masanori +# DP: Patch author: Guido Guenther , GOTO Masanori +# DP: Upstream status: Debian-Specific +# DP: Status Details: debian-specific, until sarge+1 will be released. +# DP: Date: 2004-12-24 (updated) + +PATCHLEVEL=0 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +--- sysdeps/unix/sysv/linux/mips/Versions.orig Tue Sep 24 15:56:55 2002 ++++ sysdeps/unix/sysv/linux/mips/Versions Tue Sep 24 15:49:27 2002 +@@ -34,3 +34,9 @@ + _sys_errlist; sys_errlist; _sys_nerr; sys_nerr; + } + } ++librt { ++ GLIBC_2.0 { ++ # c* ++ clock_gettime; clock_settime; ++ } ++} +--- Versions.def 2004-12-21 00:37:04.000000000 +0900 ++++ Versions.def.new 2004-12-21 09:50:31.000000000 +0900 +@@ -82,6 +82,7 @@ + GLIBC_PRIVATE + } + librt { ++ GLIBC_2.0 + GLIBC_2.1 + GLIBC_2.2 + GLIBC_2.3 +--- sysdeps/unix/clock_gettime.c~ 2004-12-04 17:05:53.000000000 +0900 ++++ sysdeps/unix/clock_gettime.c 2004-12-23 12:04:01.000000000 +0900 +@@ -39,8 +39,13 @@ + + + /* Get current value of CLOCK and store it in TP. */ ++#ifdef DEBIAN_LIBRT_MIPS ++int ++__clock_gettime (clockid_t clock_id, struct timespec *tp) ++#else + int + clock_gettime (clockid_t clock_id, struct timespec *tp) ++#endif + { + int retval = -1; + +--- sysdeps/unix/clock_settime.c~ 2004-12-04 17:05:53.000000000 +0900 ++++ sysdeps/unix/clock_settime.c 2004-12-23 12:09:27.000000000 +0900 +@@ -37,8 +37,13 @@ + + + /* Set CLOCK to value TP. */ ++#ifdef DEBIAN_LIBRT_MIPS ++int ++__clock_settime (clockid_t clock_id, const struct timespec *tp) ++#else + int + clock_settime (clockid_t clock_id, const struct timespec *tp) ++#endif + { + int retval; + +--- /dev/null 2004-09-27 19:55:25.000000000 +0900 ++++ sysdeps/unix/sysv/linux/mips/clock_settime.c 2004-12-23 12:07:36.000000000 +0900 +@@ -0,0 +1,18 @@ ++/* ++ * It adds for debian specific librt-mips binary incompatibility problems. ++ * - gotom 2004-12-20. ++ */ ++ ++#define DEBIAN_LIBRT_MIPS ++ ++/* include linux clock_settime */ ++#include ++ ++/* compat symbols. */ ++#include ++ ++#if SHLIB_COMPAT (librt, GLIBC_2_0, GLIBC_2_2) ++strong_alias (__clock_settime, __clock_settime_old); ++compat_symbol (librt, __clock_settime_old, clock_settime, GLIBC_2_0); ++#endif ++versioned_symbol (librt, __clock_settime, clock_settime, GLIBC_2_2); +--- /dev/null 2004-09-27 19:55:25.000000000 +0900 ++++ sysdeps/unix/sysv/linux/mips/clock_gettime.c 2004-12-23 12:07:35.000000000 +0900 +@@ -0,0 +1,18 @@ ++/* ++ * It adds for debian specific librt-mips binary incompatibility problems. ++ * - gotom 2004-12-20. ++ */ ++ ++#define DEBIAN_LIBRT_MIPS ++ ++/* include linux clock_gettime */ ++#include ++ ++/* compat symbols. */ ++#include ++ ++#if SHLIB_COMPAT (librt, GLIBC_2_0, GLIBC_2_2) ++strong_alias (__clock_gettime, __clock_gettime_old); ++compat_symbol (librt, __clock_gettime_old, clock_gettime, GLIBC_2_0); ++#endif ++versioned_symbol (librt, __clock_gettime, clock_gettime, GLIBC_2_2); --- glibc-2.3.6.orig/debian/patches/locale-es_AR.dpatch +++ glibc-2.3.6/debian/patches/locale-es_AR.dpatch @@ -0,0 +1,39 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Add grouping and separator to number formatting +# DP: Related bugs: #108373 +# DP: Dpatch author: Ben Collins +# DP: Patch author: Nicol�s Lichtmaier +# DP: Upstream status: Submitted +# DP: Status Details: http://sources.redhat.com/bugzilla/show_bug.cgi?id=119 +# DP: Date: 2001-09-29 + +# DP: Carried over from glibc2.2, need to figure out why it's here. + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- localedata/locales/es_AR~ 2000/10/26 23:22:55 1.10 ++++ localedata/locales/es_AR 2001/10/07 20:56:18 +@@ -80,8 +80,8 @@ + + LC_NUMERIC + decimal_point "" +-thousands_sep "" +-grouping 0;0 ++thousands_sep "" ++grouping 3;3 + END LC_NUMERIC + + LC_TIME --- glibc-2.3.6.orig/debian/patches/glibc22-m68k-compat.dpatch +++ glibc-2.3.6/debian/patches/glibc22-m68k-compat.dpatch @@ -0,0 +1,39 @@ +#! /bin/sh -e + +# DP: Fixes some old compatibility issues with m68k and lchown/chown + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +diff -urN glibc-2.2.5.orig/sysdeps/unix/sysv/linux/m68k/chown.c glibc-2.2.5/sysdeps/unix/sysv/linux/m68k/chown.c +--- glibc-2.2.5.orig/sysdeps/unix/sysv/linux/m68k/chown.c 2001-07-10 02:57:24.000000000 +0200 ++++ glibc-2.2.5/sysdeps/unix/sysv/linux/m68k/chown.c 2002-08-11 15:37:09.000000000 +0200 +@@ -72,3 +72,8 @@ + #endif + } + weak_alias (__chown, chown) ++ ++#include ++#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_2) ++compat_symbol (libc, __chown, chown, GLIBC_2_1); ++#endif +diff -urN glibc-2.2.5.orig/sysdeps/unix/sysv/linux/m68k/lchown.c glibc-2.2.5/sysdeps/unix/sysv/linux/m68k/lchown.c +--- glibc-2.2.5.orig/sysdeps/unix/sysv/linux/m68k/lchown.c 2000-01-17 06:20:35.000000000 +0100 ++++ glibc-2.2.5/sysdeps/unix/sysv/linux/m68k/lchown.c 2002-08-11 15:38:56.000000000 +0200 +@@ -1 +1,6 @@ + #include ++ ++#include ++#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_2) ++compat_symbol (libc, __lchown, lchown, GLIBC_2_1); ++#endif --- glibc-2.3.6.orig/debian/patches/glibc23-function-compat.dpatch +++ glibc-2.3.6/debian/patches/glibc23-function-compat.dpatch @@ -0,0 +1,65 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: +# DP: Some internal symbols are changed in glibc 2.3.x. The result that +# DP: some ill-mannered applications does not run because they use glibc +# DP: internal only symbols which cannot be resolved now. +# DP: Such symbols are: __libc_wait, __libc_waitpid, __libc_fork, and so on. +# DP: We really dislike to keep such bad application binary compatibility +# DP: but we decide to adopt this change for condering user upgradablity +# DP: from woody to sarge. Thus, this patch should remove when sarge is +# DP: released. +# DP: This patch is originally pulled from RedHat patch. +# DP: Original Author: RedHat glibc-2.2.93 cygnus-to-redhat patch +# DP: Applying Author: GOTO Masanori +# DP: Upstream status: Debian/Redhat-Specific +# DP: Status Details: We apply for a while (until sarge is released) +# DP: Date: 2002-12-19 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +--- glibc-2.3.1-cygnus/posix/Versions 2002-12-19 00:13:27.000000000 +0900 ++++ glibc-2.3.1-redhat/posix/Versions 2002-12-19 00:14:34.000000000 +0900 +@@ -3,6 +3,9 @@ + # functions with special/multiple interfaces + __bsd_getpgrp; __setpgid; __getpgid; + ++ # This will be GLIBC_PRIVATE, just give Sun JDK some time to catch up ++ __libc_wait; __libc_waitpid; ++ + # functions with required interface outside normal name space + _exit; + +@@ -83,6 +86,9 @@ + GLIBC_2.1.2 { + # functions used in other libraries + __vfork; ++ ++ # This will be GLIBC_PRIVATE, just give wine some time to catch up ++ __libc_fork; + } + GLIBC_2.2 { + # p* +@@ -121,7 +127,8 @@ + GLIBC_PRIVATE { + # functions which have an additional interface since they are + # are cancelable. +- __libc_wait; __libc_waitpid; __libc_pause; __libc_nanosleep; __libc_fork; ++ # __libc_wait; __libc_waitpid; ++ __libc_pause; __libc_nanosleep; # __libc_fork; + __libc_pread; __libc_pread64; __libc_pwrite; __libc_pwrite64; + __waitid; __pselect; + } --- glibc-2.3.6.orig/debian/patches/locale-eu_FR.dpatch +++ glibc-2.3.6/debian/patches/locale-eu_FR.dpatch @@ -0,0 +1,211 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: #257840: locales: Please add the eu_FR locale +# DP: Related bugs: #257840 +# DP: Dpatch author: GOTO Masanori +# DP: Patch author: Christian Perrier +# DP: Upstream status: Not submitted +# DP: Status Details: sending upstream +# DP: Date: 2004-07-31 + +PATCHLEVEL=0 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +--- localedata/locales/eu_FR 2004-06-26 20:05:20.000000000 +0900 ++++ localedata/locales/eu_FR 2004-07-31 17:14:20.000000000 +0900 +@@ -0,0 +1,83 @@ ++comment_char % ++escape_char / ++% ++% Basque Language Locale for France ++% Language: eu ++% Territory: FR ++% Revision: 1.0 ++% Date: 2004-06-24 ++% Users: general ++% Charset: ISO-8859-1 ++% Distribution and use is free, also ++% for commercial purposes. ++ ++LC_IDENTIFICATION ++title "Basque locale for France" ++source "Christian Perrier and the Debian Project" ++address "" ++contact "Christian Perrier" ++email "bubulle@debian.org" ++tel "" ++fax "" ++language "Basque" ++territory "France" ++revision "1.0" ++date "2004-06-24" ++% ++category "eu_FR:2000";LC_IDENTIFICATION ++category "eu_FR:2000";LC_CTYPE ++category "eu_FR:2000";LC_COLLATE ++category "eu_FR:2000";LC_TIME ++category "eu_FR:2000";LC_NUMERIC ++category "eu_FR:2000";LC_MONETARY ++category "eu_FR:2000";LC_MESSAGES ++category "eu_FR:2000";LC_PAPER ++category "eu_FR:2000";LC_NAME ++category "eu_FR:2000";LC_ADDRESS ++category "eu_FR:2000";LC_TELEPHONE ++ ++END LC_IDENTIFICATION ++ ++LC_COLLATE ++copy "iso14651_t1" ++END LC_COLLATE ++ ++LC_CTYPE ++copy "i18n" ++END LC_CTYPE ++ ++LC_MESSAGES ++copy "eu_ES" ++END LC_MESSAGES ++ ++LC_MONETARY ++copy "fr_FR" ++END LC_MONETARY ++ ++LC_NUMERIC ++copy "fr_FR" ++END LC_NUMERIC ++ ++LC_TIME ++copy "eu_ES" ++END LC_TIME ++ ++LC_PAPER ++copy "fr_FR" ++END LC_PAPER ++ ++LC_TELEPHONE ++copy "fr_FR" ++END LC_TELEPHONE ++ ++LC_MEASUREMENT ++copy "fr_FR" ++END LC_MEASUREMENT ++ ++LC_NAME ++copy "eu_ES" ++END LC_NAME ++ ++LC_ADDRESS ++copy "fr_FR" ++END LC_ADDRESS +--- localedata/SUPPORTED 2004-07-31 17:32:45.000000000 +0900 ++++ localedata/SUPPORTED 2004-07-31 17:34:45.000000000 +0900 +@@ -166,6 +166,9 @@ + eu_ES.UTF-8@euro/UTF-8 \ + eu_ES/ISO-8859-1 \ + eu_ES@euro/ISO-8859-15 \ ++eu_FR.UTF-8/UTF-8 \ ++eu_FR/ISO-8859-1 \ ++eu_FR@euro/ISO-8859-15 \ + fa_IR/UTF-8 \ + fi_FI.UTF-8/UTF-8 \ + fi_FI.UTF-8@euro/UTF-8 \ +--- localedata/locales/eu_FR@euro 2004-06-26 20:05:20.000000000 +0900 ++++ localedata/locales/eu_FR@euro 2004-07-31 23:55:16.000000000 +0900 +@@ -0,0 +1,83 @@ ++comment_char % ++escape_char / ++% ++% Basque Language Locale for France ++% Language: eu ++% Territory: FR ++% Revision: 1.0 ++% Date: 2004-06-24 ++% Users: general ++% Charset: ISO-8859-15 ++% Distribution and use is free, also ++% for commercial purposes. ++ ++LC_IDENTIFICATION ++title "Basque locale for France" ++source "Christian Perrier and the Debian Project" ++address "" ++contact "Christian Perrier" ++email "bubulle@debian.org" ++tel "" ++fax "" ++language "Basque" ++territory "France" ++revision "1.0" ++date "2004-06-24" ++% ++category "eu_FR:2000";LC_IDENTIFICATION ++category "eu_FR:2000";LC_CTYPE ++category "eu_FR:2000";LC_COLLATE ++category "eu_FR:2000";LC_TIME ++category "eu_FR:2000";LC_NUMERIC ++category "eu_FR:2000";LC_MONETARY ++category "eu_FR:2000";LC_MESSAGES ++category "eu_FR:2000";LC_PAPER ++category "eu_FR:2000";LC_NAME ++category "eu_FR:2000";LC_ADDRESS ++category "eu_FR:2000";LC_TELEPHONE ++ ++END LC_IDENTIFICATION ++ ++LC_COLLATE ++copy "iso14651_t1" ++END LC_COLLATE ++ ++LC_CTYPE ++copy "i18n" ++END LC_CTYPE ++ ++LC_MESSAGES ++copy "eu_ES" ++END LC_MESSAGES ++ ++LC_MONETARY ++copy "fr_FR" ++END LC_MONETARY ++ ++LC_NUMERIC ++copy "fr_FR" ++END LC_NUMERIC ++ ++LC_TIME ++copy "eu_ES" ++END LC_TIME ++ ++LC_PAPER ++copy "fr_FR" ++END LC_PAPER ++ ++LC_TELEPHONE ++copy "fr_FR" ++END LC_TELEPHONE ++ ++LC_MEASUREMENT ++copy "fr_FR" ++END LC_MEASUREMENT ++ ++LC_NAME ++copy "eu_ES" ++END LC_NAME ++ ++LC_ADDRESS ++copy "fr_FR" ++END LC_ADDRESS --- glibc-2.3.6.orig/debian/patches/sparcv8-target.dpatch +++ glibc-2.3.6/debian/patches/sparcv8-target.dpatch @@ -0,0 +1,49 @@ +#! /bin/sh -e + +# DP: Description: Optimizes the build for sparcv8 +# DP: Author: Ben Collins +# DP: Upstream status: Debian-Specific +# DP: Status Details: +# DP: Date: June 17, 2003 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- configure~ 2003-06-17 09:24:52.000000000 -0400 ++++ configure 2003-06-17 09:25:19.000000000 -0400 +@@ -1796,6 +1796,11 @@ + machine="powerpc" + fi + ++# Force v8 ++if test "$machine" = sparc; then ++ machine="sparcv8" ++fi ++ + # Braindead PowerPC box with absolutely no FPU. + case "$machine-$host_os" in + powerpc*-*soft) +--- configure.in~ 2003-06-17 09:24:55.000000000 -0400 ++++ configure.in 2003-06-17 09:25:29.000000000 -0400 +@@ -337,6 +337,11 @@ + machine="powerpc" + fi + ++# Force v8 ++if test "$machine" = sparc; then ++ machine="sparcv8" ++fi ++ + # Braindead PowerPC box with absolutely no FPU. + case "$machine-$host_os" in + powerpc*-*soft) --- glibc-2.3.6.orig/debian/patches/submitted-hppa-configure.dpatch +++ glibc-2.3.6/debian/patches/submitted-hppa-configure.dpatch @@ -0,0 +1,48 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: @DESCRIPTION@ +# DP: Related bugs: +# DP: Dpatch author: +# DP: Patch author: +# DP: Upstream status: [In CVS | Debian-Specific | Pending | Not submitted ] +# DP: Status Details: +# DP: Date: @DATE@ + +PATCHLEVEL=1 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +diff -ru glibc-2.3.5.old/sysdeps/hppa/configure glibc-2.3.5/sysdeps/hppa/configure +--- glibc-2.3.5.old/sysdeps/hppa/configure 2005-04-06 20:12:00.000000000 -0600 ++++ glibc-2.3.5/sysdeps/hppa/configure 2005-05-16 13:47:53.718362881 -0600 +@@ -1,6 +1,5 @@ + # This file is generated from configure.in by Autoconf. DO NOT EDIT! + +-hppa*linux*) + echo "$as_me:$LINENO: checking for assembler line separator" >&5 + echo $ECHO_N "checking for assembler line separator... $ECHO_C" >&6 + if test "${libc_cv_asm_line_sep+set}" = set; then +diff -ru glibc-2.3.5.old/sysdeps/hppa/configure.in glibc-2.3.5/sysdeps/hppa/configure.in +--- glibc-2.3.5.old/sysdeps/hppa/configure.in 2004-10-25 19:35:53.000000000 -0600 ++++ glibc-2.3.5/sysdeps/hppa/configure.in 2005-05-16 13:47:45.192416212 -0600 +@@ -2,7 +2,6 @@ + + dnl The standard hppa assembler uses `;' to start comments and `!' + dnl as a line separator. +-hppa*linux*) + AC_CACHE_CHECK(for assembler line separator, + libc_cv_asm_line_sep, [dnl + cat > conftest.s <&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- Makeconfig 15 Dec 2004 18:51:47 -0000 1.302 ++++ Makeconfig 2 Jan 2005 08:36:24 -0000 +@@ -541,10 +541,11 @@ + $(subst $(empty) ,:,$(strip $(patsubst -Wl$(comma)-rpath-link=%, %,\ + $(filter -Wl$(comma)-rpath-link=%,\ + $(sysdep-LDFLAGS))))) ++ld_envlib_path = $(shell test x$$LD_LIBRARY_PATH = x || echo -n :$$LD_LIBRARY_PATH) + run-program-prefix = $(if $(filter $(notdir $(built-program-file)),\ + $(tests-static) $(xtests-static)),, \ + $(elf-objpfx)$(rtld-installed-name) \ +- --library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path))) ++ --library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path))$(ld_envlib_path)) + else + run-program-prefix = + endif --- glibc-2.3.6.orig/debian/patches/local-ia64-libgcc-compat.dpatch +++ glibc-2.3.6/debian/patches/local-ia64-libgcc-compat.dpatch @@ -0,0 +1,518 @@ +#! /bin/sh -e + +# DP: Description: libgcc-compat symbols for ia64. +# DP: Derived from RedHat's version. +# DP: Author: GOTO Masanori +# DP: Upstream status: Not submitted +# DP: Date: 2002-10-13, updated 2003-03-04, updated 2003-03-23 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +diff -Nuar glibc-2.3.1.old/sysdeps/ia64/Makefile glibc-2.3.1/sysdeps/ia64/Makefile +--- glibc-2.3.1.old/sysdeps/ia64/Makefile 2002-05-15 05:46:15.000000000 +0900 ++++ glibc-2.3.1/sysdeps/ia64/Makefile 2003-03-04 00:51:34.000000000 +0900 +@@ -12,8 +12,8 @@ + + ifeq (yes,$(build-shared)) + # Compatibility +-sysdep_routines += ia64libgcc +-shared-only-routines += ia64libgcc ++sysdep_routines += libgcc-compat ++shared-only-routines += libgcc-compat + endif + endif + +diff -Nuar glibc-2.3.1.old/sysdeps/ia64/Versions glibc-2.3.1/sysdeps/ia64/Versions +--- glibc-2.3.1.old/sysdeps/ia64/Versions 2002-05-03 16:00:46.000000000 +0900 ++++ glibc-2.3.1/sysdeps/ia64/Versions 2003-03-04 01:14:39.000000000 +0900 +@@ -10,5 +10,9 @@ + # Functions from libgcc. + __divtf3; __divdf3; __divsf3; __divdi3; __moddi3; __udivdi3; __umoddi3; + __multi3; ++ __divsi3; ++ __modsi3; ++ __udivsi3; ++ __umodsi3; + } + } +diff -Nuar glibc-2.3.1.old/sysdeps/ia64/ia64libgcc.S glibc-2.3.1/sysdeps/ia64/ia64libgcc.S +--- glibc-2.3.1.old/sysdeps/ia64/ia64libgcc.S 2002-05-15 05:46:15.000000000 +0900 ++++ glibc-2.3.1/sysdeps/ia64/ia64libgcc.S 2003-03-04 00:51:34.000000000 +0900 +@@ -1,350 +0,0 @@ +-/* From the Intel IA-64 Optimization Guide, choose the minimum latency +- alternative. */ +- +-#include +-#undef ret +- +-#include +- +-#if SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_2_6) +- +-/* __divtf3 +- Compute a 80-bit IEEE double-extended quotient. +- farg0 holds the dividend. farg1 holds the divisor. */ +- +-ENTRY(___divtf3) +- cmp.eq p7, p0 = r0, r0 +- frcpa.s0 f10, p6 = farg0, farg1 +- ;; +-(p6) cmp.ne p7, p0 = r0, r0 +- .pred.rel.mutex p6, p7 +-(p6) fnma.s1 f11 = farg1, f10, f1 +-(p6) fma.s1 f12 = farg0, f10, f0 +- ;; +-(p6) fma.s1 f13 = f11, f11, f0 +-(p6) fma.s1 f14 = f11, f11, f11 +- ;; +-(p6) fma.s1 f11 = f13, f13, f11 +-(p6) fma.s1 f13 = f14, f10, f10 +- ;; +-(p6) fma.s1 f10 = f13, f11, f10 +-(p6) fnma.s1 f11 = farg1, f12, farg0 +- ;; +-(p6) fma.s1 f11 = f11, f10, f12 +-(p6) fnma.s1 f12 = farg1, f10, f1 +- ;; +-(p6) fma.s1 f10 = f12, f10, f10 +-(p6) fnma.s1 f12 = farg1, f11, farg0 +- ;; +-(p6) fma.s0 fret0 = f12, f10, f11 +-(p7) mov fret0 = f10 +- br.ret.sptk rp +-END(___divtf3) +- .symver ___divtf3, __divtf3@GLIBC_2.2 +- +-/* __divdf3 +- Compute a 64-bit IEEE double quotient. +- farg0 holds the dividend. farg1 holds the divisor. */ +- +-ENTRY(___divdf3) +- cmp.eq p7, p0 = r0, r0 +- frcpa.s0 f10, p6 = farg0, farg1 +- ;; +-(p6) cmp.ne p7, p0 = r0, r0 +- .pred.rel.mutex p6, p7 +-(p6) fmpy.s1 f11 = farg0, f10 +-(p6) fnma.s1 f12 = farg1, f10, f1 +- ;; +-(p6) fma.s1 f11 = f12, f11, f11 +-(p6) fmpy.s1 f13 = f12, f12 +- ;; +-(p6) fma.s1 f10 = f12, f10, f10 +-(p6) fma.s1 f11 = f13, f11, f11 +- ;; +-(p6) fmpy.s1 f12 = f13, f13 +-(p6) fma.s1 f10 = f13, f10, f10 +- ;; +-(p6) fma.d.s1 f11 = f12, f11, f11 +-(p6) fma.s1 f10 = f12, f10, f10 +- ;; +-(p6) fnma.d.s1 f8 = farg1, f11, farg0 +- ;; +-(p6) fma.d fret0 = f8, f10, f11 +-(p7) mov fret0 = f10 +- br.ret.sptk rp +- ;; +-END(___divdf3) +- .symver ___divdf3, __divdf3@GLIBC_2.2 +- +-/* __divsf3 +- Compute a 32-bit IEEE float quotient. +- farg0 holds the dividend. farg1 holds the divisor. */ +- +-ENTRY(___divsf3) +- cmp.eq p7, p0 = r0, r0 +- frcpa.s0 f10, p6 = farg0, farg1 +- ;; +-(p6) cmp.ne p7, p0 = r0, r0 +- .pred.rel.mutex p6, p7 +-(p6) fmpy.s1 f8 = farg0, f10 +-(p6) fnma.s1 f9 = farg1, f10, f1 +- ;; +-(p6) fma.s1 f8 = f9, f8, f8 +-(p6) fmpy.s1 f9 = f9, f9 +- ;; +-(p6) fma.s1 f8 = f9, f8, f8 +-(p6) fmpy.s1 f9 = f9, f9 +- ;; +-(p6) fma.d.s1 f10 = f9, f8, f8 +- ;; +-(p6) fnorm.s.s0 fret0 = f10 +-(p7) mov fret0 = f10 +- br.ret.sptk rp +- ;; +-END(___divsf3) +- .symver ___divsf3, __divsf3@GLIBC_2.2 +- +-/* __divdi3 +- Compute a 64-bit integer quotient. +- in0 holds the dividend. in1 holds the divisor. */ +- +-ENTRY(___divdi3) +- .regstk 2,0,0,0 +- /* Transfer inputs to FP registers. */ +- setf.sig f8 = in0 +- setf.sig f9 = in1 +- ;; +- /* Convert the inputs to FP, so that they won't be treated as +- unsigned. */ +- fcvt.xf f8 = f8 +- fcvt.xf f9 = f9 +- ;; +- /* Compute the reciprocal approximation. */ +- frcpa.s1 f10, p6 = f8, f9 +- ;; +- /* 3 Newton-Raphson iterations. */ +-(p6) fnma.s1 f11 = f9, f10, f1 +-(p6) fmpy.s1 f12 = f8, f10 +- ;; +-(p6) fmpy.s1 f13 = f11, f11 +-(p6) fma.s1 f12 = f11, f12, f12 +- ;; +-(p6) fma.s1 f10 = f11, f10, f10 +-(p6) fma.s1 f11 = f13, f12, f12 +- ;; +-(p6) fma.s1 f10 = f13, f10, f10 +-(p6) fnma.s1 f12 = f9, f11, f8 +- ;; +-(p6) fma.s1 f10 = f12, f10, f11 +- ;; +- /* Round quotient to an integer. */ +- fcvt.fx.trunc.s1 f10 = f10 +- ;; +- /* Transfer result to GP registers. */ +- getf.sig ret0 = f10 +- br.ret.sptk rp +- ;; +-END(___divdi3) +- .symver ___divdi3, __divdi3@GLIBC_2.2 +- +-/* __moddi3 +- Compute a 64-bit integer modulus. +- in0 holds the dividend (a). in1 holds the divisor (b). */ +- +-ENTRY(___moddi3) +- .regstk 2,0,0,0 +- /* Transfer inputs to FP registers. */ +- setf.sig f14 = in0 +- setf.sig f9 = in1 +- ;; +- /* Convert the inputs to FP, so that they won't be treated as +- unsigned. */ +- fcvt.xf f8 = f14 +- fcvt.xf f9 = f9 +- ;; +- /* Compute the reciprocal approximation. */ +- frcpa.s1 f10, p6 = f8, f9 +- ;; +- /* 3 Newton-Raphson iterations. */ +-(p6) fmpy.s1 f12 = f8, f10 +-(p6) fnma.s1 f11 = f9, f10, f1 +- ;; +-(p6) fma.s1 f12 = f11, f12, f12 +-(p6) fmpy.s1 f13 = f11, f11 +- ;; +-(p6) fma.s1 f10 = f11, f10, f10 +-(p6) fma.s1 f11 = f13, f12, f12 +- ;; +- sub in1 = r0, in1 +-(p6) fma.s1 f10 = f13, f10, f10 +-(p6) fnma.s1 f12 = f9, f11, f8 +- ;; +- setf.sig f9 = in1 +-(p6) fma.s1 f10 = f12, f10, f11 +- ;; +- fcvt.fx.trunc.s1 f10 = f10 +- ;; +- /* r = q * (-b) + a */ +- xma.l f10 = f10, f9, f14 +- ;; +- /* Transfer result to GP registers. */ +- getf.sig ret0 = f10 +- br.ret.sptk rp +- ;; +-END(___moddi3) +- .symver ___moddi3, __moddi3@GLIBC_2.2 +- +-/* __udivdi3 +- Compute a 64-bit unsigned integer quotient. +- in0 holds the dividend. in1 holds the divisor. */ +- +-ENTRY(___udivdi3) +- .regstk 2,0,0,0 +- /* Transfer inputs to FP registers. */ +- setf.sig f8 = in0 +- setf.sig f9 = in1 +- ;; +- /* Convert the inputs to FP, to avoid FP software-assist faults. */ +- fcvt.xuf.s1 f8 = f8 +- fcvt.xuf.s1 f9 = f9 +- ;; +- /* Compute the reciprocal approximation. */ +- frcpa.s1 f10, p6 = f8, f9 +- ;; +- /* 3 Newton-Raphson iterations. */ +-(p6) fnma.s1 f11 = f9, f10, f1 +-(p6) fmpy.s1 f12 = f8, f10 +- ;; +-(p6) fmpy.s1 f13 = f11, f11 +-(p6) fma.s1 f12 = f11, f12, f12 +- ;; +-(p6) fma.s1 f10 = f11, f10, f10 +-(p6) fma.s1 f11 = f13, f12, f12 +- ;; +-(p6) fma.s1 f10 = f13, f10, f10 +-(p6) fnma.s1 f12 = f9, f11, f8 +- ;; +-(p6) fma.s1 f10 = f12, f10, f11 +- ;; +- /* Round quotient to an unsigned integer. */ +- fcvt.fxu.trunc.s1 f10 = f10 +- ;; +- /* Transfer result to GP registers. */ +- getf.sig ret0 = f10 +- br.ret.sptk rp +- ;; +-END(___udivdi3) +- .symver ___udivdi3, __udivdi3@GLIBC_2.2 +- +-/* __umoddi3 +- Compute a 64-bit unsigned integer modulus. +- in0 holds the dividend (a). in1 holds the divisor (b). */ +- +-ENTRY(___umoddi3) +- .regstk 2,0,0,0 +- /* Transfer inputs to FP registers. */ +- setf.sig f14 = in0 +- setf.sig f9 = in1 +- ;; +- /* Convert the inputs to FP, to avoid FP software assist faults. */ +- fcvt.xuf.s1 f8 = f14 +- fcvt.xuf.s1 f9 = f9 +- ;; +- /* Compute the reciprocal approximation. */ +- frcpa.s1 f10, p6 = f8, f9 +- ;; +- /* 3 Newton-Raphson iterations. */ +-(p6) fmpy.s1 f12 = f8, f10 +-(p6) fnma.s1 f11 = f9, f10, f1 +- ;; +-(p6) fma.s1 f12 = f11, f12, f12 +-(p6) fmpy.s1 f13 = f11, f11 +- ;; +-(p6) fma.s1 f10 = f11, f10, f10 +-(p6) fma.s1 f11 = f13, f12, f12 +- ;; +- sub in1 = r0, in1 +-(p6) fma.s1 f10 = f13, f10, f10 +-(p6) fnma.s1 f12 = f9, f11, f8 +- ;; +- setf.sig f9 = in1 +-(p6) fma.s1 f10 = f12, f10, f11 +- ;; +- /* Round quotient to an unsigned integer. */ +- fcvt.fxu.trunc.s1 f10 = f10 +- ;; +- /* r = q * (-b) + a */ +- xma.l f10 = f10, f9, f14 +- ;; +- /* Transfer result to GP registers. */ +- getf.sig ret0 = f10 +- br.ret.sptk rp +- ;; +-END(___umoddi3) +- .symver ___umoddi3, __umoddi3@GLIBC_2.2 +- +-/* __multi3 +- Compute a 128-bit multiply of 128-bit multiplicands. +- in0/in1 holds one multiplicand (a), in2/in3 holds the other one (b). */ +- +-ENTRY(___multi3) +- .regstk 4,0,0,0 +- setf.sig f6 = in1 +- movl r19 = 0xffffffff +- setf.sig f7 = in2 +- ;; +- and r14 = r19, in0 +- ;; +- setf.sig f10 = r14 +- and r14 = r19, in2 +- xmpy.l f9 = f6, f7 +- ;; +- setf.sig f6 = r14 +- shr.u r14 = in0, 32 +- ;; +- setf.sig f7 = r14 +- shr.u r14 = in2, 32 +- ;; +- setf.sig f8 = r14 +- xmpy.l f11 = f10, f6 +- xmpy.l f6 = f7, f6 +- ;; +- getf.sig r16 = f11 +- xmpy.l f7 = f7, f8 +- ;; +- shr.u r14 = r16, 32 +- and r16 = r19, r16 +- getf.sig r17 = f6 +- setf.sig f6 = in0 +- ;; +- setf.sig f11 = r14 +- getf.sig r21 = f7 +- setf.sig f7 = in3 +- ;; +- xma.l f11 = f10, f8, f11 +- xma.l f6 = f6, f7, f9 +- ;; +- getf.sig r18 = f11 +- ;; +- add r18 = r18, r17 +- ;; +- and r15 = r19, r18 +- cmp.ltu p7, p6 = r18, r17 +- ;; +- getf.sig r22 = f6 +-(p7) adds r14 = 1, r19 +- ;; +-(p7) add r21 = r21, r14 +- shr.u r14 = r18, 32 +- shl r15 = r15, 32 +- ;; +- add r20 = r21, r14 +- ;; +- add ret0 = r15, r16 +- add ret1 = r22, r20 +- br.ret.sptk rp +- ;; +-END(___multi3) +- .symver ___multi3, __multi3@GLIBC_2.2 +- +-#endif +diff -Nuar glibc-2.3.1.old/sysdeps/ia64/libgcc-compat.c glibc-2.3.1/sysdeps/ia64/libgcc-compat.c +--- glibc-2.3.1.old/sysdeps/ia64/libgcc-compat.c 1970-01-01 09:00:00.000000000 +0900 ++++ glibc-2.3.1/sysdeps/ia64/libgcc-compat.c 2003-03-04 02:24:15.000000000 +0900 +@@ -0,0 +1,112 @@ ++/* pre-.hidden libgcc compatibility ++ Copyright (C) 2002 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 ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++ ++#include ++#include ++ ++#if SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_2_6) ++ ++typedef int int128_t __attribute__((__mode__(TI))); ++ ++extern long double __divtf3 (long double, long double) attribute_hidden; ++long double INTUSE (__divtf3) (long double x, long double y) ++{ ++ return __divtf3 (x, y); ++} ++symbol_version (INTUSE (__divtf3), __divtf3, GLIBC_2.2); ++ ++extern double __divdf3 (double, double) attribute_hidden; ++double INTUSE (__divdf3) (double x, double y) ++{ ++ return __divdf3 (x, y); ++} ++symbol_version (INTUSE (__divdf3), __divdf3, GLIBC_2.2); ++ ++extern float __divsf3 (float, float) attribute_hidden; ++float INTUSE (__divsf3) (float x, float y) ++{ ++ return __divsf3 (x, y); ++} ++symbol_version (INTUSE (__divsf3), __divsf3, GLIBC_2.2); ++ ++extern int64_t __divdi3 (int64_t, int64_t) attribute_hidden; ++int64_t INTUSE (__divdi3) (int64_t x, int64_t y) ++{ ++ return __divdi3 (x, y); ++} ++symbol_version (INTUSE (__divdi3), __divdi3, GLIBC_2.2); ++ ++extern int64_t __moddi3 (int64_t, int64_t) attribute_hidden; ++int64_t INTUSE (__moddi3) (int64_t x, int64_t y) ++{ ++ return __moddi3 (x, y); ++} ++symbol_version (INTUSE (__moddi3), __moddi3, GLIBC_2.2); ++ ++extern uint64_t __udivdi3 (uint64_t, uint64_t) attribute_hidden; ++uint64_t INTUSE (__udivdi3) (uint64_t x, uint64_t y) ++{ ++ return __udivdi3 (x, y); ++} ++symbol_version (INTUSE (__udivdi3), __udivdi3, GLIBC_2.2); ++ ++extern uint64_t __umoddi3 (uint64_t, uint64_t) attribute_hidden; ++uint64_t INTUSE (__umoddi3) (uint64_t x, uint64_t y) ++{ ++ return __umoddi3 (x, y); ++} ++symbol_version (INTUSE (__umoddi3), __umoddi3, GLIBC_2.2); ++ ++extern int128_t __multi3 (int128_t, int128_t) attribute_hidden; ++int128_t INTUSE (__multi3) (int128_t x, int128_t y) ++{ ++ return __multi3 (x, y); ++} ++symbol_version (INTUSE (__multi3), __multi3, GLIBC_2.2); ++ ++extern int64_t __divsi3 (int64_t, int64_t) attribute_hidden; ++int64_t INTUSE (__divsi3) (int64_t x, int64_t y) ++{ ++ return __divsi3 (x, y); ++} ++symbol_version (INTUSE (__divsi3), __divsi3, GLIBC_2.2); ++ ++extern int64_t __modsi3 (int64_t, int64_t) attribute_hidden; ++int64_t INTUSE (__modsi3) (int64_t x, int64_t y) ++{ ++ return __modsi3 (x, y); ++} ++symbol_version (INTUSE (__modsi3), __modsi3, GLIBC_2.2); ++ ++extern uint64_t __udivsi3 (uint64_t, uint64_t) attribute_hidden; ++uint64_t INTUSE (__udivsi3) (uint64_t x, uint64_t y) ++{ ++ return __udivsi3 (x, y); ++} ++symbol_version (INTUSE (__udivsi3), __udivsi3, GLIBC_2.2); ++ ++extern uint64_t __umodsi3 (uint64_t, uint64_t) attribute_hidden; ++uint64_t INTUSE (__umodsi3) (uint64_t x, uint64_t y) ++{ ++ return __umodsi3 (x, y); ++} ++symbol_version (INTUSE (__umodsi3), __umodsi3, GLIBC_2.2); ++ ++#endif --- glibc-2.3.6.orig/debian/patches/local-sparc-v9biarch.dpatch +++ glibc-2.3.6/debian/patches/local-sparc-v9biarch.dpatch @@ -0,0 +1,63 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: sparc/sparcv9 libraries fix +# DP: Author: Daniel Jacobowitz , Jeff Bailey +# DP: Upstream status: Not Submitted +# DP: Status Details: +# DP: Date: 2003-12-31 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +2003-12-31 Jeff Bailey + + * sysdeps/sparc/hp-timing.h: New file. + +--- /dev/null 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/sysdeps/sparc/sparc32/hp-timing.h 2003-10-03 11:50:30.000000000 -0400 +@@ -0,0 +1,34 @@ ++/* High precision, low overhead timing functions. i386 version. ++ Copyright (C) 2003 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 ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#ifndef _SPARC_HP_TIMING_H ++#define _SPARC_HP_TIMING_H 1 ++ ++#define hp_timing_t hp_timing_t__ ++#include ++#undef hp_timing_t ++ ++/* We don't use high-precision timers, but we might load an sparcv9 libpthread ++ which does. */ ++#define HP_TIMING_PAD 1 ++ ++/* sparcv9 uses 64bit values for the times. */ ++typedef unsigned long long int hp_timing_t; ++ ++#endif /* hp-timing.h */ --- glibc-2.3.6.orig/debian/patches/local-all-ldconfig.dpatch +++ glibc-2.3.6/debian/patches/local-all-ldconfig.dpatch @@ -0,0 +1,86 @@ +#! /bin/sh -e + +# DP: Make it so that a missing /etc/ld.so.conf does not cause an error +# DP: message, unless --verbose is enabled. This keeps the debian +# DP: installer from barfing during bootstrap of the system. +# DP: +# DP: Updated by gotom, the previous one seems being wrong because it supresses +# DP: _all_ warnings about "can't open configuration file". otoh, I introduce +# DP: newer patches. it should be checked using chroot and should be contacted +# DP: to the upstream. +# DP: Date: (Updated 2005-01-02 gotom) + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +2004-10-25 GOTO Masanori + + * elf/ldconfig.c: Don't print error when default ld.so.conf + is not existed. + +Index: elf/ldconfig.c +=================================================================== +RCS file: /cvs/glibc/libc/elf/ldconfig.c,v +retrieving revision 1.47 +diff -u -r1.47 ldconfig.c +--- elf/ldconfig.c 10 Aug 2004 04:04:32 -0000 1.47 ++++ elf/ldconfig.c 2 Jan 2005 08:46:26 -0000 +@@ -972,7 +972,8 @@ + + if (file == NULL) + { +- error (0, errno, _("Can't open configuration file %s"), canon); ++ if (strcmp(canon, LD_SO_CONF) != 0 || opt_verbose) ++ error (0, errno, _("Can't open configuration file %s"), canon); + if (canon != filename) + free ((char *) canon); + return; + +# previous patch. +#--- elf/ldconfig.c 2003-07-08 23:26:27.000000000 +0900 +#+++ elf/ldconfig.c.debian 2003-07-08 23:29:43.000000000 +0900 +#@@ -920,26 +920,24 @@ +# { +# FILE *file = NULL; +# char *line = NULL; +#- const char *canon; +#+ const char *canon = filename; +# size_t len = 0; +#+ int file_fd; +# +# if (opt_chroot) +# { +# canon = chroot_canon (opt_chroot, filename); +#- if (canon) +#- file = fopen (canon, "r"); +#- else +#+ if (!canon) +# canon = filename; +# } +#- else +#- { +#- canon = filename; +#- file = fopen (filename, "r"); +#- } +#+ +#+ if ((file_fd = open(canon, O_RDONLY | O_EXCL, 0022)) != -1) +#+ file = fdopen (file_fd, "r"); +# +# if (file == NULL) +# { +#- error (0, errno, _("Can't open configuration file %s"), canon); +#+ if (opt_verbose) +#+ error (0, errno, _("Can't open configuration file %s"), canon); +# if (canon != filename) +# free ((char *) canon); +# return; --- glibc-2.3.6.orig/debian/patches/local-all-nssupgrade.dpatch +++ glibc-2.3.6/debian/patches/local-all-nssupgrade.dpatch @@ -0,0 +1,44 @@ +#! /bin/sh -e + +# DP: This patch makes future upgrades easier. It resolves problems with +# DP: running daemons having NSS modules upgraded out from under them. + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- glibc22/nss/nsswitch.c~ Fri Mar 31 15:38:32 2000 ++++ glibc22/nss/nsswitch.c Thu Nov 9 17:28:45 2000 +@@ -333,9 +333,20 @@ + ni->library->lib_handle = __libc_dlopen (shlib_name); + if (ni->library->lib_handle == NULL) + { +- /* Failed to load the library. */ +- ni->library->lib_handle = (void *) -1l; +- __set_errno (saved_errno); ++ /* Failed to load the library. Try a fallback. */ ++ int n = __snprintf(shlib_name, shlen, "libnss_%s.so.%d.%d", ++ ni->library->name, __GLIBC__, __GLIBC_MINOR__); ++ if (n >= shlen) ++ ni->library->lib_handle = NULL; ++ else ++ ni->library->lib_handle = __libc_dlopen (shlib_name); ++ ++ if (ni->library->lib_handle == NULL) ++ { ++ /* Ok, really fail now. */ ++ ni->library->lib_handle = (void *) -1l; ++ __set_errno (saved_errno); ++ } + } + } + --- glibc-2.3.6.orig/debian/patches/local-sparc-sparc64biarch.dpatch +++ glibc-2.3.6/debian/patches/local-sparc-sparc64biarch.dpatch @@ -0,0 +1,46 @@ +#! /bin/sh -e + +# DP: Fix ldconfig so that lib64 searches are implicit. + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- glibc-2.2.3/elf/ldconfig.c~ Tue Mar 20 11:44:35 2001 ++++ glibc-2.2.3/elf/ldconfig.c Tue Apr 24 18:14:05 2001 +@@ -287,6 +287,26 @@ + dir_entries = entry; + else if (ptr == NULL) + prev->next = entry; ++#ifdef __sparc__ ++#define MSUBDIR "64" ++ if (ptr == NULL) { ++ int si = strlen(entry->path) - strlen(MSUBDIR); ++ if (strcmp (entry->path + (si <= 0 ? 0 : si), MSUBDIR) != 0) { ++ /* Handle subdirectory later. */ ++ struct dir_entry *new_entry; ++ ++ new_entry = xmalloc (sizeof (struct dir_entry)); ++ new_entry->path = xmalloc(strlen(entry->path)+strlen(MSUBDIR)+1); ++ new_entry->flag = entry->flag; ++ new_entry->next = NULL; ++ sprintf(new_entry->path, "%s%s", entry->path, MSUBDIR); ++ if (opt_verbose) ++ printf("Adding implicit multilib directory:\n\t%s\n", new_entry->path); ++ add_single_dir (new_entry, 0); ++ } ++ } ++#undef MSUBDIR ++#endif + } + + /* Add one directory to the list of directories to process. */ --- glibc-2.3.6.orig/debian/patches/local-all-ttyname-devfs.dpatch +++ glibc-2.3.6/debian/patches/local-all-ttyname-devfs.dpatch @@ -0,0 +1,243 @@ +#! /bin/sh -e + +# DP: Fixes ttyname and ttyname_r in the case of being used in a setuid +# DP: application on a devfs system. + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- sysdeps/unix/sysv/linux/ttyname_r.c~ 2001/07/06 04:56:13 1.14 ++++ sysdeps/unix/sysv/linux/ttyname_r.c 2002/01/06 02:27:48 +@@ -28,21 +28,24 @@ + + #include + +-static int getttyname_r (char *buf, size_t buflen, +- dev_t mydev, ino64_t myino, int save, ++static int getttyname_r (const char *prefix, char *buf, size_t buflen, ++ struct stat64 *mystat, int save, + int *dostat) internal_function; + + static int + internal_function +-getttyname_r (char *buf, size_t buflen, dev_t mydev, ino64_t myino, ++getttyname_r (const char *prefix, char *buf, size_t buflen, struct stat64 *mystat, + int save, int *dostat) + { + struct stat64 st; + DIR *dirstream; + struct dirent64 *d; +- size_t devlen = strlen (buf); ++ size_t devlen = strlen (prefix); + +- dirstream = __opendir (buf); ++ memcpy (buf, prefix, devlen); ++ buflen -= devlen; ++ ++ dirstream = __opendir (prefix); + if (dirstream == NULL) + { + *dostat = -1; +@@ -50,7 +53,7 @@ + } + + while ((d = __readdir64 (dirstream)) != NULL) +- if ((d->d_fileno == myino || *dostat) ++ if ((d->d_fileno == mystat->st_ino || *dostat) + && strcmp (d->d_name, "stdin") + && strcmp (d->d_name, "stdout") + && strcmp (d->d_name, "stderr")) +@@ -71,9 +74,9 @@ + + if (__xstat64 (_STAT_VER, buf, &st) == 0 + #ifdef _STATBUF_ST_RDEV +- && S_ISCHR (st.st_mode) && st.st_rdev == mydev ++ && S_ISCHR (st.st_mode) && st.st_rdev == mystat->st_rdev + #else +- && d->d_fileno == myino && st.st_dev == mydev ++ && d->d_fileno == mystat->st_ino && st.st_dev == mystat->st_dev + #endif + ) + { +@@ -99,7 +102,8 @@ + struct stat64 st, st1; + int dostat = 0; + int save = errno; +- int ret; ++ int ret, i; ++ const char *dirs[] = { "/dev/pts/", "/dev/vc/", "/dev/tts/", 0 }; + + /* Test for the absolute minimal size. This makes life easier inside + the loop. */ +@@ -139,50 +143,24 @@ + if (__fxstat64 (_STAT_VER, fd, &st) < 0) + return errno; + +- /* Prepare the result buffer. */ +- memcpy (buf, "/dev/pts/", sizeof ("/dev/pts/")); +- buflen -= sizeof ("/dev/pts/") - 1; ++ ret = ENOTTY; + +- if (__xstat64 (_STAT_VER, buf, &st1) == 0 && S_ISDIR (st1.st_mode)) +- { +-#ifdef _STATBUF_ST_RDEV +- ret = getttyname_r (buf, buflen, st.st_rdev, st.st_ino, save, +- &dostat); +-#else +- ret = getttyname_r (buf, buflen, st.st_dev, st.st_ino, save, +- &dostat); +-#endif +- } +- else ++ for (i = 0; ret && dirs[i]; i++) + { +- __set_errno (save); +- ret = ENOENT; ++ if (__xstat64 (_STAT_VER, dirs[i], &st1) == 0 && S_ISDIR (st1.st_mode)) ++ ret = getttyname_r (dirs[i], buf, buflen, &st, save, &dostat); ++ else ++ __set_errno (save); + } + ++ + if (ret && dostat != -1) +- { +- buf[sizeof ("/dev/") - 1] = '\0'; +- buflen += sizeof ("pts/") - 1; +-#ifdef _STATBUF_ST_RDEV +- ret = getttyname_r (buf, buflen, st.st_rdev, st.st_ino, save, +- &dostat); +-#else +- ret = getttyname_r (buf, buflen, st.st_dev, st.st_ino, save, +- &dostat); +-#endif +- } ++ ret = getttyname_r ("/dev/", buf, buflen, &st, save, &dostat); + + if (ret && dostat != -1) + { +- buf[sizeof ("/dev/") - 1] = '\0'; + dostat = 1; +-#ifdef _STATBUF_ST_RDEV +- ret = getttyname_r (buf, buflen, st.st_rdev, st.st_ino, +- save, &dostat); +-#else +- ret = getttyname_r (buf, buflen, st.st_dev, st.st_ino, +- save, &dostat); +-#endif ++ ret = getttyname_r ("/dev/", buf, buflen, &st, save, &dostat); + } + + return ret; +--- sysdeps/unix/sysv/linux/ttyname.c~ 2001/07/06 04:56:13 1.16 ++++ sysdeps/unix/sysv/linux/ttyname.c 2002/01/06 02:27:48 +@@ -30,8 +30,8 @@ + + char *__ttyname; + +-static char *getttyname (const char *dev, dev_t mydev, +- ino64_t myino, int save, int *dostat) ++static char *getttyname (const char *dev, struct stat64 *mystat, ++ int save, int *dostat) + internal_function; + + +@@ -39,7 +39,7 @@ + + static char * + internal_function +-getttyname (const char *dev, dev_t mydev, ino64_t myino, int save, int *dostat) ++getttyname (const char *dev, struct stat64 *mystat, int save, int *dostat) + { + static size_t namelen; + struct stat64 st; +@@ -55,7 +55,7 @@ + } + + while ((d = __readdir64 (dirstream)) != NULL) +- if ((d->d_fileno == myino || *dostat) ++ if ((d->d_fileno == mystat->st_ino || *dostat) + && strcmp (d->d_name, "stdin") + && strcmp (d->d_name, "stdout") + && strcmp (d->d_name, "stderr")) +@@ -78,9 +78,9 @@ + memcpy (&getttyname_name[devlen], d->d_name, dlen); + if (__xstat64 (_STAT_VER, getttyname_name, &st) == 0 + #ifdef _STATBUF_ST_RDEV +- && S_ISCHR (st.st_mode) && st.st_rdev == mydev ++ && S_ISCHR (st.st_mode) && st.st_rdev == mystat->st_rdev + #else +- && d->d_fileno == myino && st.st_dev == mydev ++ && d->d_fileno == mystat->st_ino && st.st_dev == mystat->st_dev + #endif + ) + { +@@ -110,9 +110,10 @@ + char procname[30]; + struct stat64 st, st1; + int dostat = 0; +- char *name; ++ char *name = NULL; + int save = errno; +- int len; ++ int len, i; ++ const char *dirs[] = { "/dev/pts", "/dev/vc", "/dev/tts", 0 }; + + if (!__isatty (fd)) + return NULL; +@@ -146,37 +147,21 @@ + if (__fxstat64 (_STAT_VER, fd, &st) < 0) + return NULL; + +- if (__xstat64 (_STAT_VER, "/dev/pts", &st1) == 0 && S_ISDIR (st1.st_mode)) ++ for (i = 0; !name && dirs[i]; i++) + { +-#ifdef _STATBUF_ST_RDEV +- name = getttyname ("/dev/pts", st.st_rdev, st.st_ino, save, &dostat); +-#else +- name = getttyname ("/dev/pts", st.st_dev, st.st_ino, save, &dostat); +-#endif ++ if (__xstat64 (_STAT_VER, dirs[i], &st1) == 0 && S_ISDIR (st1.st_mode)) ++ name = getttyname (dirs[i], &st, save, &dostat); ++ else ++ __set_errno (save); + } +- else +- { +- __set_errno (save); +- name = NULL; +- } +- ++ + if (!name && dostat != -1) +- { +-#ifdef _STATBUF_ST_RDEV +- name = getttyname ("/dev", st.st_rdev, st.st_ino, save, &dostat); +-#else +- name = getttyname ("/dev", st.st_dev, st.st_ino, save, &dostat); +-#endif +- } ++ name = getttyname ("/dev", &st, save, &dostat); + + if (!name && dostat != -1) + { + dostat = 1; +-#ifdef _STATBUF_ST_RDEV +- name = getttyname ("/dev", st.st_rdev, st.st_ino, save, &dostat); +-#else +- name = getttyname ("/dev", st.st_dev, st.st_ino, save, &dostat); +-#endif ++ name = getttyname ("/dev", &st, save, &dostat); + } + + return name; --- glibc-2.3.6.orig/debian/patches/local-all-asserth-decls.dpatch +++ glibc-2.3.6/debian/patches/local-all-asserth-decls.dpatch @@ -0,0 +1,49 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: /usr/include/assert.h +# DP: One must be allowed to include multiple times with different +# DP: values for NDEBUG, so the file is not protected against multiple +# DP: inclusions. Unfortunately this means that the declarations for +# DP: __assert_fail() and the like may occur multiple times in a compilation +# DP: unit, causing gcc to issue a batch of warnings. +# DP: I believe this can be fixed by protecting the declarations (but only +# DP: those declarations) against repetition. +# DP: Author: Jeroen T. Vermeulen +# DP: Upstream status: Not submitted +# DP: Status Details: Plan to submit +# DP: Date: 2003-01-01 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +--- assert/assert.h 2002-10-13 15:24:18.000000000 +0200 ++++ assert/assert.h 2002-10-13 15:23:57.000000000 +0200 +@@ -62,6 +62,8 @@ + + #else /* Not NDEBUG. */ + ++#ifndef _ASSERT_H_DECLS ++#define _ASSERT_H_DECLS + __BEGIN_DECLS + + /* This prints an "Assertion failed" message and aborts. */ +@@ -83,6 +85,7 @@ + + + __END_DECLS ++#endif /* Not _ASSERT_H_DECLS */ + + # define assert(expr) \ + (__ASSERT_VOID_CAST ((expr) ? 0 : \ --- glibc-2.3.6.orig/debian/patches/local-i386-libgcc-compat.dpatch +++ glibc-2.3.6/debian/patches/local-i386-libgcc-compat.dpatch @@ -0,0 +1,146 @@ +#! /bin/sh -e + +# DP: Description: libgcc-compat symbols for mips, sparc, alpha, & i386 +# DP: Author: Guido Guenther +# DP: Upstream status: Not submitted +# DP: Date: 2002-10-13, updated 2003-03-01, updated 2003-03-23 by gotom + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- /dev/null Sat Mar 16 18:32:44 2002 ++++ sysdeps/i386/libgcc-compat.c Sun Feb 16 01:43:47 2003 +@@ -0,0 +1,75 @@ ++/* pre-.hidden libgcc compatibility ++ Copyright (C) 2002 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ Contributed by Guido Guenther ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++ ++#include ++#include ++ ++#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6) ++ ++extern int32_t __cmpdi2 (int64_t, int64_t); ++int32_t __cmpdi2_internal (int64_t u, int64_t v) ++{ ++ return __cmpdi2 (u, v); ++} ++symbol_version (__cmpdi2_internal, __cmpdi2, GLIBC_2.0); ++ ++ ++extern int32_t __ucmpdi2 (int64_t, int64_t); ++int32_t __ucmpdi2_internal (int64_t u, int64_t v) ++{ ++ return __ucmpdi2 (u, v); ++} ++symbol_version (__ucmpdi2_internal, __ucmpdi2, GLIBC_2.0); ++ ++ ++extern int64_t __fixunsdfdi (double); ++int64_t __fixunsdfdi_internal (double d) ++{ ++ return __fixunsdfdi (d); ++} ++symbol_version (__fixunsdfdi_internal, __fixunsdfdi, GLIBC_2.0); ++ ++extern int64_t __fixunssfdi (float); ++int64_t __fixunssfdi_internal (float d) ++{ ++ return __fixunssfdi (d); ++} ++ ++symbol_version (__fixunsfdi_internal, __fixunsfdi, GLIBC_2.0); ++ ++typedef float XFtype __attribute__ ((mode (XF))); ++ ++extern int64_t __fixunsxfdi (XFtype); ++int64_t __fixunsxfdi_internal (XFtype d) ++{ ++ return __fixunsxfdi (d); ++} ++ ++symbol_version (__fixunsxfdi_internal, __fixunsxfdi, GLIBC_2.0); ++ ++extern double __floatdidf (int64_t); ++double __floatdidf_internal (int64_t u) ++{ ++ return __floatdidf (u); ++} ++symbol_version (__floatdidf_internal, __floatdidf, GLIBC_2.0); ++ ++#endif +Index: sysdeps/i386/Makefile +=================================================================== +RCS file: /cvs/glibc/libc/sysdeps/i386/Makefile,v +retrieving revision 1.14 +diff -u -u -r1.14 Makefile +--- sysdeps/i386/Makefile 19 Sep 2002 06:46:06 -0000 1.14 ++++ sysdeps/i386/Makefile 16 Feb 2003 11:33:41 -0000 +@@ -20,3 +20,11 @@ + CFLAGS-dl-load.c += -Wno-unused + CFLAGS-dl-reloc.c += -Wno-unused + endif ++ ++ifeq ($(subdir),csu) ++ifeq (yes,$(build-shared)) ++# Compatibility ++sysdep_routines += libgcc-compat ++shared-only-routines += libgcc-compat ++endif ++endif +Index: sysdeps/i386/Dist +=================================================================== +RCS file: /cvs/glibc/libc/sysdeps/i386/Dist,v +retrieving revision 1.4 +diff -u -u -r1.4 Dist +--- sysdeps/i386/Dist 28 Aug 2002 08:24:48 -0000 1.4 ++++ sysdeps/i386/Dist 16 Feb 2003 11:33:47 -0000 +@@ -2,3 +2,4 @@ + machine-gmon.h + bp-asm.h + bits/link.h ++libgcc-compat.c +Index: sysdeps/i386/Versions +=================================================================== +RCS file: /cvs/glibc/libc/sysdeps/i386/Versions,v +retrieving revision 1.3 +diff -u -u -r1.3 Versions +--- sysdeps/i386/Versions 17 May 1999 17:23:56 -0000 1.3 ++++ sysdeps/i386/Versions 16 Feb 2003 11:34:17 -0000 +@@ -2,6 +2,9 @@ + GLIBC_2.0 { + # Functions from libgcc. + __divdi3; __moddi3; __udivdi3; __umoddi3; ++ __cmpdi2; __ucmpdi2; ++ __fixunsdfdi; __fixunssfdi; __fixunsxfdi; ++ __floatdidf; + } + GLIBC_2.1 { + # global variable --- glibc-2.3.6.orig/debian/patches/local-sparc-libgcc-compat.dpatch +++ glibc-2.3.6/debian/patches/local-sparc-libgcc-compat.dpatch @@ -0,0 +1,187 @@ +#! /bin/sh -e + +# DP: Description: libgcc-compat symbols for mips, sparc, alpha, & i386 +# DP: Author: Guido Guenther +# DP: Upstream status: Not submitted +# DP: Date: 2002-10-13, updated 2003-03-01, updated 2003-03-23 by gotom + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- /dev/null Sat Mar 16 18:32:44 2002 ++++ sysdeps/sparc/sparc32/libgcc-compat.c Fri Feb 7 00:29:23 2003 +@@ -0,0 +1,121 @@ ++/* pre-.hidden libgcc compatibility ++ Copyright (C) 2002 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ Contributed by Guido Guenther ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++ ++#include ++#include ++ ++#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6) ++ ++extern int64_t __ashldi3 (int64_t, int32_t); ++int64_t __ashldi3_internal (int64_t u, int32_t b) ++{ ++ return __ashldi3 (u, b); ++} ++symbol_version (__ashldi3_internal, __ashldi3, GLIBC_2.0); ++ ++ ++extern int64_t __ashrdi3 (int64_t, int32_t); ++int64_t __ashrdi3_internal (int64_t u, int32_t b) ++{ ++ return __ashrdi3 (u, b); ++} ++symbol_version (__ashrdi3_internal, __ashrdi3, GLIBC_2.0); ++ ++ ++extern int64_t __lshrdi3 (int64_t, int32_t); ++int64_t __lshrdi3_internal (int64_t u, int32_t b) ++{ ++ return __lshrdi3 (u, b); ++} ++symbol_version (__lshrdi3_internal, __lshrdi3, GLIBC_2.0); ++ ++extern int32_t __cmpdi2 (int64_t, int64_t); ++int32_t __cmpdi2_internal (int64_t u, int64_t v) ++{ ++ return __cmpdi2 (u, v); ++} ++symbol_version (__cmpdi2_internal, __cmpdi2, GLIBC_2.0); ++ ++ ++extern int32_t __ucmpdi2 (int64_t, int64_t); ++int32_t __ucmpdi2_internal (int64_t u, int64_t v) ++{ ++ return __ucmpdi2 (u, v); ++} ++symbol_version (__ucmpdi2_internal, __ucmpdi2, GLIBC_2.0); ++ ++ ++extern int64_t __fixdfdi (double); ++int64_t __fixdfdi_internal (double d) ++{ ++ return __fixdfdi (d); ++} ++symbol_version (__fixdfdi_internal, __fixdfdi, GLIBC_2.0); ++ ++ ++extern int64_t __fixsfdi (float); ++int64_t __fixsfdi_internal (float d) ++{ ++ return __fixsfdi (d); ++} ++symbol_version (__fixsfdi_internal, __fixsfdi, GLIBC_2.0); ++ ++ ++extern int64_t __fixunsdfdi (double); ++int64_t __fixunsdfdi_internal (double d) ++{ ++ return __fixunsdfdi (d); ++} ++symbol_version (__fixunsdfdi_internal, __fixunsdfdi, GLIBC_2.0); ++ ++extern int64_t __fixunssfdi (float); ++int64_t __fixunssfdi_internal (float d) ++{ ++ return __fixunssfdi (d); ++} ++ ++symbol_version (__fixunssfdi_internal, __fixunssfdi, GLIBC_2.0); ++ ++ ++extern double __floatdidf (int64_t); ++double __floatdidf_internal (int64_t u) ++{ ++ return __floatdidf (u); ++} ++symbol_version (__floatdidf_internal, __floatdidf, GLIBC_2.0); ++ ++ ++extern float floatdisf (int64_t); ++float __floatdisf_internal (int64_t u) ++{ ++ return __floatdisf (u); ++} ++symbol_version (__floatdisf_internal, __floatdisf, GLIBC_2.0); ++ ++ ++extern int64_t __muldi3 (int64_t, int64_t); ++int64_t __muldi3_internal (int64_t u, int64_t v) ++{ ++ return __muldi3 (u, v); ++} ++symbol_version (__muldi3_internal, __muldi3, GLIBC_2.0); ++ ++#endif +--- sysdeps/sparc/sparc32/Makefile 6 Jul 2001 04:56:04 -0000 1.5 ++++ sysdeps/sparc/sparc32/Makefile 6 Feb 2003 23:32:15 -0000 +@@ -20,6 +20,14 @@ + sysdep_routines = dotmul umul $(divrem) alloca + endif # gnulib + ++ifeq ($(subdir),csu) ++ifeq (yes,$(build-shared)) ++# Compatibility ++sysdep_routines += libgcc-compat ++shared-only-routines += libgcc-compat ++endif ++endif ++ + # We distribute these files, even though they are generated, + # so as to avoid the need for a functioning m4 to build the library. + divrem := sdiv udiv rem urem +Index: sysdeps/sparc/sparc32/Dist +=================================================================== +RCS file: /cvs/glibc/libc/sysdeps/sparc/sparc32/Dist,v +retrieving revision 1.4 +diff -u -u -r1.4 Dist +--- sysdeps/sparc/sparc32/Dist 9 Oct 2000 00:39:58 -0000 1.4 ++++ sysdeps/sparc/sparc32/Dist 6 Feb 2003 23:51:09 -0000 +@@ -7,3 +7,4 @@ + urem.S + alloca.S + ieee754.h ++libgcc-compat.c +--- sysdeps/sparc/sparc32/Versions.orig 2003-02-07 07:46:20.000000000 -0500 ++++ sysdeps/sparc/sparc32/Versions 2003-02-07 07:46:58.000000000 -0500 +@@ -1,5 +1,9 @@ + libc { + GLIBC_2.0 { + .div; .mul; .rem; .udiv; .umul; .urem; ++ __divdi3; __moddi3; __udivdi3; __umoddi3; __muldi3; ++ __ashldi3; __ashrdi3; __lshrdi3; __cmpdi2; __ucmpdi2; ++ __fixdfdi; __fixsfdi; __fixunsdfdi; __fixunssfdi; ++ __floatdidf; __floatdisf; + } + } + GLIBC_2.1 { + # global variable --- glibc-2.3.6.orig/debian/patches/local-all-ldconfig-tls.dpatch +++ glibc-2.3.6/debian/patches/local-all-ldconfig-tls.dpatch @@ -0,0 +1,43 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Make ldconfig prefer TLS-capable directories. +# DP: Author: Daniel Jacobowitz +# DP: Upstream status: Not submitted +# DP: Status Details: This is too much a hack to submit, but it's an +# improvement. +# DP: Date: 2003-10-24 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +--- glibc-2.3.2/elf/cache.c.orig 2003-10-24 19:57:55.000000000 -0400 ++++ glibc-2.3.2/elf/cache.c 2003-10-24 20:06:06.000000000 -0400 +@@ -246,6 +246,16 @@ int compare (const struct cache_entry *e + return 1; + else if (e1->flags > e2->flags) + return -1; ++#ifdef USE_TLS ++ /* ld.so doesn't sort by "most specific hwcap". It searches based on ++ the numbering of the bits, and TLS takes precedence. This still ++ doesn't bring us in line with ld.so, but it does bring us closer - ++ close enough for Debian's current needs. */ ++ else if ((e2->hwcap & (1ULL << 63)) && ! (e1->hwcap & (1ULL << 63))) ++ return 1; ++ else if ((e1->hwcap & (1ULL << 63)) && ! (e2->hwcap & (1ULL << 63))) ++ return -1; ++#endif + /* Sort by most specific hwcap. */ + else if (e2->bits_hwcap > e1->bits_hwcap) + return 1; --- glibc-2.3.6.orig/debian/patches/local-all-localedef-fix-trampoline.dpatch +++ glibc-2.3.6/debian/patches/local-all-localedef-fix-trampoline.dpatch @@ -0,0 +1,68 @@ +#! /bin/sh -e + +# DP: Description: Fix localedef segfault when run under exec-shield, +# PaX or similar. (#231438, #198099) +# DP: Dpatch Author: James Troup +# DP: Patch Author: (probably) Jakub Jelinek +# DP: Upstream status: Unknown +# DP: Status Details: Unknown +# DP: Date: 2004-03-16 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- glibc-2.3.3-net/locale/programs/3level.h 16 Jun 2003 07:19:09 -0000 1.1.1.5 ++++ glibc-2.3.3-redhat/locale/programs/3level.h 16 Jun 2003 09:32:40 -0000 1.4 +@@ -204,6 +204,42 @@ CONCAT(TABLE,_iterate) (struct TABLE *t, + } + } + } ++ ++/* GCC ATM seems to do a poor job with pointers to nested functions passed ++ to inlined functions. Help it a little bit with this hack. */ ++#define wchead_table_iterate(tp, fn) \ ++do \ ++ { \ ++ struct wchead_table *t = (tp); \ ++ uint32_t index1; \ ++ for (index1 = 0; index1 < t->level1_size; index1++) \ ++ { \ ++ uint32_t lookup1 = t->level1[index1]; \ ++ if (lookup1 != ((uint32_t) ~0)) \ ++ { \ ++ uint32_t lookup1_shifted = lookup1 << t->q; \ ++ uint32_t index2; \ ++ for (index2 = 0; index2 < (1 << t->q); index2++) \ ++ { \ ++ uint32_t lookup2 = t->level2[index2 + lookup1_shifted]; \ ++ if (lookup2 != ((uint32_t) ~0)) \ ++ { \ ++ uint32_t lookup2_shifted = lookup2 << t->p; \ ++ uint32_t index3; \ ++ for (index3 = 0; index3 < (1 << t->p); index3++) \ ++ { \ ++ struct element_t *lookup3 \ ++ = t->level3[index3 + lookup2_shifted]; \ ++ if (lookup3 != NULL) \ ++ fn ((((index1 << t->q) + index2) << t->p) + index3, \ ++ lookup3); \ ++ } \ ++ } \ ++ } \ ++ } \ ++ } \ ++ } while (0) ++ + #endif + + #ifndef NO_FINALIZE --- glibc-2.3.6.orig/debian/patches/submitted-hppa-drop-utimes.dpatch +++ glibc-2.3.6/debian/patches/submitted-hppa-drop-utimes.dpatch @@ -0,0 +1,50 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Don't define __ASSUME_UTIMES for hppa +# DP: Related bugs: #284449 +# DP: Dpatch author: Randolph Chung +# DP: Patch author: Randolph Chung +# DP: Upstream status: Pending +# DP: Status Details: +# DP: Date: Thu, 09 Dec 2004 12:01:12 -0800, (Updated 2005-01-02 gotom) + + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +2005-01-02 GOTO Masanori + + * sysdeps/unix/sysv/linux/kernel-features.h: Regenerated. + +2004-12-09 Randolph Chung + + * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_UTIMES): Don't + define for hppa, which doesn't support this syscall. + +Index: sysdeps/unix/sysv/linux/kernel-features.h +=================================================================== +RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/kernel-features.h,v +retrieving revision 1.81 +diff -u -r1.81 kernel-features.h +--- glibc-20041227/sysdeps/unix/sysv/linux/kernel-features.h 24 Nov 2004 04:36:11 -0000 1.81 ++++ glibc-20041227/sysdeps/unix/sysv/linux/kernel-features.h 2 Jan 2005 12:19:13 -0000 +@@ -361,7 +361,7 @@ + /* The utimes syscall has been available for some architectures + forever. For x86 it was introduced after 2.5.75, for x86-64 in + 2.6.0-test3. */ +-#if defined __alpha__ || defined __ia64__ || defined __hppa__ \ ++#if defined __alpha__ || defined __ia64__ \ + || defined __sparc__ \ + || (__LINUX_KERNEL_VERSION > 132427 && defined __i386__) \ + || (__LINUX_KERNEL_VERSION > 132609 && defined __x86_64__) \ --- glibc-2.3.6.orig/debian/patches/local-i386-linuxthreads-sizefix.dpatch +++ glibc-2.3.6/debian/patches/local-i386-linuxthreads-sizefix.dpatch @@ -0,0 +1,183 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Align TLS_PRE_TCB_SIZE between linuxthreads and nptl. +# The patch is based on fedora-20031105. +# DP: Related bugs: #292673 +# DP: Dpatch author: GOTO Masanori +# DP: Patch author: Jakub Jelinek +# DP: Upstream status: Debian-Specific +# DP: Status Details: Currently IA-64 part is applied. +# DP: Date: 2005-04-09, 2005-04-16 updated by gotom + +PATCHLEVEL=1 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +2003-09-02 Jakub Jelinek + + * sysdeps/sparc/tls.h (TLS_TCB_SIZE): If in ld.so and NPTL struct + pthread is bigger than struct _pthread_descr_struct, use NPTL struct + pthread size. + +2003-07-22 Jakub Jelinek + + * sysdeps/alpha/tls.h (TLS_INIT_TCB_SIZE, TLS_TCB_SIZE): Change to 0. + (TLS_INIT_TCB_ALIGN, TLS_TCB_ALIGN): Alignment of struct + _pthread_descr_struct. + (TLS_PRE_TCB_SIZE): Add sizeof (tcbhead_t) and pad to align. + If in ld.so and NPTL struct pthread is bigger than struct + _pthread_descr_struct, use NPTL struct pthread size. + (TLS_TCB_OFFSET): Define. + (INSTALL_DTV, INSTALL_NEW_DTV, GET_DTV, TLS_INIT_TP, THREAD_DTV, + THREAD_SELF, INIT_THREAD_SELF): Changed to match NPTL tls.h + definitions. + * sysdeps/i386/tls.h (TLS_TCB_SIZE): If in ld.so and NPTL struct + pthread is bigger than struct _pthread_descr_struct, use NPTL struct + pthread size. + * sysdeps/ia64/tls.h (TLS_PRE_TCB_SIZE): Likewise. + * sysdeps/powerpc/tls.h (TLS_PRE_TCB_SIZE): Likewise. + * sysdeps/s390/tls.h (TLS_TCB_SIZE): Likewise. + * sysdeps/sh/tls.h (TLS_PRE_TCB_SIZE): Likewise. + * sysdeps/x86_64/tls.h (TLS_TCB_SIZE): Likewise. + * sysdeps/pthread/Makefile (gen-as-const-headers): Add + nptl-struct-pthread.sym if nptl tree is present. + (before-compile): Add $(common-objpfx)nptl-struct-pthread.h + if nptl tree is not present. + (common-generated): Add nptl-struct-pthread.h. + ($(common-objpfx)nptl-struct-pthread.h): New rule. + * sysdeps/pthread/nptl-struct-pthread.sym: New file. + +2003-07-22 Jakub Jelinek + + * descr.h: Don't include lowlevellock.h, pthreaddef.h and dl-sysdep.h + if __need_struct_pthread_size, instead define lll_lock_t. + + +--- glibc-2.3.2-net/linuxthreads/Makefile 4 Oct 2003 11:52:58 -0000 1.1.1.53 ++++ glibc-2.3.2-redhat/linuxthreads/Makefile 4 Oct 2003 12:06:23 -0000 1.32 +@@ -244,15 +244,18 @@ $(addprefix $(objpfx), \ + $(filter-out $(tests-static) $(tests-reverse) unload, \ + $(tests) $(test-srcs))): $(objpfx)libpthread.so \ + $(objpfx)libpthread_nonshared.a +-# $(objpfx)../libc.so is used instead of $(common-objpfx)libc.so, ++# $(objpfx)linklibc.so is used instead of $(common-objpfx)libc.so, + # since otherwise libpthread.so comes before libc.so when linking. + $(addprefix $(objpfx), $(tests-reverse)): \ +- $(objpfx)../libc.so $(objpfx)libpthread.so \ ++ $(objpfx)linklibc.so $(objpfx)libpthread.so \ + $(objpfx)libpthread_nonshared.a + $(objpfx)../libc.so: $(common-objpfx)libc.so ; + $(addprefix $(objpfx),$(librt-tests)): $(common-objpfx)rt/librt.so + $(objpfx)unload: $(common-objpfx)dlfcn/libdl.so + $(objpfx)unload.out: $(objpfx)libpthread.so $(objpfx)libpthread_nonshared.a ++$(objpfx)linklibc.so: $(common-objpfx)libc.so ++ ln -s ../libc.so $@ ++generated += libclink.so + else + $(addprefix $(objpfx),$(tests) $(test-srcs)): $(objpfx)libpthread.a + $(addprefix $(objpfx),$(librt-tests)): $(common-objpfx)rt/librt.a +--- glibc-2.3.2-net/linuxthreads/sysdeps/i386/tls.h 13 May 2003 19:51:58 -0000 1.1.1.18 ++++ glibc-2.3.2-redhat/linuxthreads/sysdeps/i386/tls.h 28 Jul 2003 10:42:00 -0000 1.14 +@@ -81,7 +81,14 @@ typedef struct + # define TLS_INIT_TCB_ALIGN __alignof__ (tcbhead_t) + + /* This is the size of the TCB. */ +-# define TLS_TCB_SIZE sizeof (struct _pthread_descr_struct) ++# ifndef IS_IN_rtld ++# define TLS_TCB_SIZE sizeof (struct _pthread_descr_struct) ++# else ++# include ++# define TLS_TCB_SIZE \ ++ (sizeof (struct _pthread_descr_struct) > NPTL_STRUCT_PTHREAD_SIZE \ ++ ? sizeof (struct _pthread_descr_struct) : NPTL_STRUCT_PTHREAD_SIZE) ++# endif + + /* Alignment requirements for the TCB. */ + # define TLS_TCB_ALIGN __alignof__ (struct _pthread_descr_struct) +--- glibc-2.3.2-net/linuxthreads/sysdeps/pthread/Makefile 14 Aug 2003 13:32:49 -0000 1.1.1.6 ++++ glibc-2.3.2-redhat/linuxthreads/sysdeps/pthread/Makefile 14 Aug 2003 14:10:45 -0000 1.8 +@@ -12,3 +12,15 @@ endif + ifeq ($(subdir),posix) + CFLAGS-confstr.c += -DLIBPTHREAD_VERSION="\"$(shell sed 's/\(.*\) by .*/\1/' ../linuxthreads/Banner)\"" + endif ++ ++ifeq ($(subdir),csu) ++# Find out the size of NPTL struct pthread ++ifneq (,$(wildcard $(..)nptl/descr.h)) ++gen-as-const-headers += nptl-struct-pthread.sym ++else ++before-compile += $(common-objpfx)nptl-struct-pthread.h ++common-generated += nptl-struct-pthread.h ++$(common-objpfx)nptl-struct-pthread.h: ++ @echo '#define NPTL_STRUCT_PTHREAD_SIZE 0' > $@ ++endif ++endif +--- glibc-2.3.2-net/linuxthreads/sysdeps/pthread/nptl-struct-pthread.sym 1 Jan 1970 00:00:00 -0000 ++++ glibc-2.3.2-redhat/linuxthreads/sysdeps/pthread/nptl-struct-pthread.sym 28 Jul 2003 10:42:00 -0000 1.1 +@@ -0,0 +1,13 @@ ++#ifdef HAVE_TLS_SUPPORT ++# ifndef HAVE_FORCED_UNWIND ++# define HAVE_FORCED_UNWIND 1 ++# endif ++# define __need_struct_pthread_size ++# include ++#endif ++ ++-- ++ ++#ifdef HAVE_TLS_SUPPORT ++NPTL_STRUCT_PTHREAD_SIZE sizeof (struct pthread) ++#endif +--- glibc-2.3.2/nptl/Makefile 2005-04-16 23:01:34.000000000 +0900 ++++ glibc-2.3.2-gotom/nptl/Makefile 2005-04-16 23:03:14.000000000 +0900 +@@ -499,15 +499,19 @@ + $(tests) $(xtests) $(test-srcs))): $(objpfx)libpthread.so \ + $(objpfx)libpthread_nonshared.a + $(objpfx)tst-unload: $(common-objpfx)dlfcn/libdl.so +-# $(objpfx)../libc.so is used instead of $(common-objpfx)libc.so, ++# $(objpfx)linklibc.so is used instead of $(common-objpfx)libc.so, + # since otherwise libpthread.so comes before libc.so when linking. + $(addprefix $(objpfx), $(tests-reverse)): \ +- $(objpfx)../libc.so $(objpfx)libpthread.so \ ++ $(objpfx)linklibc.so $(objpfx)libpthread.so \ + $(objpfx)libpthread_nonshared.a + $(objpfx)../libc.so: $(common-objpfx)libc.so ; + $(addprefix $(objpfx),$(tests-static) $(xtests-static)): $(objpfx)libpthread.a + + $(objpfx)tst-atfork2.out: $(objpfx)tst-atfork2mod.so ++ ++$(objpfx)linklibc.so: $(common-objpfx)libc.so ++ ln -s ../libc.so $@ ++generated += libclink.so + else + $(addprefix $(objpfx),$(tests) $(test-srcs)): $(objpfx)libpthread.a + endif +--- glibc-2.3.2-net/nptl/descr.h 28 Jul 2003 10:05:59 -0000 1.1.1.16 ++++ glibc-2.3.2-redhat/nptl/descr.h 28 Jul 2003 10:42:00 -0000 1.2 +@@ -27,9 +27,13 @@ + #include + #include + #include ++#ifdef __need_struct_pthread_size ++#define lll_lock_t int ++#else + #include + #include + #include ++#endif + #include "../nptl_db/thread_db.h" + #include + #ifdef HAVE_FORCED_UNWIND --- glibc-2.3.6.orig/debian/patches/submitted-hppa-sysdeps.dpatch +++ glibc-2.3.6/debian/patches/submitted-hppa-sysdeps.dpatch @@ -0,0 +1,950 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: @DESCRIPTION@ +# DP: Related bugs: +# DP: Dpatch author: +# DP: Patch author: +# DP: Upstream status: [In CVS | Debian-Specific | Pending | Not submitted ] +# DP: Status Details: +# DP: Date: @DATE@ + +PATCHLEVEL=1 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +--- libc-orig/sysdeps/generic/dl-sysdep.c 2004-12-14 15:30:41.000000000 -0500 ++++ libc/sysdeps/generic/dl-sysdep.c 2004-12-14 15:30:29.000000000 -0500 +@@ -89,7 +89,7 @@ + #else + uid_t uid = 0; + gid_t gid = 0; +- unsigned int seen = 0; ++ int seen = 0; + # define set_seen_secure() (seen = -1) + # ifdef HAVE_AUX_XID + # define set_seen(tag) (tag) /* Evaluate for the side effects. */ +--- libc-orig/sysdeps/hppa/atomicity.h 1969-12-31 19:00:00.000000000 -0500 ++++ libc/sysdeps/hppa/atomicity.h 2003-12-08 21:25:00.000000000 -0500 +@@ -0,0 +1,55 @@ ++/* Low-level functions for atomic operations. HP-PARISC version. ++ Copyright (C) 1997,2001 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 ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#ifndef _ATOMICITY_H ++#define _ATOMICITY_H 1 ++ ++#include ++ ++#warning stub atomicity functions are not atomic ++#warning CAO This will get implemented soon ++ ++static inline int ++__attribute__ ((unused)) ++exchange_and_add (volatile uint32_t *mem, int val) ++{ ++ int result = *mem; ++ *mem += val; ++ return result; ++} ++ ++static inline void ++__attribute__ ((unused)) ++atomic_add (volatile uint32_t *mem, int val) ++{ ++ *mem += val; ++} ++ ++static inline int ++__attribute__ ((unused)) ++compare_and_swap (volatile long int *p, long int oldval, long int newval) ++{ ++ if (*p != oldval) ++ return 0; ++ ++ *p = newval; ++ return 1; ++} ++ ++#endif /* atomicity.h */ +--- libc-orig/sysdeps/hppa/bits/link.h 2005-01-28 14:39:49.000000000 -0500 ++++ libc/sysdeps/hppa/bits/link.h 2005-03-01 13:42:58.000000000 -0500 +@@ -0,0 +1,63 @@ ++/* Copyright (C) 2005 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 ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#ifndef _LINK_H ++# error "Never include directly; use instead." ++#endif ++ ++/* Registers for entry into PLT on hppa. */ ++typedef struct La_hppa_regs ++{ ++ uint32_t lr_r8; ++ uint32_t lr_r9; ++ uint32_t lr_r10; ++ uint32_t lr_r11; ++ uint32_t lr_gr [8]; ++ double lr_fr [8]; ++ uint32_t lr_unat; ++ uint32_t lr_sp; ++} La_hppa_regs; ++ ++/* Return values for calls from PLT on hppa. */ ++typedef struct La_hppa_retval ++{ ++ uint32_t lrv_r8; ++ uint32_t lrv_r9; ++ uint32_t lrv_r10; ++ uint32_t lrv_r11; ++ double lr_fr [8]; ++} La_hppa_retval; ++ ++ ++__BEGIN_DECLS ++ ++extern Elf32_Addr la_hppa_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx, ++ uintptr_t *__refcook, ++ uintptr_t *__defcook, ++ La_hppa_regs *__regs, ++ unsigned int *__flags, ++ const char *__symname, ++ long int *__framesizep); ++extern unsigned int la_hppa_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx, ++ uintptr_t *__refcook, ++ uintptr_t *__defcook, ++ const La_hppa_regs *__inregs, ++ La_hppa_retval *__outregs, ++ const char *symname); ++ ++__END_DECLS +--- libc-orig/sysdeps/hppa/dl-trampoline.S 1969-12-31 19:00:00.000000000 -0500 ++++ libc/sysdeps/hppa/dl-trampoline.S 2005-04-05 15:51:55.000000000 -0400 +@@ -0,0 +1,194 @@ ++/* PLT trampolines. hppa version. ++ Copyright (C) 2005 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 ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include ++ ++/* This code gets called via the .plt stub, and is used in ++ dl-runtime.c to call the `_dl_fixup' function and then redirect ++ to the address it returns. `_dl_fixup' takes two ++ arguments, however `_dl_profile_fixup' takes a number of ++ parameters for use with library auditing (LA). ++ ++ WARNING: This template is also used by gcc's __cffc, and expects ++ that the "bl" for _dl_runtime_resolve exist at a particular offset. ++ Do not change this template without changing gcc, while the prefix ++ "bl" should fix everything so gcc finds the right spot, it will ++ slow down __cffc when it attempts to call fixup to resolve function ++ descriptor references. Please refer to gcc/gcc/config/pa/fptr.c ++ ++ Enter with r19 = reloc offset, r20 = got-8, r21 = fixup ltp. */ ++ ++ /* FAKE bl to provide gcc's __cffc with fixup loc. */ ++ .text ++ bl _dl_fixup, %r2 ++ .text ++ .align 4 ++ .global _dl_runtime_resolve ++ .type _dl_runtime_resolve,@function ++_dl_runtime_resolve: ++ .PROC ++ .CALLINFO FRAME=128,CALLS,SAVE_RP,ENTRY_GR=3 ++ .ENTRY ++ /* SAVE_RP says we do */ ++ stw %rp, -20(%sp) ++ ++ /* Save static link register */ ++ stw %r29,-16(%sp) ++ /* Save argument registers in the call stack frame. */ ++ stw %r26,-36(%sp) ++ stw %r25,-40(%sp) ++ stw %r24,-44(%sp) ++ stw %r23,-48(%sp) ++ ++ /* Build a call frame, and save structure pointer. */ ++ copy %sp, %r26 /* Copy previous sp */ ++ /* Save function result address (on entry) */ ++ stwm %r28,128(%sp) ++ ++ /* Save floating point argument registers */ ++ ldo -56(%sp),%r26 ++ fstd,ma %fr4,-8(%r26) ++ fstd,ma %fr5,-8(%r26) ++ fstd,ma %fr6,-8(%r26) ++ fstd %fr7,0(%r26) ++ ++ /* Fillin some frame info to follow ABI */ ++ stw %r21,-32(%sp) /* PIC register value */ ++ stw %r26,-4(%sp) /* Previous sp */ ++ ++ /* Set up args to fixup func, needs only two arguments */ ++ ldw 8+4(%r20),%r26 /* (1) got[1] == struct link_map */ ++ copy %r19,%r25 /* (2) reloc offset */ ++ ++ /* Call the real address resolver. */ ++ bl _dl_fixup,%rp ++ copy %r21,%r19 /* set fixup func ltp */ ++ ++ /* Load up the returned func descriptor */ ++ copy %ret0, %r22 ++ copy %ret1, %r19 ++ ++ /* Reload arguments fp args */ ++ ldo -80(%sp),%r26 ++ fldd,ma 8(%r26),%fr7 ++ fldd,ma 8(%r26),%fr6 ++ fldd,ma 8(%r26),%fr5 ++ fldd 0(%r26),%fr4 ++ ++ /* Adjust sp, and restore function result address*/ ++ ldwm -128(%sp),%r28 ++ ++ /* Reload static link register */ ++ ldw -16(%sp),%r29 ++ /* Reload general args */ ++ ldw -36(%sp),%r26 ++ ldw -40(%sp),%r25 ++ ldw -44(%sp),%r24 ++ ldw -48(%sp),%r23 ++ ++ /* Jump to new function, but return to previous function */ ++ bv %r0(%r22) ++ ldw -20(%sp),%rp ++ .EXIT ++ .PROCEND ++ .size _dl_runtime_resolve, . - _dl_runtime_resolve ++ ++ ++ /* FIXME: ++ Need to largely rewrite the bottom half of ++ this code in order to save and restore the ++ LA struct from the stack along with ++ interpreted parameters. ++ */ ++ .text ++ .align 4 ++ .global _dl_runtime_profile ++ .type _dl_runtime_profile,@function ++_dl_runtime_profile: ++ .PROC ++ .CALLINFO FRAME=128,CALLS,SAVE_RP,ENTRY_GR=3 ++ .ENTRY ++ ++ /* SAVE_RP says we do */ ++ stw %rp, -20(%sp) ++ ++ /* Save static link register */ ++ stw %r29,-16(%sp) ++ /* Save argument registers in the call stack frame. */ ++ stw %r26,-36(%sp) ++ stw %r25,-40(%sp) ++ stw %r24,-44(%sp) ++ stw %r23,-48(%sp) ++ ++ /* Build a call frame, and save structure pointer. */ ++ copy %sp, %r26 /* Copy previous sp */ ++ /* Save function result address (on entry) */ ++ stwm %r28,128(%sp) ++ ++ /* Save floating point argument registers */ ++ ldo -56(%sp),%r26 ++ fstd,ma %fr4,-8(%r26) ++ fstd,ma %fr5,-8(%r26) ++ fstd,ma %fr6,-8(%r26) ++ fstd %fr7,0(%r26) ++ ++ /* Fillin some frame info to follow ABI */ ++ stw %r21,-32(%sp) /* PIC register value */ ++ stw %r26,-4(%sp) /* Previous sp */ ++ ++ /* Set up args to fixup func, needs three arguments */ ++ ldw 8+4(%r20),%r26 /* (1) got[1] == struct link_map */ ++ copy %r19,%r25 /* (2) reloc offset */ ++ copy %rp,%r24 /* (3) profile_fixup needs rp */ ++ ++ /* Call the real address resolver. */ ++ bl _dl_profile_fixup,%rp ++ copy %r21,%r19 /* set fixup func ltp */ ++ ++ /* Load up the returned func descriptor */ ++ copy %ret0, %r22 ++ copy %ret1, %r19 ++ ++ /* Reload arguments fp args */ ++ ldo -80(%sp),%r26 ++ fldd,ma 8(%r26),%fr7 ++ fldd,ma 8(%r26),%fr6 ++ fldd,ma 8(%r26),%fr5 ++ fldd 0(%r26),%fr4 ++ ++ /* Adjust sp, and restore function result address*/ ++ ldwm -128(%sp),%r28 ++ ++ /* Reload static link register */ ++ ldw -16(%sp),%r29 ++ /* Reload general args */ ++ ldw -36(%sp),%r26 ++ ldw -40(%sp),%r25 ++ ldw -44(%sp),%r24 ++ ldw -48(%sp),%r23 ++ ++ /* Jump to new function, but return to previous function */ ++ bv %r0(%r22) ++ ldw -20(%sp),%rp ++ .EXIT ++ .PROCEND ++ .size _dl_runtime_profile, . - _dl_runtime_profile ++ ++ ++ +--- libc-orig/sysdeps/hppa/fpu/libm-test-ulps 2003-03-22 19:52:10.000000000 -0500 ++++ libc/sysdeps/hppa/fpu/libm-test-ulps 2004-09-29 23:50:16.000000000 -0400 +@@ -1,6 +1,9 @@ + # Begin of automatic generation + + # atan2 ++Test "atan2 (-0.00756827042671106339, -.001792735857538728036) == -1.80338464113663849327153994380": ++float: 6 ++ifloat: 6 + Test "atan2 (-0.75, -1.0) == -2.49809154479650885165983415456218025": + float: 3 + ifloat: 3 +@@ -258,9 +261,6 @@ + ifloat: 1 + + # ctan +-Test "Real part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i": +-double: 1 +-idouble: 1 + Test "Imaginary part of: ctan (0.75 + 1.25 i) == 0.160807785916206426725166058173438663 + 0.975363285031235646193581759755216379 i": + double: 1 + idouble: 1 +@@ -479,6 +479,11 @@ + float: 1 + ifloat: 1 + ++# lround ++Test "lround (1071930.0008) == 1071930": ++double: -214511494 ++idouble: -214511494 ++ + # sincos + Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res": + double: 1 +@@ -640,8 +645,8 @@ + + # Maximal error of functions: + Function: "atan2": +-float: 3 +-ifloat: 3 ++float: 6 ++ifloat: 6 + + Function: "atanh": + float: 1 +@@ -777,10 +782,6 @@ + float: 1 + ifloat: 1 + +-Function: Real part of "ctan": +-double: 1 +-idouble: 1 +- + Function: Imaginary part of "ctan": + double: 1 + idouble: 1 +--- libc-orig/sysdeps/hppa/sysdep.h 2003-10-15 01:31:42.000000000 -0400 ++++ libc/sysdeps/hppa/sysdep.h 2004-11-01 01:51:58.000000000 -0500 +@@ -22,9 +22,8 @@ + #include + #include "config.h" + +-#ifndef ASM_LINE_SEP +-#define ASM_LINE_SEP ; +-#endif ++#undef ASM_LINE_SEP ++#define ASM_LINE_SEP ! + + #ifdef __ASSEMBLER__ + +@@ -51,13 +50,9 @@ + #define END(name) \ + .PROCEND + +- +-/* If compiled for profiling, call `mcount' at the start of each function. */ ++/* GCC does everything for us. */ + #ifdef PROF +-/* The mcount code relies on a normal frame pointer being on the stack +- to locate our caller, so push one just for its benefit. */ +-#define CALL_MCOUNT \ +- XXX ASM_LINE_SEP ++#define CALL_MCOUNT + #else + #define CALL_MCOUNT /* Do nothing. */ + #endif +--- libc-orig/sysdeps/unix/sysv/linux/hppa/sysdep.c 2003-10-15 01:45:16.000000000 -0400 ++++ libc/sysdeps/unix/sysv/linux/hppa/sysdep.c 2004-09-20 14:04:24.000000000 -0400 +@@ -46,13 +46,13 @@ + { + register unsigned long int __res asm("r28"); + LOAD_ARGS_6 (arg0, arg1, arg2, arg3, arg4, arg5) +- asm volatile (STW_ASM_PIC ++ asm volatile (SAVE_ASM_PIC + " ble 0x100(%%sr2, %%r0) \n" + " copy %1, %%r20 \n" +- LDW_ASM_PIC ++ LOAD_ASM_PIC + : "=r" (__res) + : "r" (sysnum) ASM_ARGS_6 +- : CALL_CLOB_REGS CLOB_ARGS_6); ++ : "memory", CALL_CLOB_REGS CLOB_ARGS_6); + __sys_res = __res; + } + if ((unsigned long int) __sys_res >= (unsigned long int) -4095) +--- libc-orig/sysdeps/unix/sysv/linux/hppa/sysdep.h 2003-11-03 12:18:38.000000000 -0500 ++++ libc/sysdeps/unix/sysv/linux/hppa/sysdep.h 2005-04-05 03:40:47.000000000 -0400 +@@ -24,26 +24,33 @@ + #include + #include "config.h" + +-#ifndef ASM_LINE_SEP +-# define ASM_LINE_SEP ; +-#endif ++#undef ASM_LINE_SEP ++#define ASM_LINE_SEP ! + + #undef SYS_ify + #define SYS_ify(syscall_name) (__NR_##syscall_name) + ++/* WARNING: TREG must be a callee saves register so ++ that it doesn't have to be restored after a call ++ to another function */ + #ifdef PIC +-/* WARNING: CANNOT BE USED IN A NOP! */ +-# define STW_PIC stw %r19, -32(%sr0, %sp) ASM_LINE_SEP +-# define LDW_PIC ldw -32(%sr0, %sp), %r19 ASM_LINE_SEP +-# define STW_ASM_PIC " copy %%r19, %%r4\n" +-# define LDW_ASM_PIC " copy %%r4, %%r19\n" +-# define USING_GR4 "%r4", ++# define TREG %r3 ++# define SAVE_PIC(SREG) copy %r19, SREG ASM_LINE_SEP ++# define LOAD_PIC(LREG) copy LREG, %r19 ASM_LINE_SEP ++/* Inline assembly defines */ ++# define TREG_ASM "%r4" /* Cant clobber r3, it holds framemarker */ ++# define SAVE_ASM_PIC " copy %%r19, %" TREG_ASM "\n" ++# define LOAD_ASM_PIC " copy %" TREG_ASM ", %%r19\n" ++# define USING_TREG TREG_ASM, + #else +-# define STW_PIC ASM_LINE_SEP +-# define LDW_PIC ASM_LINE_SEP +-# define STW_ASM_PIC " \n" +-# define LDW_ASM_PIC " \n" +-# define USING_GR4 ++# define TREG %r3 ++# define SAVE_PIC(SREG) nop ASM_LINE_SEP ++# define LOAD_PIC(LREG) nop ASM_LINE_SEP ++/* Inline assembly defines */ ++# define TREG_ASM ++# define SAVE_ASM_PIC "nop \n" ++# define LOAD_ASM_PIC "nop \n" ++# define USING_TREG + #endif + + #ifdef __ASSEMBLER__ +@@ -76,31 +83,73 @@ + + /* We don't want the label for the error handle to be global when we define + it here. */ +-#ifdef PIC ++/*#ifdef PIC + # define SYSCALL_ERROR_LABEL 0f + #else + # define SYSCALL_ERROR_LABEL syscall_error +-#endif ++#endif*/ ++ ++/* Argument manipulation from the stack for preparing to ++ make a syscall */ ++ ++#define DOARGS_0 /* nothing */ ++#define DOARGS_1 /* nothing */ ++#define DOARGS_2 /* nothing */ ++#define DOARGS_3 /* nothing */ ++#define DOARGS_4 /* nothing */ ++#define DOARGS_5 ldw -52(%sp), %r22 ASM_LINE_SEP ++#define DOARGS_6 DOARGS_5 ldw -56(%sp), %r21 ASM_LINE_SEP ++ ++#define UNDOARGS_0 /* nothing */ ++#define UNDOARGS_1 /* nothing */ ++#define UNDOARGS_2 /* nothing */ ++#define UNDOARGS_3 /* nothing */ ++#define UNDOARGS_4 /* nothing */ ++#define UNDOARGS_5 /* nothing */ ++#define UNDOARGS_6 /* nothing */ + + /* Define an entry point visible from C. + + There is currently a bug in gdb which prevents us from specifying + incomplete stabs information. Fake some entries here which specify + the current source file. */ +-#define ENTRY(name) \ +- .text ASM_LINE_SEP \ +- .export C_SYMBOL_NAME(name) ASM_LINE_SEP \ +- .type C_SYMBOL_NAME(name),@function ASM_LINE_SEP \ +- C_LABEL(name) ASM_LINE_SEP \ +- CALL_MCOUNT ASM_LINE_SEP ++#define ENTRY(name) \ ++ .text ASM_LINE_SEP \ ++ .align ALIGNARG(4) ASM_LINE_SEP \ ++ .export C_SYMBOL_NAME(name) ASM_LINE_SEP \ ++ .type C_SYMBOL_NAME(name),@function ASM_LINE_SEP \ ++ C_LABEL(name) ASM_LINE_SEP \ ++ .PROC ASM_LINE_SEP \ ++ .CALLINFO FRAME=64,CALLS,SAVE_RP,ENTRY_GR=3 ASM_LINE_SEP \ ++ .ENTRY ASM_LINE_SEP \ ++ /* SAVE_RP says we do */ ASM_LINE_SEP \ ++ stw %rp, -20(%sr0,%sp) ASM_LINE_SEP \ ++ /*FIXME: Call mcount? (carefull with stack!) */ ++ ++/* Some syscall wrappers do not call other functions, and ++ hence are classified as leaf, so add NO_CALLS for gdb */ ++#define ENTRY_LEAF(name) \ ++ .text ASM_LINE_SEP \ ++ .align ALIGNARG(4) ASM_LINE_SEP \ ++ .export C_SYMBOL_NAME(name) ASM_LINE_SEP \ ++ .type C_SYMBOL_NAME(name),@function ASM_LINE_SEP \ ++ C_LABEL(name) ASM_LINE_SEP \ ++ .PROC ASM_LINE_SEP \ ++ .CALLINFO FRAME=64,NO_CALLS,SAVE_RP,ENTRY_GR=3 ASM_LINE_SEP \ ++ .ENTRY ASM_LINE_SEP \ ++ /* SAVE_RP says we do */ ASM_LINE_SEP \ ++ stw %rp, -20(%sr0,%sp) ASM_LINE_SEP \ ++ /*FIXME: Call mcount? (carefull with stack!) */ + + #undef END + #define END(name) \ +-1: ASM_LINE_SEP \ +-.size C_SYMBOL_NAME(name),1b-C_SYMBOL_NAME(name) ASM_LINE_SEP +- +-/* If compiled for profiling, call `mcount' at the start of each function. */ +-/* No, don't bother. gcc will put the call in for us. */ ++ .EXIT ASM_LINE_SEP \ ++ .PROCEND ASM_LINE_SEP \ ++.size C_SYMBOL_NAME(name), .-C_SYMBOL_NAME(name) ASM_LINE_SEP ++ ++/* If compiled for profiling, call `mcount' at the start ++ of each function. No, don't bother. gcc will put the ++ call in for us. */ + #define CALL_MCOUNT /* Do nothing. */ + + /* syscall wrappers consist of +@@ -118,14 +167,16 @@ + */ + + #define PSEUDO(name, syscall_name, args) \ +- ENTRY (name) \ +- DO_CALL(syscall_name, args) ASM_LINE_SEP \ ++ ENTRY (name) ASM_LINE_SEP \ ++ /* If necc. load args from stack */ ASM_LINE_SEP \ ++ DOARGS_##args ASM_LINE_SEP \ ++ DO_CALL (syscall_name, args) ASM_LINE_SEP \ ++ UNDOARGS_##args ASM_LINE_SEP \ + nop ASM_LINE_SEP + + #define ret \ +- /* Return value set by ERRNO code */ ASM_LINE_SEP \ +- bv 0(2) ASM_LINE_SEP \ +- nop ASM_LINE_SEP ++ /* Return value set by ERRNO code */ ASM_LINE_SEP \ ++ bv,n 0(2) ASM_LINE_SEP + + #undef PSEUDO_END + #define PSEUDO_END(name) \ +@@ -133,8 +184,10 @@ + + /* We don't set the errno on the return from the syscall */ + #define PSEUDO_NOERRNO(name, syscall_name, args) \ +- ENTRY (name) \ +- DO_CALL_NOERRNO(syscall_name, args) ASM_LINE_SEP \ ++ ENTRY_LEAF (name) ASM_LINE_SEP \ ++ DOARGS_##args ASM_LINE_SEP \ ++ DO_CALL_NOERRNO (syscall_name, args) ASM_LINE_SEP \ ++ UNDOARGS_##args ASM_LINE_SEP \ + nop ASM_LINE_SEP + + #define ret_NOERRNO ret +@@ -146,9 +199,11 @@ + /* This has to return the error value */ + #undef PSEUDO_ERRVAL + #define PSEUDO_ERRVAL(name, syscall_name, args) \ +- ENTRY(name) \ +- DO_CALL_ERRVAL(syscall_name, args) ASM_LINE_SEP \ +- nop ASM_LINE_SEP ++ ENTRY_LEAF (name) ASM_LINE_SEP \ ++ DOARGS_##args ASM_LINE_SEP \ ++ DO_CALL_ERRVAL (syscall_name, args) ASM_LINE_SEP \ ++ UNDOARGS_##args ASM_LINE_SEP \ ++ nop ASM_LINE_SEP + + #define ret_ERRVAL ret + +@@ -161,7 +216,8 @@ + #define SYSCALL_PIC_SETUP /* Nothing. */ + + +-/* All the syscall assembly macros rely on finding the approriate ++/* FIXME: This comment is not true. ++ * All the syscall assembly macros rely on finding the approriate + SYSCALL_ERROR_LABEL or rather HANDLER. */ + + /* int * __errno_location(void) so you have to store your value +@@ -209,8 +265,8 @@ + arg 2 gr25 + arg 3 gr24 + arg 4 gr23 +- arg 5 -52(gr30) +- arg 6 -56(gr30) ++ arg 5 -52(sp) ++ arg 6 -56(sp) + + gr22 and gr21 are caller-saves, so we can just load the arguments + there and generally be happy. */ +@@ -219,46 +275,48 @@ + * is intended to mimic the if (__sys_res...) + * code inside INLINE_SYSCALL + */ ++#define NO_ERROR -0x1000 + + #undef DO_CALL + #define DO_CALL(syscall_name, args) \ +- DOARGS_##args ASM_LINE_SEP \ +- STW_PIC ASM_LINE_SEP \ ++ copy TREG,%r1 ASM_LINE_SEP \ ++ copy %sp,TREG ASM_LINE_SEP \ ++ /* Create a frame */ ASM_LINE_SEP \ ++ stwm %r1, 64(%sp) ASM_LINE_SEP \ ++ stw %rp, -20(%sp) ASM_LINE_SEP \ ++ stw TREG, -4(%sp) ASM_LINE_SEP \ ++ /* Save r19 */ ASM_LINE_SEP \ ++ SAVE_PIC(TREG) ASM_LINE_SEP \ + /* Do syscall, delay loads # */ ASM_LINE_SEP \ + ble 0x100(%sr2,%r0) ASM_LINE_SEP \ + ldi SYS_ify (syscall_name), %r20 ASM_LINE_SEP \ +- ldi -0x1000,%r1 ASM_LINE_SEP \ +- cmpb,>>=,n %r1,%ret0,0f ASM_LINE_SEP \ +- /* save rp or we get lost */ ASM_LINE_SEP \ +- stw %rp, -20(%sr0,%sp) ASM_LINE_SEP \ +- /* Restore r19 from frame */ ASM_LINE_SEP \ +- LDW_PIC ASM_LINE_SEP \ +- stw %ret0, -24(%sr0,%sp) ASM_LINE_SEP \ ++ ldi NO_ERROR,%r1 ASM_LINE_SEP \ ++ cmpb,>>=,n %r1,%ret0,L(pre_end) ASM_LINE_SEP \ ++ /* Restore r19 from TREG */ ASM_LINE_SEP \ ++ LOAD_PIC(TREG) /* delay */ ASM_LINE_SEP \ + SYSCALL_ERROR_HANDLER ASM_LINE_SEP \ +- /* create frame */ ASM_LINE_SEP \ +- ldo 64(%sp), %sp ASM_LINE_SEP \ +- ldo -64(%sp), %sp ASM_LINE_SEP \ ++ /* Use TREG for temp storage */ ASM_LINE_SEP \ ++ copy %ret0, TREG /* delay */ ASM_LINE_SEP \ + /* OPTIMIZE: Don't reload r19 */ ASM_LINE_SEP \ + /* do a -1*syscall_ret0 */ ASM_LINE_SEP \ +- ldw -24(%sr0,%sp), %r26 ASM_LINE_SEP \ +- sub %r0, %r26, %r26 ASM_LINE_SEP \ ++ sub %r0, TREG, TREG ASM_LINE_SEP \ + /* Store into errno location */ ASM_LINE_SEP \ +- stw %r26, 0(%sr0,%ret0) ASM_LINE_SEP \ ++ stw TREG, 0(%sr0,%ret0) ASM_LINE_SEP \ + /* return -1 as error */ ASM_LINE_SEP \ + ldo -1(%r0), %ret0 ASM_LINE_SEP \ +- ldw -20(%sr0,%sp), %rp ASM_LINE_SEP \ +-0: ASM_LINE_SEP \ +- UNDOARGS_##args ASM_LINE_SEP ++L(pre_end): ASM_LINE_SEP \ ++ /* Restore return pointer */ ASM_LINE_SEP \ ++ ldw -84(%sp),%rp ASM_LINE_SEP \ ++ /* Restore our frame, restoring TREG */ ASM_LINE_SEP \ ++ ldwm -64(%sp), TREG ASM_LINE_SEP + + /* We do nothing with the return, except hand it back to someone else */ + #undef DO_CALL_NOERRNO + #define DO_CALL_NOERRNO(syscall_name, args) \ +- DOARGS_##args \ + /* No need to store r19 */ ASM_LINE_SEP \ + ble 0x100(%sr2,%r0) ASM_LINE_SEP \ + ldi SYS_ify (syscall_name), %r20 ASM_LINE_SEP \ +- /* Caller will restore r19 */ ASM_LINE_SEP \ +- UNDOARGS_##args ++ /* Caller will restore r19 */ ASM_LINE_SEP + + /* Here, we return the ERRVAL in assembly, note we don't call the + error handler function, but we do 'negate' the return _IF_ +@@ -266,34 +324,15 @@ + + #undef DO_CALL_ERRVAL + #define DO_CALL_ERRVAL(syscall_name, args) \ +- DOARGS_##args ASM_LINE_SEP \ + /* No need to store r19 */ ASM_LINE_SEP \ + ble 0x100(%sr2,%r0) ASM_LINE_SEP \ + ldi SYS_ify (syscall_name), %r20 ASM_LINE_SEP \ + /* Caller will restore r19 */ ASM_LINE_SEP \ +- ldi -0x1000,%r1 ASM_LINE_SEP \ ++ ldi NO_ERROR,%r1 ASM_LINE_SEP \ + cmpb,>>=,n %r1,%ret0,0f ASM_LINE_SEP \ + sub %r0, %ret0, %ret0 ASM_LINE_SEP \ +-0: ASM_LINE_SEP \ +- UNDOARGS_##args ASM_LINE_SEP ++0: ASM_LINE_SEP + +-#define DOARGS_0 /* nothing */ +-#define DOARGS_1 /* nothing */ +-#define DOARGS_2 /* nothing */ +-#define DOARGS_3 /* nothing */ +-#define DOARGS_4 /* nothing */ +-#define DOARGS_5 ldw -52(%r30), %r22 ASM_LINE_SEP +-#define DOARGS_6 ldw -52(%r30), %r22 ASM_LINE_SEP \ +- ldw -56(%r30), %r21 ASM_LINE_SEP +- +- +-#define UNDOARGS_0 /* nothing */ +-#define UNDOARGS_1 /* nothing */ +-#define UNDOARGS_2 /* nothing */ +-#define UNDOARGS_3 /* nothing */ +-#define UNDOARGS_4 /* nothing */ +-#define UNDOARGS_5 /* nothing */ +-#define UNDOARGS_6 /* nothing */ + + #else + +@@ -305,27 +344,28 @@ + registers r20 -> r26 will conflict with the list so they + are treated specially. Although r19 is clobbered by the syscall + we cannot say this because it would violate ABI, thus we say +- r4 is clobbered and use that register to save/restore r19 ++ TREG is clobbered and use that register to save/restore r19 + across the syscall. */ + +-#define CALL_CLOB_REGS "%r1", "%r2", USING_GR4 \ ++#define CALL_CLOB_REGS "%r1", "%r2", USING_TREG \ + "%r20", "%r29", "%r31" + + #undef INLINE_SYSCALL +-#define INLINE_SYSCALL(name, nr, args...) ({ \ ++#define INLINE_SYSCALL(name, nr, args...) \ ++({ \ + long __sys_res; \ + { \ + register unsigned long __res asm("r28"); \ + LOAD_ARGS_##nr(args) \ +- /* FIXME: HACK stw/ldw r19 around syscall */ \ ++ /* FIXME: HACK save/load r19 around syscall */ \ + asm volatile( \ +- STW_ASM_PIC \ ++ SAVE_ASM_PIC \ + " ble 0x100(%%sr2, %%r0)\n" \ + " ldi %1, %%r20\n" \ +- LDW_ASM_PIC \ ++ LOAD_ASM_PIC \ + : "=r" (__res) \ + : "i" (SYS_ify(name)) ASM_ARGS_##nr \ +- : CALL_CLOB_REGS CLOB_ARGS_##nr \ ++ : "memory", CALL_CLOB_REGS CLOB_ARGS_##nr \ + ); \ + __sys_res = (long)__res; \ + } \ +@@ -339,8 +379,8 @@ + /* INTERNAL_SYSCALL_DECL - Allows us to setup some function static + value to use within the context of the syscall + INTERNAL_SYSCALL_ERROR_P - Returns 0 if it wasn't an error, 1 otherwise +- You are allowed to use the syscall result (val) and the DECL error variable +- to determine what went wrong. ++ You are allowed to use the syscall result (val) and the DECL error ++ variable to determine what went wrong. + INTERLAL_SYSCALL_ERRNO - Munges the val/err pair into the error number. + In our case we just flip the sign. */ + +@@ -357,46 +397,46 @@ + + /* Similar to INLINE_SYSCALL but we don't set errno */ + #undef INTERNAL_SYSCALL +-#define INTERNAL_SYSCALL(name, err, nr, args...) \ +-({ \ +- long __sys_res; \ +- { \ +- register unsigned long __res asm("r28"); \ +- LOAD_ARGS_##nr(args) \ +- /* FIXME: HACK stw/ldw r19 around syscall */ \ +- asm volatile( \ +- STW_ASM_PIC \ +- " ble 0x100(%%sr2, %%r0)\n" \ +- " ldi %1, %%r20\n" \ +- LDW_ASM_PIC \ +- : "=r" (__res) \ +- : "i" (SYS_ify(name)) ASM_ARGS_##nr \ +- : CALL_CLOB_REGS CLOB_ARGS_##nr \ +- ); \ +- __sys_res = (long)__res; \ +- } \ +- __sys_res; \ ++#define INTERNAL_SYSCALL(name, err, nr, args...) \ ++({ \ ++ long __sys_res; \ ++ { \ ++ register unsigned long __res asm("r28"); \ ++ LOAD_ARGS_##nr(args) \ ++ /* FIXME: HACK save/load r19 around syscall */ \ ++ asm volatile( \ ++ SAVE_ASM_PIC \ ++ " ble 0x100(%%sr2, %%r0)\n" \ ++ " ldi %1, %%r20\n" \ ++ LOAD_ASM_PIC \ ++ : "=r" (__res) \ ++ : "i" (SYS_ify(name)) ASM_ARGS_##nr \ ++ : "memory", CALL_CLOB_REGS CLOB_ARGS_##nr \ ++ ); \ ++ __sys_res = (long)__res; \ ++ } \ ++ __sys_res; \ + }) + + #define LOAD_ARGS_0() +-#define LOAD_ARGS_1(r26) \ +- register unsigned long __r26 __asm__("r26") = (unsigned long)(r26); \ +- LOAD_ARGS_0() +-#define LOAD_ARGS_2(r26,r25) \ +- register unsigned long __r25 __asm__("r25") = (unsigned long)(r25); \ +- LOAD_ARGS_1(r26) +-#define LOAD_ARGS_3(r26,r25,r24) \ +- register unsigned long __r24 __asm__("r24") = (unsigned long)(r24); \ +- LOAD_ARGS_2(r26,r25) +-#define LOAD_ARGS_4(r26,r25,r24,r23) \ +- register unsigned long __r23 __asm__("r23") = (unsigned long)(r23); \ +- LOAD_ARGS_3(r26,r25,r24) +-#define LOAD_ARGS_5(r26,r25,r24,r23,r22) \ +- register unsigned long __r22 __asm__("r22") = (unsigned long)(r22); \ +- LOAD_ARGS_4(r26,r25,r24,r23) +-#define LOAD_ARGS_6(r26,r25,r24,r23,r22,r21) \ +- register unsigned long __r21 __asm__("r21") = (unsigned long)(r21); \ +- LOAD_ARGS_5(r26,r25,r24,r23,r22) ++#define LOAD_ARGS_1(r26) \ ++ register unsigned long __r26 __asm__("r26") = (unsigned long)(r26); \ ++ LOAD_ARGS_0() ++#define LOAD_ARGS_2(r26,r25) \ ++ register unsigned long __r25 __asm__("r25") = (unsigned long)(r25); \ ++ LOAD_ARGS_1(r26) ++#define LOAD_ARGS_3(r26,r25,r24) \ ++ register unsigned long __r24 __asm__("r24") = (unsigned long)(r24); \ ++ LOAD_ARGS_2(r26,r25) ++#define LOAD_ARGS_4(r26,r25,r24,r23) \ ++ register unsigned long __r23 __asm__("r23") = (unsigned long)(r23); \ ++ LOAD_ARGS_3(r26,r25,r24) ++#define LOAD_ARGS_5(r26,r25,r24,r23,r22) \ ++ register unsigned long __r22 __asm__("r22") = (unsigned long)(r22); \ ++ LOAD_ARGS_4(r26,r25,r24,r23) ++#define LOAD_ARGS_6(r26,r25,r24,r23,r22,r21) \ ++ register unsigned long __r21 __asm__("r21") = (unsigned long)(r21); \ ++ LOAD_ARGS_5(r26,r25,r24,r23,r22) + + /* Even with zero args we use r20 for the syscall number */ + #define ASM_ARGS_0 +--- libc-orig/sysdeps/unix/sysv/linux/posix_fadvise.c 2003-08-16 20:36:22.000000000 -0400 ++++ libc/sysdeps/unix/sysv/linux/posix_fadvise.c 2004-09-26 22:45:33.000000000 -0400 +@@ -35,6 +35,19 @@ + return INTERNAL_SYSCALL_ERRNO (ret, err); + return 0; + #else ++# ifdef __NR_fadvise64_64 ++ INTERNAL_SYSCALL_DECL (err); ++ int ret = INTERNAL_SYSCALL (fadvise64_64, err, 6, fd, ++ __LONG_LONG_PAIR ((long) (offset >> 31), ++ (long) offset), ++ __LONG_LONG_PAIR ((long) (len >> 31), ++ (long) len), ++ advise); ++ if (INTERNAL_SYSCALL_ERROR_P (ret, err)) ++ return INTERNAL_SYSCALL_ERRNO (ret, err); ++ return 0; ++# else + return ENOSYS; ++# endif + #endif + } +--- glibc-2.3.5.old/sysdeps/hppa/dl-lookupcfg.h 2005-05-15 20:36:10.383193082 -0600 ++++ glibc-2.3.5/sysdeps/hppa/dl-lookupcfg.h 2005-05-15 21:44:07.543952666 -0600 +@@ -67,3 +69,15 @@ + #define DL_DT_FINI_ADDRESS(map, addr) \ + ((Elf32_Addr)(addr) & 2 ? (addr) : DL_AUTO_FUNCTION_ADDRESS (map, addr)) + ++/* The type of the return value of fixup/profile_fixup */ ++#define DL_FIXUP_VALUE_TYPE struct fdesc ++ ++/* Construct a fixup value from the address and linkmap */ ++#define DL_FIXUP_MAKE_VALUE(map, addr) \ ++ ((struct fdesc) { (addr), (map)->l_info[DT_PLTGOT]->d_un.d_ptr }) ++ ++/* Extract the code address from a fixup value */ ++#define DL_FIXUP_VALUE_CODE_ADDR(value) ((value).ip) ++#define DL_FIXUP_VALUE_ADDR(value) ((uintptr_t) &(value)) ++#define DL_FIXUP_ADDR_VALUE(addr) (*(struct fdesc *) (addr)) ++ --- glibc-2.3.6.orig/debian/patches/local-i386-x86_64biarch.dpatch +++ glibc-2.3.6/debian/patches/local-i386-x86_64biarch.dpatch @@ -0,0 +1,71 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Allow ldconfig to work on i386/x86-64 biarch systems +# DP: Related bugs: +# DP: Dpatch author: Jeff Bailey +# DP: Patch author: Jeff Bailey +# DP: Upstream status: Debian-Specific +# DP: Status Details: +# DP: Date: 2005-08-05 + +PATCHLEVEL=1 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +--- /dev/null 2005-07-29 18:11:21.000000000 +0000 ++++ glibc-2.3.5/sysdeps/unix/sysv/linux/i386/dl-cache.h 2005-08-05 14:15:39.162794976 +0000 +@@ -0,0 +1,41 @@ ++/* Support for reading /etc/ld.so.cache files written by Linux ldconfig. ++ Copyright (C) 2003 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 ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++/* This hack allows for i386 systems to be biarch to x86-64 */ ++ ++#define add_system_dir(dir) \ ++ do \ ++ { \ ++ size_t len = strlen (dir); \ ++ char path[len + 3]; \ ++ memcpy (path, dir, len + 1); \ ++ if (len >= 6 && ! memcmp (path + len - 6, "/lib64", 6)) \ ++ { \ ++ len -= 2; \ ++ path[len] = '\0'; \ ++ } \ ++ add_dir (path); \ ++ if (len >= 4 && ! memcmp (path + len - 4, "/lib", 4)) \ ++ { \ ++ memcpy (path + len, "64", 3); \ ++ add_dir (path); \ ++ } \ ++ } while (0) ++ ++#include --- glibc-2.3.6.orig/debian/patches/local-mash-newbinutils.dpatch +++ glibc-2.3.6/debian/patches/local-mash-newbinutils.dpatch @@ -0,0 +1,153 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Fix compilation against new binutils. +# DP: Related bugs: +# DP: Dpatch author: Jeff Bailey +# DP: Patch author: HJ Lu +# DP: Upstream status: Pending +# DP: Status Details: +# DP: Date: 2005-16-11 + +PATCHLEVEL=1 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. + +--- libc/sysdeps/wordsize-32/Makefile.as 2002-09-18 23:47:56.000000000 -0700 ++++ libc/sysdeps/wordsize-32/Makefile 2005-11-07 15:13:38.000000000 -0800 +@@ -2,5 +2,6 @@ ifeq ($(subdir),csu) + ifeq (yes,$(build-shared)) + sysdep_routines += divdi3 + shared-only-routines += divdi3 ++CPPFLAGS-divdi3.c = -Din_divdi3_c + endif + endif +--- libc/sysdeps/wordsize-32/symbol-hacks.h.as 2004-03-08 12:59:34.000000000 -0800 ++++ libc/sysdeps/wordsize-32/symbol-hacks.h 2005-11-07 14:57:49.000000000 -0800 +@@ -22,7 +22,7 @@ + therefore we get PLTs. Unnecessarily so. Changing gcc is a big + task which might not be worth it so we play tricks with the + assembler. */ +-#if !defined __ASSEMBLER__ && !defined NOT_IN_libc && defined SHARED ++#if !defined __ASSEMBLER__ && !defined in_divdi3_c && !defined NOT_IN_libc && defined SHARED + asm ("__divdi3 = __divdi3_internal"); + asm ("__udivdi3 = __udivdi3_internal"); + asm ("__moddi3 = __moddi3_internal"); + +=================================================================== +--- libc/sysdeps/powerpc/powerpc32/fpu/s_lround.S.~1.4.~ 2005-06-20 11:05:09.000000000 +0200 ++++ libc/sysdeps/powerpc/powerpc32/fpu/s_lround.S 2005-11-18 19:24:09.000000000 +0100 +@@ -79,7 +79,6 @@ ENTRY (__lround) + b .L9 + END (__lround) + +-strong_alias (__lround, __lround) + weak_alias (__lround, lround) + + strong_alias (__lround, __lroundf) +--- libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S.~1.4.~ 2005-06-20 11:05:20.000000000 +0200 ++++ libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S 2005-11-18 18:25:51.000000000 +0100 +@@ -44,7 +44,11 @@ + #define stackblock 20 + + #ifndef __socket +-#define __socket P(__,socket) ++# ifndef NO_WEAK_ALIAS ++# define __socket P(__,socket) ++# else ++# define __socket socket ++# endif + #endif + + .text +@@ -114,4 +118,6 @@ ENTRY(__socket) + + PSEUDO_END (__socket) + ++#ifndef NO_WEAK_ALIAS + weak_alias (__socket, socket) ++#endif +--- libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S.~1.5.~ 2005-01-10 10:41:04.000000000 +0100 ++++ libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S 2005-11-18 19:10:23.000000000 +0100 +@@ -41,12 +41,12 @@ + + #define stackblock 80 /* offset to socket parm area. */ + +-#ifndef socket +-/* If this is just socket.S leave it alone! */ +-#else + #ifndef __socket +-#define __socket P(__,socket) +-#endif ++# ifndef NO_WEAK_ALIAS ++# define __socket P(__,socket) ++# else ++# define __socket socket ++# endif + #endif + + .text +@@ -120,4 +120,6 @@ ENTRY(__socket) + cfi_endproc + PSEUDO_END (__socket) + ++#ifndef NO_WEAK_ALIAS + weak_alias (__socket, socket) ++#endif +--- libc/sysdeps/unix/sysv/linux/sparc/sparc32/socket.S 2005-11-24 07:30:53.000000000 -0500 ++++ libc/sysdeps/unix/sysv/linux/sparc/sparc32/socket.S 2005-11-24 07:31:14.000000000 -0500 +@@ -40,7 +40,11 @@ + The .S files for the other calls just #define socket and #include this. */ + + #ifndef __socket +-#define __socket P(__,socket) ++# ifndef NO_WEAK_ALIAS ++# define __socket P(__,socket) ++# else ++# define __socket socket ++# endif + #endif + + .globl __socket +@@ -105,4 +109,6 @@ + + END (__socket) + ++#ifndef NO_WEAK_ALIAS + weak_alias (__socket, socket) ++#endif +--- libc/sysdeps/unix/sysv/linux/sparc/sparc64/socket.S 2005-11-24 07:34:58.000000000 -0500 ++++ libc/sysdeps/unix/sysv/linux/sparc/sparc64/socket.S 2005-11-24 07:35:17.000000000 -0500 +@@ -40,7 +40,11 @@ + The .S files for the other calls just #define socket and #include this. */ + + #ifndef __socket +-#define __socket P(__,socket) ++# ifndef NO_WEAK_ALIAS ++# define __socket P(__,socket) ++# else ++# define __socket socket ++# endif + #endif + + .globl __socket +@@ -107,4 +111,6 @@ + + END (__socket) + ++#ifndef NO_WEAK_ALIAS + weak_alias (__socket, socket) ++#endif --- glibc-2.3.6.orig/debian/patches/submitted-hppa-fenv-align.dpatch +++ glibc-2.3.6/debian/patches/submitted-hppa-fenv-align.dpatch @@ -0,0 +1,372 @@ +#! /bin/sh -e + +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: Use temporary, 8-byte-aligned buffers for doubleword transfer. +# DP: Dpatch author: Daniel Jacobowitz +# DP: Patch author: Daniel Jacobowitz +# DP: Upstream status: Not submitted (yet) +# DP: Date: 2005-10-14 + +PATCHLEVEL=1 + +if [ $# -ne 2 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;; + -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +# append the patch here and adjust the -p? flag in the patch calls. +diff -ur glibc-2.3.5/sysdeps/hppa.bak/fpu/fclrexcpt.c glibc-2.3.5/sysdeps/hppa/fpu/fclrexcpt.c +--- glibc-2.3.5/sysdeps/hppa.bak/fpu/fclrexcpt.c 2003-12-18 03:56:15.000000000 +0000 ++++ glibc-2.3.5/sysdeps/hppa/fpu/fclrexcpt.c 2005-10-14 17:44:33.000000000 +0000 +@@ -23,14 +23,14 @@ + int + feclearexcept (int excepts) + { +- unsigned int sw[2]; ++ union { unsigned long long l; unsigned int sw[2]; } s; + + /* Get the current status word. */ +- __asm__ ("fstd %%fr0,0(%1)" : "=m" (*sw) : "r" (sw)); ++ __asm__ ("fstd %%fr0,0(%1)" : "=m" (s.l) : "r" (&s.l)); + + /* Clear all the relevant bits. */ +- sw[0] &= ~((excepts & FE_ALL_EXCEPT) << 27); +- __asm__ ("fldd 0(%0),%%fr0" : : "r" (sw)); ++ s.sw[0] &= ~((excepts & FE_ALL_EXCEPT) << 27); ++ __asm__ ("fldd 0(%0),%%fr0" : : "r" (&s.l), "m" (s.l)); + + /* Success. */ + return 0; +diff -ur glibc-2.3.5/sysdeps/hppa.bak/fpu/fedisblxcpt.c glibc-2.3.5/sysdeps/hppa/fpu/fedisblxcpt.c +--- glibc-2.3.5/sysdeps/hppa.bak/fpu/fedisblxcpt.c 2001-07-06 04:55:52.000000000 +0000 ++++ glibc-2.3.5/sysdeps/hppa/fpu/fedisblxcpt.c 2005-10-14 17:48:10.000000000 +0000 +@@ -23,15 +23,16 @@ + int + fedisableexcept (int excepts) + { +- unsigned int sw[2], old_exc; ++ union { unsigned long long l; unsigned int sw[2]; } s; ++ unsigned int old_exc; + + /* Get the current status word. */ +- __asm__ ("fstd %%fr0,0(%1)" : "=m" (*sw) : "r" (sw)); ++ __asm__ ("fstd %%fr0,0(%1)" : "=m" (s.l) : "r" (&s.l)); + +- old_exc = sw[0] & FE_ALL_EXCEPT; ++ old_exc = s.sw[0] & FE_ALL_EXCEPT; + +- sw[0] &= ~(excepts & FE_ALL_EXCEPT); +- __asm__ ("fldd 0(%0),%%fr0" : : "r" (sw)); ++ s.sw[0] &= ~(excepts & FE_ALL_EXCEPT); ++ __asm__ ("fldd 0(%0),%%fr0" : : "r" (&s.l), "m" (s.l)); + + return old_exc; + } +diff -ur glibc-2.3.5/sysdeps/hppa.bak/fpu/feenablxcpt.c glibc-2.3.5/sysdeps/hppa/fpu/feenablxcpt.c +--- glibc-2.3.5/sysdeps/hppa.bak/fpu/feenablxcpt.c 2001-07-06 04:55:52.000000000 +0000 ++++ glibc-2.3.5/sysdeps/hppa/fpu/feenablxcpt.c 2005-10-14 17:48:46.000000000 +0000 +@@ -23,15 +23,16 @@ + int + feenableexcept (int excepts) + { +- unsigned int sw[2], old_exc; ++ union { unsigned long long l; unsigned int sw[2]; } s; ++ unsigned int old_exc; + + /* Get the current status word. */ +- __asm__ ("fstd %%fr0,0(%1)" : "=m" (*sw) : "r" (sw)); ++ __asm__ ("fstd %%fr0,0(%1)" : "=m" (s.l) : "r" (&s.l)); + +- old_exc = sw[0] & FE_ALL_EXCEPT; ++ old_exc = s.sw[0] & FE_ALL_EXCEPT; + +- sw[0] |= (excepts & FE_ALL_EXCEPT); +- __asm__ ("fldd 0(%0),%%fr0" : : "r" (sw)); ++ s.sw[0] |= (excepts & FE_ALL_EXCEPT); ++ __asm__ ("fldd 0(%0),%%fr0" : : "r" (&s.l), "m" (s.l)); + + return old_exc; + } +diff -ur glibc-2.3.5/sysdeps/hppa.bak/fpu/fegetenv.c glibc-2.3.5/sysdeps/hppa/fpu/fegetenv.c +--- glibc-2.3.5/sysdeps/hppa.bak/fpu/fegetenv.c 2003-12-18 03:56:50.000000000 +0000 ++++ glibc-2.3.5/sysdeps/hppa/fpu/fegetenv.c 2005-10-14 18:10:42.000000000 +0000 +@@ -19,15 +19,19 @@ + 02111-1307 USA. */ + + #include ++#include + + int + fegetenv (fenv_t *envp) + { ++ unsigned long long buf[4], *bufptr = buf; ++ + __asm__ ( + "fstd,ma %%fr0,8(%1)\n" + "fstd,ma %%fr1,8(%1)\n" + "fstd,ma %%fr2,8(%1)\n" + "fstd %%fr3,0(%1)\n" +- : "=m" (*envp), "+r" (envp)); ++ : "=m" (buf), "+r" (bufptr)); ++ memcpy (envp, buf, sizeof (*envp)); + return 0; + } +diff -ur glibc-2.3.5/sysdeps/hppa.bak/fpu/fegetexcept.c glibc-2.3.5/sysdeps/hppa/fpu/fegetexcept.c +--- glibc-2.3.5/sysdeps/hppa.bak/fpu/fegetexcept.c 2001-07-06 04:55:52.000000000 +0000 ++++ glibc-2.3.5/sysdeps/hppa/fpu/fegetexcept.c 2005-10-14 17:49:08.000000000 +0000 +@@ -23,10 +23,10 @@ + int + fegetexcept (void) + { +- unsigned int sw[2]; ++ union { unsigned long long l; unsigned int sw[2]; } s; + + /* Get the current status word. */ +- __asm__ ("fstd %%fr0,0(%1)" : "=m" (*sw) : "r" (sw)); ++ __asm__ ("fstd %%fr0,0(%1)" : "=m" (s.l) : "r" (&s.l)); + +- return sw[0] & FE_ALL_EXCEPT; ++ return s.sw[0] & FE_ALL_EXCEPT; + } +diff -ur glibc-2.3.5/sysdeps/hppa.bak/fpu/fegetround.c glibc-2.3.5/sysdeps/hppa/fpu/fegetround.c +--- glibc-2.3.5/sysdeps/hppa.bak/fpu/fegetround.c 2001-07-06 04:55:52.000000000 +0000 ++++ glibc-2.3.5/sysdeps/hppa/fpu/fegetround.c 2005-10-14 17:49:28.000000000 +0000 +@@ -23,10 +23,10 @@ + int + fegetround (void) + { +- unsigned int sw[2]; ++ union { unsigned long long l; unsigned int sw[2]; } s; + + /* Get the current status word. */ +- __asm__ ("fstd %%fr0,0(%1)" : "=m" (*sw) : "r" (sw)); ++ __asm__ ("fstd %%fr0,0(%1)" : "=m" (s.l) : "r" (&s.l)); + +- return sw[0] & FE_DOWNWARD; ++ return s.sw[0] & FE_DOWNWARD; + } +diff -ur glibc-2.3.5/sysdeps/hppa.bak/fpu/feholdexcpt.c glibc-2.3.5/sysdeps/hppa/fpu/feholdexcpt.c +--- glibc-2.3.5/sysdeps/hppa.bak/fpu/feholdexcpt.c 2004-02-21 02:10:01.000000000 +0000 ++++ glibc-2.3.5/sysdeps/hppa/fpu/feholdexcpt.c 2005-10-14 18:14:13.000000000 +0000 +@@ -24,33 +24,34 @@ + int + feholdexcept (fenv_t *envp) + { +- fenv_t clear; +- fenv_t * _regs = envp; ++ union { unsigned long long buf[4]; fenv_t env; } clear; ++ unsigned long long *bufptr; + + /* Store the environment. */ ++ bufptr = clear.buf; + __asm__ ( + "fstd,ma %%fr0,8(%1)\n" + "fstd,ma %%fr1,8(%1)\n" + "fstd,ma %%fr2,8(%1)\n" + "fstd %%fr3,0(%1)\n" +- : "=m" (*_regs), "+r" (_regs)); +- memcpy (&clear, envp, sizeof (clear)); ++ : "=m" (clear), "+r" (bufptr)); ++ memcpy (envp, &clear.env, sizeof (fenv_t)); + + /* Now clear all exceptions. */ +- clear.__status_word &= ~(FE_ALL_EXCEPT << 27); +- memset (clear.__exception, 0, sizeof (clear.__exception)); ++ clear.env.__status_word &= ~(FE_ALL_EXCEPT << 27); ++ memset (clear.env.__exception, 0, sizeof (clear.env.__exception)); + + /* And set all exceptions to non-stop. */ +- clear.__status_word &= ~FE_ALL_EXCEPT; ++ clear.env.__status_word &= ~FE_ALL_EXCEPT; + + /* Load the new environment. */ +- _regs = &clear; ++ bufptr = clear.buf; + __asm__ ( + "fldd,ma 8(%0),%%fr0\n" + "fldd,ma 8(%0),%%fr1\n" + "fldd,ma 8(%0),%%fr2\n" + "fldd 0(%0),%%fr3\n" +- : : "r" (_regs)); ++ : : "r" (bufptr), "m" (clear)); + + return 0; + } +diff -ur glibc-2.3.5/sysdeps/hppa.bak/fpu/fesetenv.c glibc-2.3.5/sysdeps/hppa/fpu/fesetenv.c +--- glibc-2.3.5/sysdeps/hppa.bak/fpu/fesetenv.c 2003-12-18 03:57:31.000000000 +0000 ++++ glibc-2.3.5/sysdeps/hppa/fpu/fesetenv.c 2005-10-14 18:14:21.000000000 +0000 +@@ -25,40 +25,42 @@ + int + fesetenv (const fenv_t *envp) + { +- fenv_t temp; +- fenv_t * _regs = &temp; ++ union { unsigned long long buf[4]; fenv_t env; } temp; ++ unsigned long long *bufptr; + + /* Install the environment specified by ENVP. But there are a few + values which we do not want to come from the saved environment. + Therefore, we get the current environment and replace the values + we want to use from the environment specified by the parameter. */ ++ bufptr = temp.buf; + __asm__ ( + "fstd,ma %%fr0,8(%1)\n" + "fstd,ma %%fr1,8(%1)\n" + "fstd,ma %%fr2,8(%1)\n" + "fstd %%fr3,0(%1)\n" +- : "=m" (*_regs), "+r" (_regs)); ++ : "=m" (temp), "+r" (bufptr)); + +- temp.__status_word &= ~(FE_ALL_EXCEPT +- | (FE_ALL_EXCEPT << 27) +- | FE_DOWNWARD); ++ temp.env.__status_word &= ~(FE_ALL_EXCEPT ++ | (FE_ALL_EXCEPT << 27) ++ | FE_DOWNWARD); + if (envp == FE_DFL_ENV) + ; + else if (envp == FE_NOMASK_ENV) +- temp.__status_word |= FE_ALL_EXCEPT; ++ temp.env.__status_word |= FE_ALL_EXCEPT; + else +- temp.__status_word |= (envp->__status_word +- & (FE_ALL_EXCEPT +- | FE_DOWNWARD +- | (FE_ALL_EXCEPT << 27))); ++ temp.env.__status_word |= (envp->__status_word ++ & (FE_ALL_EXCEPT ++ | FE_DOWNWARD ++ | (FE_ALL_EXCEPT << 27))); + + /* Load the new environment. */ ++ bufptr = temp.buf; + __asm__ ( + "fldd,ma -8(%1),%%fr3\n" + "fldd,ma -8(%1),%%fr2\n" + "fldd,ma -8(%1),%%fr1\n" + "fldd 0(%1),%%fr0\n" +- : "=m" (*_regs), "+r" (_regs)); ++ : "=m" (temp), "+r" (bufptr)); + + /* Success. */ + return 0; +diff -ur glibc-2.3.5/sysdeps/hppa.bak/fpu/fesetround.c glibc-2.3.5/sysdeps/hppa/fpu/fesetround.c +--- glibc-2.3.5/sysdeps/hppa.bak/fpu/fesetround.c 2002-12-03 02:50:52.000000000 +0000 ++++ glibc-2.3.5/sysdeps/hppa/fpu/fesetround.c 2005-10-14 17:58:24.000000000 +0000 +@@ -23,17 +23,17 @@ + int + fesetround (int round) + { +- unsigned int sw[2]; ++ union { unsigned long long l; unsigned int sw[2]; } s; + + if (round & ~FE_DOWNWARD) + /* ROUND is not a valid rounding mode. */ + return 1; + + /* Get the current status word. */ +- __asm__ ("fstd %%fr0,0(%1)" : "=m" (*sw) : "r" (sw)); +- sw[0] &= ~FE_DOWNWARD; +- sw[0] |= round; +- __asm__ ("fldd 0(%0),%%fr0" : : "r" (sw)); ++ __asm__ ("fstd %%fr0,0(%1)" : "=m" (s.l) : "r" (&s.l)); ++ s.sw[0] &= ~FE_DOWNWARD; ++ s.sw[0] |= round; ++ __asm__ ("fldd 0(%0),%%fr0" : : "r" (&s.l), "m" (s.l)); + + return 0; + } +diff -ur glibc-2.3.5/sysdeps/hppa.bak/fpu/feupdateenv.c glibc-2.3.5/sysdeps/hppa/fpu/feupdateenv.c +--- glibc-2.3.5/sysdeps/hppa.bak/fpu/feupdateenv.c 2004-04-17 22:51:43.000000000 +0000 ++++ glibc-2.3.5/sysdeps/hppa/fpu/feupdateenv.c 2005-10-14 18:10:40.000000000 +0000 +@@ -19,18 +19,19 @@ + 02111-1307 USA. */ + + #include ++#include + + int + feupdateenv (const fenv_t *envp) + { +- unsigned int sw[2]; ++ union { unsigned long long l; unsigned int sw[2]; } s; + + /* Get the current exception status. */ +- __asm__ ("fstd %%fr0,0(%1)" : "=m" (*sw) : "r" (sw)); ++ __asm__ ("fstd %%fr0,0(%1)" : "=m" (s.l) : "r" (&s.l)); + /* Install new environment. */ + fesetenv (envp); + /* Raise the saved exceptions */ +- feraiseexcept(sw[0] & FE_ALL_EXCEPT); ++ feraiseexcept(s.sw[0] & FE_ALL_EXCEPT); + + /* Success. */ + return 0; +diff -ur glibc-2.3.5/sysdeps/hppa.bak/fpu/fgetexcptflg.c glibc-2.3.5/sysdeps/hppa/fpu/fgetexcptflg.c +--- glibc-2.3.5/sysdeps/hppa.bak/fpu/fgetexcptflg.c 2001-07-06 04:55:52.000000000 +0000 ++++ glibc-2.3.5/sysdeps/hppa/fpu/fgetexcptflg.c 2005-10-14 17:57:37.000000000 +0000 +@@ -23,12 +23,12 @@ + int + fegetexceptflag (fexcept_t *flagp, int excepts) + { +- unsigned int sw[2]; ++ union { unsigned long long l; unsigned int sw[2]; } s; + + /* Get the current status word. */ +- __asm__ ("fstd %%fr0,0(%1)" : "=m" (*sw) : "r" (sw)); ++ __asm__ ("fstd %%fr0,0(%1)" : "=m" (s.l) : "r" (&s.l)); + +- *flagp = (sw[0] >> 27) & excepts & FE_ALL_EXCEPT; ++ *flagp = (s.sw[0] >> 27) & excepts & FE_ALL_EXCEPT; + + /* Success. */ + return 0; +diff -ur glibc-2.3.5/sysdeps/hppa.bak/fpu/fsetexcptflg.c glibc-2.3.5/sysdeps/hppa/fpu/fsetexcptflg.c +--- glibc-2.3.5/sysdeps/hppa.bak/fpu/fsetexcptflg.c 2003-12-18 03:58:26.000000000 +0000 ++++ glibc-2.3.5/sysdeps/hppa/fpu/fsetexcptflg.c 2005-10-14 17:57:28.000000000 +0000 +@@ -24,16 +24,16 @@ + int + fesetexceptflag (const fexcept_t *flagp, int excepts) + { +- unsigned int sw[2]; ++ union { unsigned long long l; unsigned int sw[2]; } s; + + /* Get the current status word. */ +- __asm__ ("fstd %%fr0,0(%1)" : "=m" (*sw) : "r" (sw)); ++ __asm__ ("fstd %%fr0,0(%1)" : "=m" (s.l) : "r" (&s.l)); + + /* Install new enable trap bits */ +- sw[0] |= (*flagp & excepts & FE_ALL_EXCEPT) << 27; ++ s.sw[0] |= (*flagp & excepts & FE_ALL_EXCEPT) << 27; + + /* Store the new status word. */ +- __asm__ ("fldd 0(%0),%%fr0" : : "r" (sw)); ++ __asm__ ("fldd 0(%0),%%fr0" : : "r" (&s.l), "m" (s.l)); + + /* Success. */ + return 0; +diff -ur glibc-2.3.5/sysdeps/hppa.bak/fpu/ftestexcept.c glibc-2.3.5/sysdeps/hppa/fpu/ftestexcept.c +--- glibc-2.3.5/sysdeps/hppa.bak/fpu/ftestexcept.c 2001-07-06 04:55:52.000000000 +0000 ++++ glibc-2.3.5/sysdeps/hppa/fpu/ftestexcept.c 2005-10-14 18:10:05.000000000 +0000 +@@ -23,10 +23,10 @@ + int + fetestexcept (int excepts) + { +- unsigned int sw[2]; ++ union { unsigned long long l; unsigned int sw[2]; } s; + + /* Get the current status word. */ +- __asm__ ("fstd %%fr0,0(%1)" : "=m" (*sw) : "r" (sw)); ++ __asm__ ("fstd %%fr0,0(%1)" : "=m" (s.l) : "r" (&s.l)); + +- return (sw[0] >> 27) & excepts & FE_ALL_EXCEPT; ++ return (s.sw[0] >> 27) & excepts & FE_ALL_EXCEPT; + } --- glibc-2.3.6.orig/debian/local/etc_default/devpts +++ glibc-2.3.6/debian/local/etc_default/devpts @@ -0,0 +1,5 @@ +# GID of the `tty' group +TTYGRP=5 + +# Set to 600 to have `mesg n' be the default +TTYMODE=620 --- glibc-2.3.6.orig/debian/local/etc_init.d/nscd +++ glibc-2.3.6/debian/local/etc_init.d/nscd @@ -0,0 +1,113 @@ +#!/bin/sh +# +### BEGIN INIT INFO +# Provides: nscd +# Required-Start: $syslog +# Required-Stop: $syslog +# Should-Start: $network slapd $named +# Should-Stop: $network slapd $named +# Default-Start: 2 3 4 5 +# Default-Stop: S 0 1 6 +### END INIT INFO +# +# nscd: Starts the Name Service Cache Daemon +# +# description: This is a daemon which handles passwd and group lookups +# for running programs and caches the results for the next +# query. You should start this daemon only if you use +# slow Services like NIS or NIS+ + +NAME="nscd" +DESC="name service cache" +DAEMON="/usr/sbin/nscd" +PIDFILE="/var/run/nscd.pid" + +[ -x "$DAEMON" ] || exit 0 + +# Set PATH? + +[ -s "/etc/nscd.conf" ] || exit 0 + +# nscd does not run on any kernel lower than 2.2.0 because of threading problems +case "$(uname -r)" in + 2.[0-1].*|1.*) exit 0 ;; +esac + +start() +{ + # Return + # 0 if daemon has been started + # 1 if daemon was already running + # 2 if daemon could not be started + SECURE="" + for TABLE in passwd group + do + if egrep '^'$TABLE':.*nisplus' /etc/nsswitch.conf >/dev/null + then + /usr/sbin/nscd_nischeck "$TABLE" || SECURE="$SECURE -S $TABLE,yes" + fi + done + start-stop-daemon --start --quiet --pidfile "$PIDFILE" --exec "$DAEMON" --test > /dev/null || return 1 + start-stop-daemon --start --quiet --pidfile "$PIDFILE" --exec "$DAEMON" -- \ + $SECURE || return 2 +} + +stop() +{ + # Return + # 0 if daemon has been stopped + # 1 if daemon was already stopped + # 2 if daemon could not be stopped + start-stop-daemon --stop --quiet --retry=TERM/5/HUP/30/KILL/5 --pidfile "$PIDFILE" --name "$NAME" + RETVAL="$?" + [ "$RETVAL" = 2 ] && return 2 + # Wait for children to finish too + start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec "$DAEMON" > /dev/null + [ "$?" = 2 ] && return 2 + rm -f "$PIDFILE" + return "$RETVAL" +} + +case "$1" in +start) + echo -n "Starting $DESC: $NAME" + start + case "$?" in + 0) echo "." ; exit 0 ;; + 1) echo " (already running)." ; exit 0 ;; + *) echo " (failed)." ; exit 1 ;; + esac + ;; +stop) + echo -n "Stopping $DESC: $NAME" + stop + case "$?" in + 0) echo "." ; exit 0 ;; + 1) echo " (not running)." ; exit 0 ;; + *) echo " (failed)." ; exit 1 ;; + esac + ;; +restart|force-reload|reload) + echo -n "Restarting $DESC: $NAME" + stop + case "$?" in + 0|1) + start + case "$?" in + 0) echo "." ; exit 0 ;; + 1) echo " (failed -- old process is still running)." ; exit 1 ;; + *) echo " (failed to start)." ; exit 1 ;; + esac + ;; + *) + echo " (failed to stop)." + exit 1 + ;; + esac + ;; +*) + echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload}" >&2 + exit 3 + ;; +esac + --- glibc-2.3.6.orig/debian/local/etc_init.d/glibc.sh +++ glibc-2.3.6/debian/local/etc_init.d/glibc.sh @@ -0,0 +1,18 @@ +#! /bin/sh -e +# +### BEGIN INIT INFO +# Provides: glibc +# Required-Start: +# Required-Stop: +# Default-Start: S +# Default-Stop: +### END INIT INFO +# +# This script is existed for detecting depreciated kernel version to +# check glibc incompatibility. + +if [ "`uname -s`" = Linux ]; then + # glibc kernel version check: KERNEL_VERSION_CHECK +fi + +: exit 0 --- glibc-2.3.6.orig/debian/local/usr_sbin/locale-gen +++ glibc-2.3.6/debian/local/usr_sbin/locale-gen @@ -0,0 +1,54 @@ +#!/bin/sh + +set -e + +LOCALEGEN=/etc/locale.gen +LOCALES=/usr/share/i18n/locales +if [ -n "$POSIXLY_CORRECT" ]; then + unset POSIXLY_CORRECT +fi + + +[ -f $LOCALEGEN -a -s $LOCALEGEN ] || exit 0; + +KEEP= +if [ "$1" = '--keep-existing' ]; then + KEEP=1 +fi + +if [ -z "$KEEP" ]; then + # Remove all old locale dir and locale-archive before generating new + # locale data. + rm -rf /usr/lib/locale/* || true +fi + +umask 022 + +is_entry_ok() { + if [ -n "$locale" -a -n "$charset" ] ; then + true + else + echo "error: Bad entry '$locale $charset'" + false + fi +} + +echo "Generating locales..." +while read locale charset; do \ + case $locale in \#*) continue;; "") continue;; esac; \ + is_entry_ok || continue + if [ "$KEEP" ] && PERL_BADLANG=0 perl -MPOSIX -e \ + 'exit 1 unless setlocale(LC_ALL, $ARGV[0])' "$locale"; then + continue + fi + + echo -n " `echo $locale | sed 's/\([^.\@]*\).*/\1/'`"; \ + echo -n ".$charset"; \ + echo -n `echo $locale | sed 's/\([^\@]*\)\(\@.*\)*/\2/'`; \ + echo -n '...'; \ + if [ -f $LOCALES/$locale ]; then input=$locale; else \ + input=`echo $locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; fi; \ + localedef -i $input -c -f $charset -A /etc/locale.alias $locale; \ + echo ' done'; \ +done < $LOCALEGEN +echo "Generation complete." --- glibc-2.3.6.orig/debian/local/usr_sbin/tzconfig +++ glibc-2.3.6/debian/local/usr_sbin/tzconfig @@ -0,0 +1,124 @@ +#! /bin/sh + +# Copyright (C) 2001 Software in the Public Interest +# +# Licensed under the GPL v2 +# + +show_continents() { + +cat < $TIMEZONES ) +valid=no +while [ $valid = no ]; do + show_continents + echo -n "Number: " ; read area + case $area in + 1) continent=Africa ; valid=yes ;; + 2) continent=America ; valid=yes ;; + 3) continent=US ; valid=yes ;; + 4) continent=Canada ; valid=yes ;; + 5) continent=Asia ; valid=yes ;; + 6) continent=Atlantic ; valid=yes ;; + 7) continent=Australia ; valid=yes ;; + 8) continent=Europe ; valid=yes ;; + 9) continent=Indian ; valid=yes ;; + 10) continent=Pacific ; valid=yes ;; + 11) continent=SystemV ; valid=yes ;; + 12) continent=Etc ; valid=yes ;; + esac +done + +if [ -x /usr/bin/fmt ]; then fmt_bin=/usr/bin/fmt +else fmt_bin=/bin/more ; fi + +valid=no +zone="" + +while [ $valid = no ]; do + if [ -n "$zone" ]; then + # We accept the zone if either it is an unambiguous prefix, or + # it is a complete zone name. + number=`grep -i -c "^$continent/$zone" $TIMEZONES` + if [ $number -eq 1 ]; then + timezone=`grep -i "^$continent/$zone" $TIMEZONES` + else + timezone=`grep -i -s "^$continent/$zone"'$' $TIMEZONES` + fi + + if [ -n "$timezone" ]; then + zone_info + echo "Your default time zone is set to '$timezone'.$extra_info" + valid=yes + break + fi + fi + echo + grep -i "^$continent/$zone" $TIMEZONES | cut -d/ -f2- | $fmt_bin + echo + echo "Please enter the name of one of these cities or zones" + echo "You just need to type enough letters to resolve ambiguities" + echo "Press Enter to view all of them again" + echo -n "Name: [$zone] " ; read zone +done + +echo $timezone > /etc/timezone +#zic -l $timezone +rm -f /etc/localtime && ln -sf /usr/share/zoneinfo/$timezone /etc/localtime +trap 'rm -f $TIMEZONES' 0 1 2 3 13 15 --- glibc-2.3.6.orig/debian/local/usr_sbin/remove-language-locales +++ glibc-2.3.6/debian/local/usr_sbin/remove-language-locales @@ -0,0 +1,38 @@ +#!/bin/sh -e + +if [ -z "$1" ]; then + echo "Usage: $0 " + exit 0 +fi + +[ -f /etc/locale.gen ] || exit 0 + +NEW=$(mktemp -t locale.gen.XXXXXX) +trap "rm -f $NEW" 0 1 2 3 5 7 10 13 15 + +unset changed + +deflocale=None +if [ -e /etc/environment ]; then + deflocale=$(awk 'BEGIN {lang="None"} /^LANG=/ {gsub("\"", ""); sub("LANG=", ""); lang=$0;} END {print lang}' /etc/environment) +fi + +# remove all lines which match the selected language (in $1), but not +# $deflocale + +cat /etc/locale.gen | ( + while read line; do + if echo "$line" | grep -q "^$deflocale" || + ! echo "$line" | grep -q "^$1_.*UTF-8$"; then + echo "$line" >> $NEW + fi + done +) + +cmp -s /etc/locale.gen $NEW || changed=1 + +if [ "$changed" ]; then + mv -b --suffix ".old" -f $NEW /etc/locale.gen + chmod 644 /etc/locale.gen + /usr/sbin/locale-gen +fi --- glibc-2.3.6.orig/debian/local/usr_sbin/install-language-locales +++ glibc-2.3.6/debian/local/usr_sbin/install-language-locales @@ -0,0 +1,30 @@ +#!/bin/sh -e + +if [ -z "$1" ]; then + echo "Usage: $0 " + exit 0 +fi + +NEW=$(mktemp -t locale.gen.XXXXXX) +trap "rm -f $NEW" 0 1 2 3 5 7 10 13 15 + +if [ -f /etc/locale.gen ]; then + grep "^$1_.*UTF-8$" /usr/share/i18n/SUPPORTED | grep -v '@euro' | ( + while read locale encoding; do + if ! grep -q "^$locale" /etc/locale.gen; then + echo "$locale $encoding" >> $NEW + changed=1 + fi + done + [ "$changed" ] || rm -f "$NEW" + ) + + if [ -f "$NEW" ]; then + cat $NEW >> /etc/locale.gen + /usr/sbin/locale-gen --keep-existing + fi +else + grep "^$1_.*UTF-8$" /usr/share/i18n/SUPPORTED | grep -v '@euro' > /etc/locale.gen + /usr/sbin/locale-gen +fi + --- glibc-2.3.6.orig/debian/local/manpages/Makefile +++ glibc-2.3.6/debian/local/manpages/Makefile @@ -0,0 +1,20 @@ +#! /usr/bin/make -f + +DIRS := de es fr id pl pt_BR + +SGML_MAN = locale-gen.8 + +all: $(patsubst %.pod,%.1,$(wildcard *.pod)) $(SGML_MAN) po4a-man +%.1: %.pod + pod2man --center="Debian GNU/Linux" --release="woody" $< > $@ + +locale-gen.8: locale-gen.8.sgml + docbook-to-man $< > $@ + +po4a-man: + po4a -q po4a.cfg + +clean: + po4a -q po4a.cfg + $(foreach dir, $(DIRS), rm -rf $(dir)/*.8) + rm -f po/*~ --- glibc-2.3.6.orig/debian/local/manpages/catchsegv.1 +++ glibc-2.3.6/debian/local/manpages/catchsegv.1 @@ -0,0 +1,218 @@ +.rn '' }` +''' $RCSfile: catchsegv.1,v $$Revision: 1.1.2.1 $$Date: 2003/09/22 21:33:35 $ +''' +''' $Log: catchsegv.1,v $ +''' Revision 1.1.2.1 2003/09/22 21:33:35 jbailey +''' New directory for things we add to the package +''' +''' +.de Sh +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp +.if t .sp .5v +.if n .sp +.. +.de Ip +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.de Vb +.ft CW +.nf +.ne \\$1 +.. +.de Ve +.ft R + +.fi +.. +''' +''' +''' Set up \*(-- to give an unbreakable dash; +''' string Tr holds user defined translation string. +''' Bell System Logo is used as a dummy character. +''' +.tr \(*W-|\(bv\*(Tr +.ie n \{\ +.ds -- \(*W- +.ds PI pi +.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +.ds L" "" +.ds R" "" +''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of +''' \*(L" and \*(R", except that they are used on ".xx" lines, +''' such as .IP and .SH, which do another additional levels of +''' double-quote interpretation +.ds M" """ +.ds S" """ +.ds N" """"" +.ds T" """"" +.ds L' ' +.ds R' ' +.ds M' ' +.ds S' ' +.ds N' ' +.ds T' ' +'br\} +.el\{\ +.ds -- \(em\| +.tr \*(Tr +.ds L" `` +.ds R" '' +.ds M" `` +.ds S" '' +.ds N" `` +.ds T" '' +.ds L' ` +.ds R' ' +.ds M' ` +.ds S' ' +.ds N' ` +.ds T' ' +.ds PI \(*p +'br\} +.\" If the F register is turned on, we'll generate +.\" index entries out stderr for the following things: +.\" TH Title +.\" SH Header +.\" Sh Subsection +.\" Ip Item +.\" X<> Xref (embedded +.\" Of course, you have to process the output yourself +.\" in some meaninful fashion. +.if \nF \{ +.de IX +.tm Index:\\$1\t\\n%\t"\\$2" +.. +.nr % 0 +.rr F +.\} +.TH CATCHSEGV 1 "woody" "7/Jan/2001" "Debian GNU/Linux" +.UC +.if n .hy 0 +.if n .na +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.de CQ \" put $1 in typewriter font +.ft CW +'if n "\c +'if t \\&\\$1\c +'if n \\&\\$1\c +'if n \&" +\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 +'.ft R +.. +.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 +. \" AM - accent mark definitions +.bd B 3 +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds ? ? +. ds ! ! +. ds / +. ds q +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' +. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] +.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' +.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' +.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +.ds oe o\h'-(\w'o'u*4/10)'e +.ds Oe O\h'-(\w'O'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds v \h'-1'\o'\(aa\(ga' +. ds _ \h'-1'^ +. ds . \h'-1'. +. ds 3 3 +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +. ds oe oe +. ds Oe OE +.\} +.rm #[ #] #H #V #F C +.SH "NAME" +catchsegv \- Catch segmentation faults in programs +.SH "SYNOPSIS" +\fBcatchsegv\fR \fBprogram\fR [\fBargs\fR] +.SH "DESCRIPTION" +Used to debug segmentation faults in programs. The output is the +content of registers, plus a backtrace. Basically you call your +program and its arguments as the arguments to catchsegv. +.SH "AUTHOR" +\fIcatchsegv\fR was written by Ulrich Drepper for the GNU C Library +.PP +This man page was written by Ben Collins for +the Debian GNU/Linux system. + +.rn }` '' +.IX Title "CATCHSEGV 1" +.IX Name "catchsegv - Catch segmentation faults in programs" + +.IX Header "NAME" + +.IX Header "SYNOPSIS" + +.IX Header "DESCRIPTION" + +.IX Header "AUTHOR" + --- glibc-2.3.6.orig/debian/local/manpages/catchsegv.pod +++ glibc-2.3.6/debian/local/manpages/catchsegv.pod @@ -0,0 +1,20 @@ +=head1 NAME + +catchsegv - Catch segmentation faults in programs + +=head1 SYNOPSIS + +B B [B] + +=head1 DESCRIPTION + +Used to debug segmentation faults in programs. The output is the +content of registers, plus a backtrace. Basically you call your +program and its arguments as the arguments to catchsegv. + +=head1 AUTHOR + +I was written by Ulrich Drepper for the GNU C Library + +This man page was written by Ben Collins Ebcollins@debian.orgE for +the Debian GNU/Linux system. --- glibc-2.3.6.orig/debian/local/manpages/es/addendum.es +++ glibc-2.3.6/debian/local/manpages/es/addendum.es @@ -0,0 +1,3 @@ + +.SH TRADUCTOR +Traducción de Rubén Porras Campo --- glibc-2.3.6.orig/debian/local/manpages/es/validlocale.es.8 +++ glibc-2.3.6/debian/local/manpages/es/validlocale.es.8 @@ -0,0 +1,54 @@ +.\" This file was generated with po4a. Translate the source file. +.\" +.TH validlocale 8 0.1 "Petter Reinholdtsen" "" +.SH NOMBRE +.LP +validlocale \- Comprueba si la opción de localización dada está disponible +.SH SINTAXIS +.LP +validlocale <\fIopción_de_localización\fP> +.SH DESCRIPCIÓN +.LP +Comprueba si la opción de localización dada como argumento es válida. Si no +lo es muestra en la stdout (salida estándar) la cadena de caracteres que se +necesita añadir a /etc/locale.gen para que locale\-gen genere esa opción de +localización (si es que existe). +.SH FICHEROS +.LP +\fI/usr/sbin/validlocale\fP +.br +\fI/usr/share/i18n/SUPPORTED\fP +.SH "VARIABLES DE ENTORNO" +.LP +.TP +\fBDEFAULTCHARSET\fP +El juego de caracteres que asume en caso de que la opción de localización +dada no esté entre la lista de opciones de localización soportadas. +.SH EJEMPLOS +.LP +Si usted proporciona una opción de localización válida como parámetro, +muestra una cadena de caracteres especificándolo en stderr (salida de +errores estándar): +.LP +.IP +% validlocale C +.br +locale 'C' valid and available +.LP +Cuando se proporcione una inválida (no ha sido generada o no existe), +muestra una cadena de caracteres en stderr diciendo que es inválida, y otra +a stdout con la cadena de caracteres que se necesita añadir a +/etc/locale.gen para que se genere: +.LP +.IP +% validlocale de_AU@euro +.br +locale 'de_AT@euro' not available +.br +de_AT@euro ISO\-8859\-15 +.SH AUTORES +.LP +Petter Reinholdtsen +.SH "VÉASE ADEMÁS" +.LP +locale\-gen(8), localedef(1), locale(1) --- glibc-2.3.6.orig/debian/local/manpages/fr/addendum.fr +++ glibc-2.3.6/debian/local/manpages/fr/addendum.fr @@ -0,0 +1,4 @@ +PO4A-HEADER:mode=after;position=AUTEUR;beginboundary=\.SH + +.SH "TRADUCTION" +Clément Stenac, 2005. Veuillez signaler toute erreur à --- glibc-2.3.6.orig/debian/local/manpages/fr/termwrap.add +++ glibc-2.3.6/debian/local/manpages/fr/termwrap.add @@ -0,0 +1,4 @@ +PO4A-HEADER:mode=after;position=OPTIONS;beginboundary=\.SH + +.SH "TRADUCTION" +Clément Stenac, 2005. Veuillez signaler toute erreur à --- glibc-2.3.6.orig/debian/local/manpages/fr/validlocale.fr.8 +++ glibc-2.3.6/debian/local/manpages/fr/validlocale.fr.8 @@ -0,0 +1,57 @@ +.\" This file was generated with po4a. Translate the source file. +.\" +.TH validlocale 8 0.1 "Petter Reinholdtsen" "" +.SH NOM +.LP +validlocale \- vérifie si un ensemble donné de paramètres régionaux est +disponible +.SH SYNTAXE +.LP +validlocale <\fIlocale\fP> +.SH DESCRIPTION +.LP +Teste si l'ensemble de paramètres régionaux donné en argument est +valable. S'il ne l'est pas, affiche sur la sortie standard la chaîne de +caractères à ajouter à /etc/locale.gen afin de permettre à locale\-gen de +générer l'ensemble de paramètres (s'il existe). +.SH FICHIERS +.LP +\fI/us/sbin/validlocale\fP +.br +\fI/usr/share/i18n/SUPPORTED\fP +.SH "VARIABLES D'ENVIRONNEMENT" +.LP +.TP +\fBDEFAULTCHARSET\fP +Indique quel encodage de caractères doit être supposé si la locale donnée +n'est pas dans la liste des locales gérées. +.SH EXEMPLES +.LP +Si vous indiquez comme paramètre une locale valabe, vous recevrez ceci sur +la sortie d'erreur +.LP +.IP +% validlocale C +.br +locale «\ C\ » valide et disponible +.LP +Lorsqu'une locale non valable (non créée ou inexistante) est indiquée, vous +recevrez un message sur la sortie d'erreur disant qu'il s'agit d'une locale +non valable et une chaîne de caractères sur la sortie standard à ajouter à +/etc/locale.gen pour que la locale soit créée\ : +.LP +.IP +% validlocale de_AU@euro +.br +locale «\ de_AT@euro\ » non disponible +.br +de_AT@euro ISO\-8859\-15 +.SH AUTEURS +.LP +Petter·Reinholdtsen· + +.SH "TRADUCTION" +Clément Stenac, 2005. Veuillez signaler toute erreur à +.SH "VOIR AUSSI" +.LP +locale\-gen(8), localedef(1), locale(1) --- glibc-2.3.6.orig/debian/local/manpages/gencat.1 +++ glibc-2.3.6/debian/local/manpages/gencat.1 @@ -0,0 +1,240 @@ +.rn '' }` +''' $RCSfile: gencat.1,v $$Revision: 1.1 $$Date: 2004-11-06 05:21:19 -0500 (Sat, 06 Nov 2004) $ +''' +''' $Log: gencat.1,v $ +''' Revision 1.1 2003/11/03 17:37:27 jbailey +''' - debian/local/manpages/gencat.1: New file. +''' - debian/local/manpages/trace.1: New file. +''' - debian/debhelper.in/libc-dev.manpages: Install them. +''' - debian/local/manpages/iconvconfig.8: New file. +''' - debian/debhelper.in/libc.manpages: Install it. +''' +''' Revision 1.1.2.2 2003/10/28 05:48:08 dan +''' - Re-add debian/patches/80_glibc232-locales-nb_NO-fix.dpatch, which had +''' gotten lost. +''' - Re-add typo fixes to iconv.1 and rpcgen.1. +''' - Merge iconv.1 fix to iconv.pod. +''' - Fix ld.so name in ld.so.8. +''' - Re-add fix for locale-gen and POSIXLY_CORRECT. +''' +''' +.de Sh +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp +.if t .sp .5v +.if n .sp +.. +.de Ip +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.de Vb +.ft CW +.nf +.ne \\$1 +.. +.de Ve +.ft R + +.fi +.. +''' +''' +''' Set up \*(-- to give an unbreakable dash; +''' string Tr holds user defined translation string. +''' Bell System Logo is used as a dummy character. +''' +.tr \(*W-|\(bv\*(Tr +.ie n \{\ +.ds -- \(*W- +.ds PI pi +.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +.ds L" "" +.ds R" "" +''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of +''' \*(L" and \*(R", except that they are used on ".xx" lines, +''' such as .IP and .SH, which do another additional levels of +''' double-quote interpretation +.ds M" """ +.ds S" """ +.ds N" """"" +.ds T" """"" +.ds L' ' +.ds R' ' +.ds M' ' +.ds S' ' +.ds N' ' +.ds T' ' +'br\} +.el\{\ +.ds -- \(em\| +.tr \*(Tr +.ds L" `` +.ds R" '' +.ds M" `` +.ds S" '' +.ds N" `` +.ds T" '' +.ds L' ` +.ds R' ' +.ds M' ` +.ds S' ' +.ds N' ` +.ds T' ' +.ds PI \(*p +'br\} +.\" If the F register is turned on, we'll generate +.\" index entries out stderr for the following things: +.\" TH Title +.\" SH Header +.\" Sh Subsection +.\" Ip Item +.\" X<> Xref (embedded +.\" Of course, you have to process the output yourself +.\" in some meaninful fashion. +.if \nF \{ +.de IX +.tm Index:\\$1\t\\n%\t"\\$2" +.. +.nr % 0 +.rr F +.\} +.TH GENCAT 1 "November 2003" "gencat (glibc)" "Debian" +.UC +.if n .hy 0 +.if n .na +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.de CQ \" put $1 in typewriter font +.ft CW +'if n "\c +'if t \\&\\$1\c +'if n \\&\\$1\c +'if n \&" +\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 +'.ft R +.. +.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 +. \" AM - accent mark definitions +.bd B 3 +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds ? ? +. ds ! ! +. ds / +. ds q +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' +. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] +.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' +.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' +.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +.ds oe o\h'-(\w'o'u*4/10)'e +.ds Oe O\h'-(\w'O'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds v \h'-1'\o'\(aa\(ga' +. ds _ \h'-1'^ +. ds . \h'-1'. +. ds 3 3 +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +. ds oe oe +. ds Oe OE +.\} +.rm #[ #] #H #V #F C +.SH "NAME" +gencat \- Generate message catalog +.SH "SYNOPSIS" +gencat [OPTION...] -o OUTPUT-FILE [INPUT-FILE]... +.SH "DESCRIPTION" +The \fBgencat\fR program is specified in the X/Open standard and the +GNU implementation follows this specification and so processes all +correctly formed input files. Additionally some extension are implemented +which help to work in a more reasonable way with the \fBcatgets\fR(3) functions. +.PP +.TP +\fB-H\fR, \fB--header\fR \fINAME\fR +Create C header file NAME containing symbol definitions +.TP +\fB--new\fR +Do not use existing catalog, force new output file +.TP +\fB-o\fR, \fB--output\fR \fINAME\fR +Write output to file NAME +.SH "AUTHOR" +\fIgencat\fR was written by Ulrich Drepper as part of the GNU C Library. +.PP +This man page was written by Jeff Bailey . + +.rn }` '' +.IX Title "GENCAT 1" +.IX Name "gencat - Generate message catalog" + +.IX Header "NAME" + +.IX Header "SYNOPSIS" + +.IX Header "DESCRIPTION" + +.IX Header "AUTHOR" + --- glibc-2.3.6.orig/debian/local/manpages/getconf.1 +++ glibc-2.3.6/debian/local/manpages/getconf.1 @@ -0,0 +1,239 @@ +.rn '' }` +''' $RCSfile: getconf.1,v $$Revision: 1.1.2.1 $$Date: 2003/09/22 21:33:35 $ +''' +''' $Log: getconf.1,v $ +''' Revision 1.1.2.1 2003/09/22 21:33:35 jbailey +''' New directory for things we add to the package +''' +''' +.de Sh +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp +.if t .sp .5v +.if n .sp +.. +.de Ip +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.de Vb +.ft CW +.nf +.ne \\$1 +.. +.de Ve +.ft R + +.fi +.. +''' +''' +''' Set up \*(-- to give an unbreakable dash; +''' string Tr holds user defined translation string. +''' Bell System Logo is used as a dummy character. +''' +.tr \(*W-|\(bv\*(Tr +.ie n \{\ +.ds -- \(*W- +.ds PI pi +.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +.ds L" "" +.ds R" "" +''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of +''' \*(L" and \*(R", except that they are used on ".xx" lines, +''' such as .IP and .SH, which do another additional levels of +''' double-quote interpretation +.ds M" """ +.ds S" """ +.ds N" """"" +.ds T" """"" +.ds L' ' +.ds R' ' +.ds M' ' +.ds S' ' +.ds N' ' +.ds T' ' +'br\} +.el\{\ +.ds -- \(em\| +.tr \*(Tr +.ds L" `` +.ds R" '' +.ds M" `` +.ds S" '' +.ds N" `` +.ds T" '' +.ds L' ` +.ds R' ' +.ds M' ` +.ds S' ' +.ds N' ` +.ds T' ' +.ds PI \(*p +'br\} +.\" If the F register is turned on, we'll generate +.\" index entries out stderr for the following things: +.\" TH Title +.\" SH Header +.\" Sh Subsection +.\" Ip Item +.\" X<> Xref (embedded +.\" Of course, you have to process the output yourself +.\" in some meaninful fashion. +.if \nF \{ +.de IX +.tm Index:\\$1\t\\n%\t"\\$2" +.. +.nr % 0 +.rr F +.\} +.TH GETCONF 1 "woody" "7/Jan/2001" "Debian GNU/Linux" +.UC +.if n .hy 0 +.if n .na +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.de CQ \" put $1 in typewriter font +.ft CW +'if n "\c +'if t \\&\\$1\c +'if n \\&\\$1\c +'if n \&" +\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 +'.ft R +.. +.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 +. \" AM - accent mark definitions +.bd B 3 +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds ? ? +. ds ! ! +. ds / +. ds q +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' +. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] +.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' +.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' +.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +.ds oe o\h'-(\w'o'u*4/10)'e +.ds Oe O\h'-(\w'O'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds v \h'-1'\o'\(aa\(ga' +. ds _ \h'-1'^ +. ds . \h'-1'. +. ds 3 3 +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +. ds oe oe +. ds Oe OE +.\} +.rm #[ #] #H #V #F C +.SH "NAME" +getconf \- Query system configuration variables +.SH "SYNOPSIS" +\fBgetconf\fR [\fB\-v specification\fR] system_var +.PP +\fBgetconf\fR [\fB\-v specification\fR] path_var pathname +.SH "DESCRIPTION" +\fB\-v\fR +.PP +.Vb 2 +\& Indicate the specification and version for which to obtain +\& configuration variables. +.Ve +\fBsystem_var\fR +.PP +.Vb 2 +\& A system configuration variable, as defined by sysconf(3) or +\& confstr(3). +.Ve +\fBpath_var\fR +.PP +.Vb 2 +\& A system configuration variable as defined by pathconf(3). This +\& must be used with a pathname. +.Ve +.SH "AUTHOR" +\fIgetconf\fR was written by Roland McGrath for the GNU C Library +.PP +This man page was written by Ben Collins for +the Debian GNU/Linux system. +.SH "SEE ALSO" +\fBsysconf\fR(3), \fBpathconf\fR(3), \fBconfstr\fR(3) + +.rn }` '' +.IX Title "GETCONF 1" +.IX Name "getconf - Query system configuration variables" + +.IX Header "NAME" + +.IX Header "SYNOPSIS" + +.IX Header "DESCRIPTION" + +.IX Header "AUTHOR" + +.IX Header "SEE ALSO" + --- glibc-2.3.6.orig/debian/local/manpages/getconf.pod +++ glibc-2.3.6/debian/local/manpages/getconf.pod @@ -0,0 +1,37 @@ +=head1 NAME + +getconf - Query system configuration variables + +=head1 SYNOPSIS + +B [B<-v specification>] system_var + +B [B<-v specification>] path_var pathname + +=head1 DESCRIPTION + +B<-v> + + Indicate the specification and version for which to obtain + configuration variables. + +B + + A system configuration variable, as defined by sysconf(3) or + confstr(3). + +B + + A system configuration variable as defined by pathconf(3). This + must be used with a pathname. + +=head1 AUTHOR + +I was written by Roland McGrath for the GNU C Library + +This man page was written by Ben Collins Ebcollins@debian.orgE for +the Debian GNU/Linux system. + +=head1 SEE ALSO + +B(3), B(3), B(3) --- glibc-2.3.6.orig/debian/local/manpages/getent.1 +++ glibc-2.3.6/debian/local/manpages/getent.1 @@ -0,0 +1,219 @@ +.rn '' }` +''' $RCSfile: getent.1,v $$Revision: 1.1.2.1 $$Date: 2003/09/22 21:33:35 $ +''' +''' $Log: getent.1,v $ +''' Revision 1.1.2.1 2003/09/22 21:33:35 jbailey +''' New directory for things we add to the package +''' +''' +.de Sh +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp +.if t .sp .5v +.if n .sp +.. +.de Ip +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.de Vb +.ft CW +.nf +.ne \\$1 +.. +.de Ve +.ft R + +.fi +.. +''' +''' +''' Set up \*(-- to give an unbreakable dash; +''' string Tr holds user defined translation string. +''' Bell System Logo is used as a dummy character. +''' +.tr \(*W-|\(bv\*(Tr +.ie n \{\ +.ds -- \(*W- +.ds PI pi +.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +.ds L" "" +.ds R" "" +''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of +''' \*(L" and \*(R", except that they are used on ".xx" lines, +''' such as .IP and .SH, which do another additional levels of +''' double-quote interpretation +.ds M" """ +.ds S" """ +.ds N" """"" +.ds T" """"" +.ds L' ' +.ds R' ' +.ds M' ' +.ds S' ' +.ds N' ' +.ds T' ' +'br\} +.el\{\ +.ds -- \(em\| +.tr \*(Tr +.ds L" `` +.ds R" '' +.ds M" `` +.ds S" '' +.ds N" `` +.ds T" '' +.ds L' ` +.ds R' ' +.ds M' ` +.ds S' ' +.ds N' ` +.ds T' ' +.ds PI \(*p +'br\} +.\" If the F register is turned on, we'll generate +.\" index entries out stderr for the following things: +.\" TH Title +.\" SH Header +.\" Sh Subsection +.\" Ip Item +.\" X<> Xref (embedded +.\" Of course, you have to process the output yourself +.\" in some meaninful fashion. +.if \nF \{ +.de IX +.tm Index:\\$1\t\\n%\t"\\$2" +.. +.nr % 0 +.rr F +.\} +.TH GETENT 1 "woody" "7/Jan/2001" "Debian GNU/Linux" +.UC +.if n .hy 0 +.if n .na +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.de CQ \" put $1 in typewriter font +.ft CW +'if n "\c +'if t \\&\\$1\c +'if n \\&\\$1\c +'if n \&" +\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 +'.ft R +.. +.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 +. \" AM - accent mark definitions +.bd B 3 +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds ? ? +. ds ! ! +. ds / +. ds q +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' +. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] +.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' +.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' +.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +.ds oe o\h'-(\w'o'u*4/10)'e +.ds Oe O\h'-(\w'O'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds v \h'-1'\o'\(aa\(ga' +. ds _ \h'-1'^ +. ds . \h'-1'. +. ds 3 3 +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +. ds oe oe +. ds Oe OE +.\} +.rm #[ #] #H #V #F C +.SH "NAME" +getent \- get entries from administrative database +.SH "SYNOPSIS" +\fBgetent\fR \fIdatabase\fR [\fIkey\fR ...] +.SH "DESCRIPTION" +The \fIgetent\fR program gathers entries from the specified +administrative database using the specified search keys. +Where \fIdatabase\fR is one of passwd, group, hosts, services, protocols, +or networks. +.SH "AUTHOR" +\fIgetent\fR was written by Thorsten Kukuk for the GNU C Library. +.PP +This man page was written by Joel Klecker for +the Debian GNU/Linux system. + +.rn }` '' +.IX Title "GETENT 1" +.IX Name "getent - get entries from administrative database" + +.IX Header "NAME" + +.IX Header "SYNOPSIS" + +.IX Header "DESCRIPTION" + +.IX Header "AUTHOR" + --- glibc-2.3.6.orig/debian/local/manpages/getent.pod +++ glibc-2.3.6/debian/local/manpages/getent.pod @@ -0,0 +1,21 @@ +=head1 NAME + +getent - get entries from administrative database + +=head1 SYNOPSIS + +B I [I ...] + +=head1 DESCRIPTION + +The I program gathers entries from the specified +administrative database using the specified search keys. +Where I is one of passwd, group, hosts, services, protocols, +or networks. + +=head1 AUTHOR + +I was written by Thorsten Kukuk for the GNU C Library. + +This man page was written by Joel Klecker Eespy@debian.orgE for +the Debian GNU/Linux system. --- glibc-2.3.6.orig/debian/local/manpages/glibcbug.1 +++ glibc-2.3.6/debian/local/manpages/glibcbug.1 @@ -0,0 +1,50 @@ +'\" t +.\" ** The above line should force tbl to be a preprocessor ** +.\" Man page for man +.\" +.\" Copyright (C), 2002 Free Software Foundation, Inc. +.\" +.\" You may distribute under the terms of the GNU General Public +.\" License as specified in the file COPYING that comes with the +.\" glibc distribution. +.\" +.\" +.TH glibcbug 1 "10 January 2002" "" "Debian GNU/Linux" +.SH "NAME" +glibcbug \- Report a bug to the Glibc developers +.SH "SYNOPSIS" +.B glibcbug +.SH "DESCRIPTION" +.B glibcbug +is a tool for reporting bugs to the glibc maintainers. +It automatically starts an editor where the user can enter details +of the bug. On completion, the bug is sent to the appropriate +address. +The User should replace the comments (text surrounded by +, and fill in the Subject: and From: lines with +a summary and e-mail address. + +If the user believes the bug is related to Debian rather than to the +glibc (libc6) package, then the +.B reportbug +command should be used instead. +.SH "ENVIRONMENT" +.B glibcbug +will utilize the following enviromntal variables if they exist: +.TP +.B EDITOR +and +.B VISUAL +Specifies the preferred editor. If +neither are set, +.B glibcbug +will default to +.B /usr/bin/sensible-editor +to determine a working editor. +.TP +.B HOME +Directory in which the failed bug report is saved if the mail fails. +.SH "SEE ALSO" +reportbug(1) +.SH "AUTHOR" +Alastair McKinstry . --- glibc-2.3.6.orig/debian/local/manpages/iconv.1 +++ glibc-2.3.6/debian/local/manpages/iconv.1 @@ -0,0 +1,264 @@ +.rn '' }` +''' $RCSfile: iconv.1,v $$Revision: 1.1.2.2 $$Date: 2003/10/28 05:48:08 $ +''' +''' $Log: iconv.1,v $ +''' Revision 1.1.2.2 2003/10/28 05:48:08 dan +''' - Re-add debian/patches/80_glibc232-locales-nb_NO-fix.dpatch, which had +''' gotten lost. +''' - Re-add typo fixes to iconv.1 and rpcgen.1. +''' - Merge iconv.1 fix to iconv.pod. +''' - Fix ld.so name in ld.so.8. +''' - Re-add fix for locale-gen and POSIXLY_CORRECT. +''' +''' +.de Sh +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp +.if t .sp .5v +.if n .sp +.. +.de Ip +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.de Vb +.ft CW +.nf +.ne \\$1 +.. +.de Ve +.ft R + +.fi +.. +''' +''' +''' Set up \*(-- to give an unbreakable dash; +''' string Tr holds user defined translation string. +''' Bell System Logo is used as a dummy character. +''' +.tr \(*W-|\(bv\*(Tr +.ie n \{\ +.ds -- \(*W- +.ds PI pi +.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +.ds L" "" +.ds R" "" +''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of +''' \*(L" and \*(R", except that they are used on ".xx" lines, +''' such as .IP and .SH, which do another additional levels of +''' double-quote interpretation +.ds M" """ +.ds S" """ +.ds N" """"" +.ds T" """"" +.ds L' ' +.ds R' ' +.ds M' ' +.ds S' ' +.ds N' ' +.ds T' ' +'br\} +.el\{\ +.ds -- \(em\| +.tr \*(Tr +.ds L" `` +.ds R" '' +.ds M" `` +.ds S" '' +.ds N" `` +.ds T" '' +.ds L' ` +.ds R' ' +.ds M' ` +.ds S' ' +.ds N' ` +.ds T' ' +.ds PI \(*p +'br\} +.\" If the F register is turned on, we'll generate +.\" index entries out stderr for the following things: +.\" TH Title +.\" SH Header +.\" Sh Subsection +.\" Ip Item +.\" X<> Xref (embedded +.\" Of course, you have to process the output yourself +.\" in some meaninful fashion. +.if \nF \{ +.de IX +.tm Index:\\$1\t\\n%\t"\\$2" +.. +.nr % 0 +.rr F +.\} +.TH ICONV 1 "sarge" "20/Jun/2004" "Debian GNU/Linux" +.UC +.if n .hy 0 +.if n .na +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.de CQ \" put $1 in typewriter font +.ft CW +'if n "\c +'if t \\&\\$1\c +'if n \\&\\$1\c +'if n \&" +\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 +'.ft R +.. +.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 +. \" AM - accent mark definitions +.bd B 3 +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds ? ? +. ds ! ! +. ds / +. ds q +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' +. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] +.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' +.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' +.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +.ds oe o\h'-(\w'o'u*4/10)'e +.ds Oe O\h'-(\w'O'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds v \h'-1'\o'\(aa\(ga' +. ds _ \h'-1'^ +. ds . \h'-1'. +. ds 3 3 +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +. ds oe oe +. ds Oe OE +.\} +.rm #[ #] #H #V #F C +.SH "NAME" +iconv - Convert encoding of given files from one encoding to another +.SH "SYNOPSIS" +iconv \fB\-f\fR \fIencoding\fR \fB\-t\fR \fIencoding\fR \fIinputfile\fR +.SH "DESCRIPTION" +The \fBiconv\fR program converts the encoding of characters in +\fIinputfile\fR from one coded character set to another. The result is +written to standard output unless otherwise specified by the +\fB\-\-output\fR option. +.PP +\fB\-\-from\-code\fR, \fB\-f\fR \fIencoding\fR +.PP +Convert characters from \fIencoding\fR. +.PP +\fB\-\-to\-code\fR, \fB\-t\fR \fIencoding\fR +.PP +Convert characters to \fIencoding\fR. +.PP +\fB\-\-list\fR, \fB\-l\fR +.PP +List known coded character sets. +.PP +\fB\-c\fR +.PP +Omit invalid characters from output. +.PP +\fB\-\-output\fR, \fB\-o\fR \fIfile\fR +.PP +Specify output file (instead of stdout). +.PP +\fB\-\-silent\fR, \fB\-s\fR +.PP +Supress warnings. +.PP +\fB\-\-verbose\fR +.PP +Print progress information. +.PP +\fB\-\-help\fR, \fB\-?\fR +.PP +Give help list. +.PP +\fB\-\-usage\fR +.PP +Give a short usage message. +.PP +\fB\-\-version\fR, \fB\-V\fR +.PP +Print program version. +.SH "AUTHOR" +\fIiconv\fR was written by Ulrich Drepper as part of the GNU C Library. +.PP +This man page was written by Joel Klecker , +for the Debian GNU/Linux system. + +.rn }` '' +.IX Title "ICONV 1" +.IX Name "iconv - Convert encoding of given files from one encoding to another" + +.IX Header "NAME" + +.IX Header "SYNOPSIS" + +.IX Header "DESCRIPTION" + +.IX Header "AUTHOR" + --- glibc-2.3.6.orig/debian/local/manpages/iconv.pod +++ glibc-2.3.6/debian/local/manpages/iconv.pod @@ -0,0 +1,45 @@ +=head1 NAME + +iconv - Convert encoding of given files from one encoding to another + +=cut + +=head1 SYNOPSIS + +iconv B<-f> I B<-t> I I + +=head1 DESCRIPTION + +The B program converts the encoding of characters in +I from one coded character set to another. The result is +written to standard output unless otherwise specified by the +B<--output> option. + +B<--from-code>, B<-f> I + +Convert characters from I + +B<--to-code>, B<-t> I + +Convert characters to I + +B<--list> + +List known coded character sets + +B<--output>, B<-o> I + +Specify output file (instead of stdout) + +B<--verbose> + +Print progress information. + +=head1 AUTHOR + +I was written by Ulrich Drepper as part of the GNU C Library. + +This man page was written by Joel Klecker Eespy@debian.orgE, +for the Debian GNU/Linux system. + + --- glibc-2.3.6.orig/debian/local/manpages/iconvconfig.8 +++ glibc-2.3.6/debian/local/manpages/iconvconfig.8 @@ -0,0 +1,232 @@ +.rn '' }` +''' $RCSfile: iconvconfig.8,v $$Revision: 1.1 $$Date: 2004-11-06 05:21:19 -0500 (Sat, 06 Nov 2004) $ +''' +''' $Log: iconvconfig.8,v $ +''' Revision 1.1 2003/11/03 17:37:27 jbailey +''' - debian/local/manpages/gencat.1: New file. +''' - debian/local/manpages/trace.1: New file. +''' - debian/debhelper.in/libc-dev.manpages: Install them. +''' - debian/local/manpages/iconvconfig.8: New file. +''' - debian/debhelper.in/libc.manpages: Install it. +''' +''' Revision 1.1.2.2 2003/10/28 05:48:08 dan +''' - Re-add debian/patches/80_glibc232-locales-nb_NO-fix.dpatch, which had +''' gotten lost. +''' - Re-add typo fixes to iconv.1 and rpcgen.1. +''' - Merge iconv.1 fix to iconv.pod. +''' - Fix ld.so name in ld.so.8. +''' - Re-add fix for locale-gen and POSIXLY_CORRECT. +''' +''' +.de Sh +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp +.if t .sp .5v +.if n .sp +.. +.de Ip +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.de Vb +.ft CW +.nf +.ne \\$1 +.. +.de Ve +.ft R + +.fi +.. +''' +''' +''' Set up \*(-- to give an unbreakable dash; +''' string Tr holds user defined translation string. +''' Bell System Logo is used as a dummy character. +''' +.tr \(*W-|\(bv\*(Tr +.ie n \{\ +.ds -- \(*W- +.ds PI pi +.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +.ds L" "" +.ds R" "" +''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of +''' \*(L" and \*(R", except that they are used on ".xx" lines, +''' such as .IP and .SH, which do another additional levels of +''' double-quote interpretation +.ds M" """ +.ds S" """ +.ds N" """"" +.ds T" """"" +.ds L' ' +.ds R' ' +.ds M' ' +.ds S' ' +.ds N' ' +.ds T' ' +'br\} +.el\{\ +.ds -- \(em\| +.tr \*(Tr +.ds L" `` +.ds R" '' +.ds M" `` +.ds S" '' +.ds N" `` +.ds T" '' +.ds L' ` +.ds R' ' +.ds M' ` +.ds S' ' +.ds N' ` +.ds T' ' +.ds PI \(*p +'br\} +.\" If the F register is turned on, we'll generate +.\" index entries out stderr for the following things: +.\" TH Title +.\" SH Header +.\" Sh Subsection +.\" Ip Item +.\" X<> Xref (embedded +.\" Of course, you have to process the output yourself +.\" in some meaninful fashion. +.if \nF \{ +.de IX +.tm Index:\\$1\t\\n%\t"\\$2" +.. +.nr % 0 +.rr F +.\} +.TH ICONVCONFIG 8 "November 2003" "iconvconfig (glibc)" "Debian" +.UC +.if n .hy 0 +.if n .na +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.de CQ \" put $1 in typewriter font +.ft CW +'if n "\c +'if t \\&\\$1\c +'if n \\&\\$1\c +'if n \&" +\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 +'.ft R +.. +.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 +. \" AM - accent mark definitions +.bd B 3 +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds ? ? +. ds ! ! +. ds / +. ds q +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' +. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] +.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' +.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' +.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +.ds oe o\h'-(\w'o'u*4/10)'e +.ds Oe O\h'-(\w'O'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds v \h'-1'\o'\(aa\(ga' +. ds _ \h'-1'^ +. ds . \h'-1'. +. ds 3 3 +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +. ds oe oe +. ds Oe OE +.\} +.rm #[ #] #H #V #F C +.SH "NAME" +iconvconfig \- Create fastloading iconv module configuration file +.SH "SYNOPSIS" +iconvconfig [OPTION...] [DIR...] +.SH "DESCRIPTION" +The \fBiconvconfig\fR program generates a cache that internationalised +applications can use to reduce loading time. +.PP +.TP +\fB--prefix\fR \fIPATH\fR +Prefix used for all file accesses +.SH "AUTHOR" +\fIiconvconfig\fR was written by Ulrich Drepper as part of the GNU C Library. +.PP +This man page was written by Jeff Bailey . + +.rn }` '' +.IX Title "ICONVCONFIG 8" +.IX Name "iconvconfig - Create fastloading iconv module configuration file" + +.IX Header "NAME" + +.IX Header "SYNOPSIS" + +.IX Header "DESCRIPTION" + +.IX Header "AUTHOR" + --- glibc-2.3.6.orig/debian/local/manpages/id/addendum.id +++ glibc-2.3.6/debian/local/manpages/id/addendum.id @@ -0,0 +1,3 @@ + +.SH PENERJEMAH +Parlin Imanuel Toh --- glibc-2.3.6.orig/debian/local/manpages/ld.so.8 +++ glibc-2.3.6/debian/local/manpages/ld.so.8 @@ -0,0 +1,113 @@ +.TH "LD.SO" 8 "14 March 1998" +.SH NAME +ld.so/ld-linux.so \- dynamic linker/loader +.SH DESCRIPTION +.B ld.so +loads the shared libraries needed by a program, prepares the program +to run, and then runs it. +Unless explicitly specified via the +.B \-static +option to +.B ld +during compilation, all Linux programs are incomplete and require +further linking at run time. +.PP +The necessary shared libraries needed by the program are searched for +in the following order +.IP o +Using the environment variable +.B LD_LIBRARY_PATH +.RB ( LD_AOUT_LIBRARY_PATH +for a.out programs). +Except if the executable is a setuid/setgid binary, in which case it +is ignored. +.IP o +From the cache file +.BR /etc/ld.so.cache +which contains a compiled list of candidate libraries previously found +in the augmented library path. +.IP o +In the default path +.BR /usr/lib , +and then +.BR /lib . +.SH ENVIRONMENT +.TP +.B LD_LIBRARY_PATH +A colon-separated list of directories in which to search for +ELF libraries at execution-time. +Similar to the +.B PATH +environment variable. +.TP +.B LD_PRELOAD +A whitespace-separated list of additional, user-specified, ELF shared +libraries to be loaded before all others. +This can be used to selectively override functions in other shared libraries. +For setuid/setgid ELF binaries, only libraries in the standard search +directories that are also setgid will be loaded. +.TP +.B LD_TRACE_LOADED_OBJECTS +If present, causes the program to list its dynamic library dependencies, +as if run by ldd, instead of running normally. +.TP +.B LD_BIND_NOW +If present, causes the dynamic linker to resolve all symbols at program +startup instead of when they are first referenced. +.TP +.B LD_AOUT_LIBRARY_PATH +A colon-separated list of directories in which to search for +a.out libraries at execution-time. +Similar to the +.B PATH +environment variable. +.TP +.B LD_AOUT_PRELOAD +The name of an additional, user-specified, a.out shared library to be loaded +after all others. +This can be used to selectively override functions in other shared libraries. +.TP +.B LD_NOWARN +Suppress warnings about a.out libraries with incompatible minor +version numbers. +.TP +.B LD_KEEPDIR +Don't ignore the directory in the names of a.out libraries to be loaded. +Use of this option is strongly discouraged. +.SH FILES +.PD 0 +.TP 20 +.B /lib/ld.so +a.out dynamic linker/loader +.TP 20 +.B /lib/ld-linux.so.* +ELF dynamic linker/loader +.TP +.B /etc/ld.so.cache +File containing a compiled list of directories in which to search for +libraries and an ordered list of candidate libraries. +.TP +.B /etc/ld.so.preload +File containing a whitespace separated list of ELF shared libraries to +be loaded before the program. +libraries and an ordered list of candidate libraries. +.TP +.B lib*.so* +shared libraries +.PD +.SH SEE ALSO +.BR ldd (1), +.BR ldconfig (8). +.SH BUGS +.LP +Currently +.B ld.so +has no means of unloading and searching for compatible or newer version of +libraries. +.PP +.B ld.so +functionality is only available for executables compiled using libc version +4.4.3 or greater. +.SH AUTHORS +David Engel, Eric Youngdale, Peter MacDonald, Hongjiu Lu, Linus +Torvalds, Lars Wirzenius and Mitch D'Souza (not necessarily in that order). --- glibc-2.3.6.orig/debian/local/manpages/ldconfig.8 +++ glibc-2.3.6/debian/local/manpages/ldconfig.8 @@ -0,0 +1,165 @@ +.TH ldconfig 8 "30 October 2000" +.SH NAME +ldconfig \- configure dynamic linker run-time bindings +.SH SYNOPSIS +ldconfig +.RB [OPTION...] +.SH DESCRIPTION +.B ldconfig +creates the necessary links and cache (for use by the run-time linker, +.IR ld.so ) +to the most recent shared libraries found in the directories specified +on the command line, in the file +.IR /etc/ld.so.conf , +and in the trusted directories +.RI ( /usr/lib +and +.IR /lib ). +.B ldconfig +checks the header and file names of the libraries it encounters when +determining which versions should have their links updated. +.B ldconfig +ignores symbolic links when scanning for libraries. +.PP +.B ldconfig +will attempt to deduce the type of ELF libs (ie. libc 5.x or libc 6.x (glibc)) +based on what C libraries if any the library was linked against, therefore when +making dynamic libraries, it is wise to explicitly link against libc (use -lc). +.B ldconfig +is capable of storing multiple ABI types of libraries into a single cache on +architectures which allow native running of multiple ABIs, like +ia32/ia64/x86_64 or sparc32/sparc64. +.PP +Some existing libs do not contain enough information to allow the deduction of +their type, therefore the +.IR /etc/ld.so.conf +file format allows the specification of an expected type. This is +.B only +used for those ELF libs which we can not work out. The format +is like this "dirname=TYPE", where type can be libc4, libc5 or libc6. +(This syntax also works on the command line). Spaces are +.B not +allowed. Also see the +.B -p +option. +.PP +Directory names containing an +.B = +are no longer legal unless they also have an expected type specifier. +.PP +.B ldconfig +should normally be run by the super-user as it may require write +permission on some root owned directories and files. If you use +.B -r +option to change the root directory, you don't have to be super-user though +as long as you have sufficient right to that directory tree. +.SH OPTIONS +.TP +.B \-v\ \-\-verbose +Verbose mode. +Print current version number, the name of each directory as it +is scanned and any links that are created. +.TP +.B \-n +Only process directories specified on the command line. +Don't process the trusted directories +.RI ( /usr/lib +and +.IR /lib ) +nor those specified in +.IR /etc/ld.so.conf . +Implies +.BR \-N . +.TP +.B \-N +Don't rebuild the cache. +Unless +.B \-X +is also specified, links are still updated. +.TP +.B \-X +Don't update links. +Unless +.B \-N +is also specified, the cache is still rebuilt. +.TP +.B \-f conf +Use +.B conf +instead of +.IR /etc/ld.so.conf . +.TP +.B \-C cache +Use +.B cache +instead of +.IR /etc/ld.so.cache . +.TP +.B \-r root +Change to and use +.B root +as the root directory. +.TP +.B \-l +Library mode. +Manually link individual libraries. +Intended for use by experts only. +.TP +.B \-p\ \-\-print-cache +Print the lists of directories and candidate libraries stored in +the current cache. +.TP +.B \-c\ \-\-format=FORMAT +Use +.B FORMAT +for the cache file. Choices are old, new and compat (the default). +.TP +.B \-?\ \-\-help \-\-usage +Print usage information. +.TP +.B \-V\ \-\-version +Print version and exit. +.SH EXAMPLES +.RS +# /sbin/ldconfig -v +.RE +will set up the correct links for the shared binaries and rebuild +the cache. +.RS +# /sbin/ldconfig -n /lib +.RE +as root after the installation of a new shared library will properly update the +shared library symbolic links in /lib. +.SH FILES +.PD 0 +.TP 20 +.B /lib/ld-linux.so.* +execution time linker/loader +.TP 20 +.B /etc/ld.so.conf +File containing a list of colon, space, tab, newline, or comma separated +directories in which to search for libraries. +.TP 20 +.B /etc/ld.so.cache +File containing an ordered list of libraries found in the directories +specified in +.BR /etc/ld.so.conf . +This file is not in human readable format, and is not intended to be +edited. +.TP +.B lib*.so.version +shared libraries +.PD +.SH SEE ALSO +.BR ldd (1), +.BR ld.so (8). +.SH BUGS +.LP +.BR ldconfig , +being a user process, must be run manually and has no means of dynamically +determining and relinking shared libraries for use by +.BR ld.so +when a new shared library is installed. +.SH AUTHORS +Andreas Jaeger. +Manual page written by David Engel and Mitch D'Souza. --- glibc-2.3.6.orig/debian/local/manpages/ldd.1 +++ glibc-2.3.6/debian/local/manpages/ldd.1 @@ -0,0 +1,55 @@ +.\" Copyright 1995-2000 David Engel (david@ods.com) +.\" Copyright 1995 Rickard E. Faith (faith@cs.unc.edu) +.\" Copyright 2000 Ben Collins (bcollins@debian.org) +.\" Redone for GLibc 2.2 +.\" Copyright 2000 Jakub Jelinek (jakub@redhat.com) +.\" Corrected. +.\" Most of this was copied from the README file. Do not restrict distribution. +.\" May be distributed under the GNU General Public License +.TH LDD 1 "30 October 2000" +.SH NAME +ldd \- print shared library dependencies +.SH SYNOPSIS +.B ldd +.RB [OPTION]... +FILE... +.SH DESCRIPTION +.B ldd +prints the shared libraries required by each program or shared library +specified on the command line. +.SH OPTIONS +.TP +.B \-\-version +Print the version number of +.BR ldd . +.TP +.B \-v\ \-\-verbose +Print all information, including e.g. symbol versioning information. +.TP +.B \-d\ \-\-data\-relocs +Perform relocations and report any missing objects (ELF only). +.TP +.B \-r\ \-\-function\-relocs +Perform relocations for both data objects and functions, and +report any missing objects or functions (ELF only). +.TP +.B \-\-help +Usage information. +.SH BUGS +.B ldd +does not work on a.out shared libraries. +.PP +.B ldd +does not work with some extremely old a.out programs which were +built before +.B ldd +support was added to the compiler releases. +If you use +.B ldd +on one of these programs, the program will attempt to run with argc = 0 and +the results will be unpredictable. +.SH AUTHOR +Roland McGrath and Ulrich Drepper. +.SH SEE ALSO +.BR ldconfig (8), +.BR ld.so (8). --- glibc-2.3.6.orig/debian/local/manpages/locale-gen.8 +++ glibc-2.3.6/debian/local/manpages/locale-gen.8 @@ -0,0 +1,101 @@ +.\" This -*- nroff -*- file has been generated from +.\" DocBook SGML with docbook-to-man on Debian GNU/Linux. +...\" +...\" transcript compatibility for postscript use. +...\" +...\" synopsis: .P! +...\" +.de P! +\\&. +.fl \" force out current output buffer +\\!%PB +\\!/showpage{}def +...\" the following is from Ken Flowers -- it prevents dictionary overflows +\\!/tempdict 200 dict def tempdict begin +.fl \" prolog +.sy cat \\$1\" bring in postscript file +...\" the following line matches the tempdict above +\\!end % tempdict % +\\!PE +\\!. +.sp \\$2u \" move below the image +.. +.de pF +.ie \\*(f1 .ds f1 \\n(.f +.el .ie \\*(f2 .ds f2 \\n(.f +.el .ie \\*(f3 .ds f3 \\n(.f +.el .ie \\*(f4 .ds f4 \\n(.f +.el .tm ? font overflow +.ft \\$1 +.. +.de fP +.ie !\\*(f4 \{\ +. ft \\*(f4 +. ds f4\" +' br \} +.el .ie !\\*(f3 \{\ +. ft \\*(f3 +. ds f3\" +' br \} +.el .ie !\\*(f2 \{\ +. ft \\*(f2 +. ds f2\" +' br \} +.el .ie !\\*(f1 \{\ +. ft \\*(f1 +. ds f1\" +' br \} +.el .tm ? font underflow +.. +.ds f1\" +.ds f2\" +.ds f3\" +.ds f4\" +'\" t +.ta 8n 16n 24n 32n 40n 48n 56n 64n 72n +.TH "LOCALE-GEN" "8" +.SH "NAME" +locale-gen \(em generates localisation files from templates +.SH "SYNOPSIS" +.PP +\fBlocale-gen\fP +.SH "DESCRIPTION" +.PP +This manual page documents briefly the +\fBlocale-gen\fP command. +.PP +By default, the locale package which provides the base support for +localisation of libc-based programs does not contain usable localisation +files for every supported language. This limitation has became necessary +because of the substantial size of such files and the large number of +languages supported by libc. As a result, Debian uses a special +mechanism where we prepare the actual localisation files on the target +host and distribute only the templates for them. +.PP +\fBlocale-gen\fP is a program that reads the file +\fB/etc/locale.gen\fP and invokes +\fBlocaledef\fP for the chosen localisation profiles. +Run \fBlocale-gen\fP after you have modified the \fB/etc/locale.gen\fP file. + + +.SH "FILES" +.PP +\fB/etc/locale.gen\fP +.PP +The main configuration file, which has a simple format: every +line that is not empty and does not begin with a # is treated as a +locale definition that is to be built. + +.SH "SEE ALSO" +.PP +localedef (1), locale (1), locale.gen (5). +.SH "AUTHOR" +.PP +This manual page was written by Eduard Bloch for +the \fBDebian GNU/Linux\fP system (but may be used by others). Permission is +granted to copy, distribute and/or modify this document under +the terms of the GNU Free Documentation +License, Version 1.1 or any later version published by the Free +Software Foundation; with no Invariant Sections, no Front-Cover +Texts and no Back-Cover Texts. +...\" created by instant / docbook-to-man, Sat 02 Mar 2002, 16:43 --- glibc-2.3.6.orig/debian/local/manpages/locale-gen.8.sgml +++ glibc-2.3.6/debian/local/manpages/locale-gen.8.sgml @@ -0,0 +1,129 @@ + manpage.1'. You may view + the manual page with: `docbook-to-man manpage.sgml | nroff -man | + less'. A typical entry in a Makefile or Makefile.am is: + +manpage.1: manpage.sgml + docbook-to-man $< > $@ + --> + + + Eduard"> + Bloch"> + + July 27, 2001"> + + 8"> + blade@debian.org"> + + LOCALE-GEN"> + + + Debian GNU/Linux"> + GNU"> +]> + + + +