[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[commits] r9802 - in /trunk: libc/ libc/localedata/ libc/localedata/locales/ libc/misc/ libc/stdlib/ libc/sysdeps/mach/ libc/sysdeps/u...



Author: joseph
Date: Thu Feb  4 08:41:35 2010
New Revision: 9802

Log:
Merge changes between r9736 and r9801 from /fsf/trunk.

Added:
    trunk/libc/localedata/locales/kok_IN
      - copied unchanged from r9801, fsf/trunk/libc/localedata/locales/kok_IN
Modified:
    trunk/libc/ChangeLog
    trunk/libc/localedata/ChangeLog
    trunk/libc/localedata/locales/as_IN
    trunk/libc/localedata/locales/iso14651_t1_common
    trunk/libc/localedata/locales/ta_IN
    trunk/libc/misc/getusershell.c
    trunk/libc/stdlib/setenv.c
    trunk/libc/sysdeps/mach/getsysstats.c
    trunk/libc/sysdeps/unix/sysv/linux/sys/mount.h
    trunk/ports/ChangeLog.alpha
    trunk/ports/ChangeLog.hppa
    trunk/ports/ChangeLog.mips
    trunk/ports/sysdeps/mips/dl-trampoline.c
    trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h
    trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h
    trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/stat.h
    trunk/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_settime.c
    trunk/ports/sysdeps/unix/sysv/linux/hppa/Versions
    trunk/ports/sysdeps/unix/sysv/linux/hppa/bits/errno.h
    trunk/ports/sysdeps/unix/sysv/linux/hppa/bits/fcntl.h
    trunk/ports/sysdeps/unix/sysv/linux/hppa/bits/socket.h

Modified: trunk/libc/ChangeLog
==============================================================================
--- trunk/libc/ChangeLog (original)
+++ trunk/libc/ChangeLog Thu Feb  4 08:41:35 2010
@@ -1,3 +1,28 @@
+2010-02-03  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #11235]
+	* sysdeps/unix/sysv/linux/sys/mount.h: Remove S_WRITE, S_APPEND,
+	S_IMMUTABLE.  Add MS_DIRSYNC, MS_MOVE, MS_SILENT, MS_REC,
+	MS_POSIXACL, MS_UNBINDABLE, MS_PRIVATE, MS_SLAVE, MS_SHARED,
+	MS_RELATIME, MS_KERNMOUNT, MS_I_VERSION, MS_STRICTATIME,
+	MS_ACTIVE, and MS_NOUSER.
+	(MS_RMT_MASK): Update according to current kernels.
+
+	[BZ #11242]
+	* misc/getusershell.c (initshells): Allocate one more byte in input
+	buffer so that fgets doesn't loop undefinitely.
+
+2010-02-02  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* stdlib/setenv.c (__add_to_environ): Don't use alloca if
+	__libc_use_alloca tells us not to.  Fix memory leak in an error
+	situation.  Based partially on patch by Jim Meyering.
+
+2010-01-26  Samuel Thibault  <samuel.thibault@xxxxxxxxxxxx>
+
+	* sysdeps/mach/getsysstats.c (get_nprocs_conf, get_nprocs,
+	get_phys_pages, get_avphys_pages): Add weak aliases.
+
 2010-01-25  Andreas Schwab  <schwab@xxxxxxxxxx>
 
 	* iconv/iconv_prog.c (write_output): Fix check for open failure.

Modified: trunk/libc/localedata/ChangeLog
==============================================================================
--- trunk/libc/localedata/ChangeLog (original)
+++ trunk/libc/localedata/ChangeLog Thu Feb  4 08:41:35 2010
@@ -1,3 +1,20 @@
+2010-02-03  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #10414]
+	* locales/iso14651_t1_common: Fix sorting of malayalam letter 'na'.
+	Patch by Pravin Satpute <psatpute@xxxxxxxxxx>.
+
+	* locales/kok_IN: New file.
+	Contributed by Pravin Satpute <psatpute@xxxxxxxxxx> and
+	Shailendra Bandodkar <sbandodk@xxxxxxxxxx>.
+
+	* locales/ta_IN: Move collation data...
+	* locales/iso14651_t1_common: ...here.
+	Patch by Pravin Satpute <psatpute@xxxxxxxxxx>.
+
+	* locales/as_IN: Use iso14651_t1 instead of local collation data.
+	Patch by Pravin Satpute <psatpute@xxxxxxxxxx>.
+
 2010-01-25  Andreas Schwab  <schwab@xxxxxxxxxx>
 
 	* locales/i18n: Don't map U00DF to U1E9E in toupper table.

Modified: trunk/libc/localedata/locales/as_IN
==============================================================================
--- trunk/libc/localedata/locales/as_IN (original)
+++ trunk/libc/localedata/locales/as_IN Thu Feb  4 08:41:35 2010
@@ -38,563 +38,9 @@
 %%%%%%%%%%%%%
 LC_COLLATE
 
-% Define collation weights as symbols
-collating-symbol <X0001>
-collating-symbol <X0005>
-collating-symbol <X000D>
-collating-symbol <X001D>
-collating-symbol <X0031>
-collating-symbol <X0041>
-collating-symbol <X0086>
-collating-symbol <X0087>
-collating-symbol <X008F>
-collating-symbol <X00C0>
-collating-symbol <X00D7>
-collating-symbol <X00D8>
-collating-symbol <X00E1>
-collating-symbol <X00E9>
-collating-symbol <X00F9>
-collating-symbol <X0507>
-collating-symbol <X0509>
-collating-symbol <X050B>
-collating-symbol <X050D>
-collating-symbol <X050F>
-collating-symbol <X0600>
-collating-symbol <X0764>
-collating-symbol <X076A>
-collating-symbol <X0782>
-collating-symbol <X078E>
-collating-symbol <X07AA>
-collating-symbol <X07C0>
-collating-symbol <X07C6>
-collating-symbol <X07EE>
-collating-symbol <X07F6>
-collating-symbol <X080B>
-collating-symbol <X083F>
-collating-symbol <X084D>
-collating-symbol <X0861>
-collating-symbol <X0863>
-collating-symbol <X0865>
-collating-symbol <X0867>
-collating-symbol <X0869>
-collating-symbol <X086B>
-collating-symbol <X08DF>
-collating-symbol <X08E1>
-collating-symbol <X08E9>
-collating-symbol <X08ED>
-collating-symbol <X08EF>
-collating-symbol <X08F5>
-collating-symbol <X08F7>
-collating-symbol <X09F7>
-collating-symbol <X0BB3>
-collating-symbol <X0BBB>
-collating-symbol <X0BBD>
-collating-symbol <X0BBF>
-collating-symbol <X0BC3>
-collating-symbol <X0BC9>
-collating-symbol <X1FB5>
-collating-symbol <X1FB7>
-collating-symbol <X233C>
-collating-symbol <X2342>
-collating-symbol <X2344>
-collating-symbol <X2370>
-collating-symbol <X2372>
-collating-symbol <X2374>
-collating-symbol <X2376>
-collating-symbol <X2378>
-collating-symbol <X237A>
-collating-symbol <X237C>
-collating-symbol <X237E>
-collating-symbol <X2380>
-collating-symbol <X2382>
-collating-symbol <X2600>
-collating-symbol <X2800>
-collating-symbol <X2A00>
-collating-symbol <X2C00>
-collating-symbol <X2E00>
-collating-symbol <X3000>
-collating-symbol <X3200>
-collating-symbol <X3400>
-collating-symbol <X3600>
-collating-symbol <X3800>
-collating-symbol <X3A00>
-collating-symbol <X3C00>
-collating-symbol <X3E00>
-collating-symbol <X4000>
-collating-symbol <X4200>
-collating-symbol <X4400>
-collating-symbol <X4600>
-collating-symbol <X4800>
-collating-symbol <X4A00>
-collating-symbol <X4C00>
-collating-symbol <X4E00>
-collating-symbol <X5000>
-collating-symbol <X5200>
-collating-symbol <X5400>
-collating-symbol <X5600>
-collating-symbol <X5800>
-collating-symbol <X6820>
-collating-symbol <X6822>
-collating-symbol <X6824>
-collating-symbol <X6826>
-collating-symbol <X6828>
-collating-symbol <X682A>
-collating-symbol <X682C>
-collating-symbol <X682E>
-collating-symbol <X6830>
-collating-symbol <X6832>
-collating-symbol <X6834>
-collating-symbol <X6836>
-collating-symbol <X6838>
-collating-symbol <X683A>
-collating-symbol <X683C>
-collating-symbol <X683E>
-collating-symbol <X6840>
-collating-symbol <X6842>
-collating-symbol <X6844>
-collating-symbol <X6846>
-collating-symbol <X6848>
-collating-symbol <X684A>
-collating-symbol <X684C>
-collating-symbol <X684E>
-collating-symbol <X6850>
-collating-symbol <X6852>
-collating-symbol <X6854>
-collating-symbol <X6856>
-collating-symbol <X6858>
-collating-symbol <X685A>
-collating-symbol <X685C>
-collating-symbol <X685E>
-collating-symbol <X6860>
-collating-symbol <X6862>
-collating-symbol <X6864>
-collating-symbol <X6866>
-collating-symbol <X6868>
-collating-symbol <X686A>
-collating-symbol <X686C>
-collating-symbol <X686E>
-collating-symbol <X6870>
-collating-symbol <X6872>
-collating-symbol <X6874>
-collating-symbol <X6876>
-collating-symbol <X6878>
-collating-symbol <X687A>
-collating-symbol <X687C>
-collating-symbol <X687E>
-collating-symbol <X6880>
-collating-symbol <X6882>
-collating-symbol <X6884>
-collating-symbol <X6886>
-collating-symbol <X6888>
-collating-symbol <X688A>
-collating-symbol <X688C>
-collating-symbol <X688E>
-collating-symbol <X6890>
-collating-symbol <X6892>
-collating-symbol <X6894>
-collating-symbol <X6896>
-collating-symbol <X6898>
-collating-symbol <X689A>
-collating-symbol <X689C>
-collating-symbol <X689E>
-collating-symbol <X6B20>
-collating-symbol <XE2E9>
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
 
-order_start forward;forward;forward;forward
-
-
-% collation weights in order
-
-<X0001>
-<X0005>
-<X000D>
-<X001D>
-<X0031>
-<X0041>
-<X0086>
-<X0087>
-<X008F>
-<X00C0>
-<X00D7>
-<X00D8>
-<X00E1>
-<X00E9>
-<X00F9>
-<X0507>
-<X0509>
-<X050B>
-<X050D>
-<X050F>
-<X0600>
-<X0764>
-<X076A>
-<X0782>
-<X078E>
-<X07AA>
-<X07C0>
-<X07C6>
-<X07EE>
-<X07F6>
-<X080B>
-<X083F>
-<X084D>
-<X0861>
-<X0863>
-<X0865>
-<X0867>
-<X0869>
-<X086B>
-<X08DF>
-<X08E1>
-<X08E9>
-<X08ED>
-<X08EF>
-<X08F5>
-<X08F7>
-<X09F7>
-<X0BB3>
-<X0BBB>
-<X0BBD>
-<X0BBF>
-<X0BC3>
-<X0BC9>
-<X1FB5>
-<X1FB7>
-<X233C>
-<X2342>
-<X2344>
-<X2370>
-<X2372>
-<X2374>
-<X2376>
-<X2378>
-<X237A>
-<X237C>
-<X237E>
-<X2380>
-<X2382>
-<X2600>
-<X2800>
-<X2A00>
-<X2C00>
-<X2E00>
-<X3000>
-<X3200>
-<X3400>
-<X3600>
-<X3800>
-<X3A00>
-<X3C00>
-<X3E00>
-<X4000>
-<X4200>
-<X4400>
-<X4600>
-<X4800>
-<X4A00>
-<X4C00>
-<X4E00>
-<X5000>
-<X5200>
-<X5400>
-<X5600>
-<X5800>
-<X6820>
-<X6822>
-<X6824>
-<X6826>
-<X6828>
-<X682A>
-<X682C>
-<X682E>
-<X6830>
-<X6832>
-<X6834>
-<X6836>
-<X6838>
-<X683A>
-<X683C>
-<X683E>
-<X6840>
-<X6842>
-<X6844>
-<X6846>
-<X6848>
-<X684A>
-<X684C>
-<X684E>
-<X6850>
-<X6852>
-<X6854>
-<X6856>
-<X6858>
-<X685A>
-<X685C>
-<X685E>
-<X6860>
-<X6862>
-<X6864>
-<X6866>
-<X6868>
-<X686A>
-<X686C>
-<X686E>
-<X6870>
-<X6872>
-<X6874>
-<X6876>
-<X6878>
-<X687A>
-<X687C>
-<X687E>
-<X6880>
-<X6882>
-<X6884>
-<X6886>
-<X6888>
-<X688A>
-<X688C>
-<X688E>
-<X6890>
-<X6892>
-<X6894>
-<X6896>
-<X6898>
-<X689A>
-<X689C>
-<X689E>
-<X6B20>
-<XE2E9>
-
-% assignment of characters to weights
-
-<U000F> IGNORE;IGNORE;IGNORE;<U000F>
-<U001E> IGNORE;IGNORE;IGNORE;<U001E>
-<U0008> IGNORE;IGNORE;IGNORE;<U0008>
-<U0017> IGNORE;IGNORE;IGNORE;<U0017>
-<U001F> IGNORE;IGNORE;IGNORE;<U001F>
-<U0010> IGNORE;IGNORE;IGNORE;<U0010>
-<U0007> IGNORE;IGNORE;IGNORE;<U0007>
-<U0016> IGNORE;IGNORE;IGNORE;<U0016>
-<U200D> IGNORE;IGNORE;IGNORE;<U200D>
-<U0015> IGNORE;IGNORE;IGNORE;<U0015>
-<U0006> IGNORE;IGNORE;IGNORE;<U0006>
-<U0001> IGNORE;IGNORE;IGNORE;<U0001>
-<U001D> IGNORE;IGNORE;IGNORE;<U001D>
-<U000E> IGNORE;IGNORE;IGNORE;<U000E>
-<U0018> IGNORE;IGNORE;IGNORE;<U0018>
-<U200C> IGNORE;IGNORE;IGNORE;<U200C>
-<U0004> IGNORE;IGNORE;IGNORE;<U0004>
-<U0013> IGNORE;IGNORE;IGNORE;<U0013>
-<U001A> IGNORE;IGNORE;IGNORE;<U001A>
-<U007F> IGNORE;IGNORE;IGNORE;<U007F>
-<U0012> IGNORE;IGNORE;IGNORE;<U0012>
-<U0003> IGNORE;IGNORE;IGNORE;<U0003>
-<U001B> IGNORE;IGNORE;IGNORE;<U001B>
-<U0011> IGNORE;IGNORE;IGNORE;<U0011>
-<U0002> IGNORE;IGNORE;IGNORE;<U0002>
-<U001C> IGNORE;IGNORE;IGNORE;<U001C>
-<U0014> IGNORE;IGNORE;IGNORE;<U0014>
-<U0019> IGNORE;IGNORE;IGNORE;<U0019>
-<U0005> IGNORE;IGNORE;IGNORE;<U0005>
-<U0000> IGNORE;IGNORE;IGNORE;<U0000>
-<U09BC> IGNORE;"<X00D7><X00E9>";"<X0005><X00C0>";IGNORE
-<U0981> IGNORE;"<X00D7><X00F9>";"<X0005><X00C0>";IGNORE
-<U0982> IGNORE;"<X00D8><X000D>";"<X0005><X00C0>";IGNORE
-<U0983> IGNORE;"<X00D8><X001D>";"<X0005><X00C0>";IGNORE
-<U0009> <X0507>;<X0005>;<X0005>;IGNORE
-<U000A> <X0509>;<X0005>;<X0005>;IGNORE
-<U000B> <X050B>;<X0005>;<X0005>;IGNORE
-<U000C> <X050D>;<X0005>;<X0005>;IGNORE
-<U000D> <X050F>;<X0005>;<X0005>;IGNORE
-<U0020> <X0600>;<X0005>;<X0005>;IGNORE
-<U0060> <X0764>;<X0005>;<X0005>;IGNORE
-<U005E> <X076A>;<X0005>;<X0005>;IGNORE
-<U005F> <X0782>;<X0005>;<X0005>;IGNORE
-<U002D> <X078E>;<X0005>;<X0005>;IGNORE
-<U002C> <X07AA>;<X0005>;<X0005>;IGNORE
-<U003B> <X07C0>;<X0005>;<X0005>;IGNORE
-<U003A> <X07C6>;<X0005>;<X0005>;IGNORE
-<U0021> <X07EE>;<X0005>;<X0005>;IGNORE
-<U003F> <X07F6>;<X0005>;<X0005>;IGNORE
-<U002E> <X080B>;<X0005>;<X0005>;IGNORE
-<U0027> <X083F>;<X0005>;<X0005>;IGNORE
-<U0022> <X084D>;<X0005>;<X0005>;IGNORE
-<U0028> <X0861>;<X0005>;<X0005>;IGNORE
-<U0029> <X0863>;<X0005>;<X0005>;IGNORE
-<U005B> <X0865>;<X0005>;<X0005>;IGNORE
-<U005D> <X0867>;<X0005>;<X0005>;IGNORE
-<U007B> <X0869>;<X0005>;<X0005>;IGNORE
-<U007D> <X086B>;<X0005>;<X0005>;IGNORE
-<U0040> <X08DF>;<X0005>;<X0005>;IGNORE
-<U002A> <X08E1>;<X0005>;<X0005>;IGNORE
-<U002F> <X08E9>;<X0005>;<X0005>;IGNORE
-<U005C> <X08ED>;<X0005>;<X0005>;IGNORE
-<U0026> <X08EF>;<X0005>;<X0005>;IGNORE
-<U0023> <X08F5>;<X0005>;<X0005>;IGNORE
-<U0025> <X08F7>;<X0005>;<X0005>;IGNORE
-<U09FA> <X09F7>;<X0005>;<X0005>;IGNORE
-<U002B> <X0BB3>;<X0005>;<X0005>;IGNORE
-<U003C> <X0BBB>;<X0005>;<X0005>;IGNORE
-<U003D> <X0BBD>;<X0005>;<X0005>;IGNORE
-<U003E> <X0BBF>;<X0005>;<X0005>;IGNORE
-<U007C> <X0BC3>;<X0005>;<X0005>;IGNORE
-<U007E> <X0BC9>;<X0005>;<X0005>;IGNORE
-<U09F8> <X1FB5>;<X0005>;<X0005>;IGNORE
-<U09F9> <X1FB7>;<X0005>;<X0005>;IGNORE
-<U0024> <X233C>;<X0005>;<X0005>;IGNORE
-<U09F2> <X2342>;<X0005>;<X0005>;IGNORE
-<U09F3> <X2344>;<X0005>;<X0005>;IGNORE
-<U0030> <X2370>;<X0005>;<X0005>;IGNORE
-<U09E6> <X2370>;"<X0005><X00E1><X0031>";"<X0005><X0005><X00C0>";IGNORE
-<U0031> <X2372>;<X0005>;<X0005>;IGNORE
-<U09E7> <X2372>;"<X0005><X00E1><X0031>";"<X0005><X0005><X00C0>";IGNORE
-<U09F4> <X2372>;"<X0005><X00E1><X0041>";"<X0005><X0005><X00C0>";IGNORE
-<U0032> <X2374>;<X0005>;<X0005>;IGNORE
-<U09E8> <X2374>;"<X0005><X00E1><X0031>";"<X0005><X0005><X00C0>";IGNORE
-<U09F5> <X2374>;"<X0005><X00E1><X0041>";"<X0005><X0005><X00C0>";IGNORE
-<U0033> <X2376>;<X0005>;<X0005>;IGNORE
-<U09E9> <X2376>;"<X0005><X00E1><X0031>";"<X0005><X0005><X00C0>";IGNORE
-<U09F6> <X2376>;"<X0005><X00E1><X0041>";"<X0005><X0005><X00C0>";IGNORE
-<U0034> <X2378>;<X0005>;<X0005>;IGNORE
-<U09EA> <X2378>;"<X0005><X00E1><X0031>";"<X0005><X0005><X00C0>";IGNORE
-<U09F7> <X2378>;"<X0005><X00E1><X0041>";"<X0005><X0005><X00C0>";IGNORE
-<U0035> <X237A>;<X0005>;<X0005>;IGNORE
-<U09EB> <X237A>;"<X0005><X00E1><X0031>";"<X0005><X0005><X00C0>";IGNORE
-<U0036> <X237C>;<X0005>;<X0005>;IGNORE
-<U09EC> <X237C>;"<X0005><X00E1><X0031>";"<X0005><X0005><X00C0>";IGNORE
-<U0037> <X237E>;<X0005>;<X0005>;IGNORE
-<U09ED> <X237E>;"<X0005><X00E1><X0031>";"<X0005><X0005><X00C0>";IGNORE
-<U0038> <X2380>;<X0005>;<X0005>;IGNORE
-<U09EE> <X2380>;"<X0005><X00E1><X0031>";"<X0005><X0005><X00C0>";IGNORE
-<U0039> <X2382>;<X0005>;<X0005>;IGNORE
-<U09EF> <X2382>;"<X0005><X00E1><X0031>";"<X0005><X0005><X00C0>";IGNORE
-<U0061> <X2600>;<X0005>;<X0005>;IGNORE
-<U0041> <X2600>;<X0005>;<X008F>;IGNORE
-<U00E6> "<X2600><X2E00>";"<X0087><X0005>";"<X0005><X0005>";IGNORE
-<U00C6> "<X2600><X2E00>";"<X0087><X0005>";"<X0086><X0005>";IGNORE
-<U0062> <X2800>;<X0005>;<X0005>;IGNORE
-<U0042> <X2800>;<X0005>;<X008F>;IGNORE
-<U0063> <X2A00>;<X0005>;<X0005>;IGNORE
-<U0043> <X2A00>;<X0005>;<X008F>;IGNORE
-<U0064> <X2C00>;<X0005>;<X0005>;IGNORE
-<U0044> <X2C00>;<X0005>;<X008F>;IGNORE
-<U0065> <X2E00>;<X0005>;<X0005>;IGNORE
-<U0045> <X2E00>;<X0005>;<X008F>;IGNORE
-<U0066> <X3000>;<X0005>;<X0005>;IGNORE
-<U0046> <X3000>;<X0005>;<X008F>;IGNORE
-<U0067> <X3200>;<X0005>;<X0005>;IGNORE
-<U0047> <X3200>;<X0005>;<X008F>;IGNORE
-<U0068> <X3400>;<X0005>;<X0005>;IGNORE
-<U0048> <X3400>;<X0005>;<X008F>;IGNORE
-<U0069> <X3600>;<X0005>;<X0005>;IGNORE
-<U0049> <X3600>;<X0005>;<X008F>;IGNORE
-<U006A> <X3800>;<X0005>;<X0005>;IGNORE
-<U004A> <X3800>;<X0005>;<X008F>;IGNORE
-<U006B> <X3A00>;<X0005>;<X0005>;IGNORE
-<U004B> <X3A00>;<X0005>;<X008F>;IGNORE
-<U006C> <X3C00>;<X0005>;<X0005>;IGNORE
-<U004C> <X3C00>;<X0005>;<X008F>;IGNORE
-<U006D> <X3E00>;<X0005>;<X0005>;IGNORE
-<U004D> <X3E00>;<X0005>;<X008F>;IGNORE
-<U006E> <X4000>;<X0005>;<X0005>;IGNORE
-<U004E> <X4000>;<X0005>;<X008F>;IGNORE
-<U006F> <X4200>;<X0005>;<X0005>;IGNORE
-<U004F> <X4200>;<X0005>;<X008F>;IGNORE
-<U0070> <X4400>;<X0005>;<X0005>;IGNORE
-<U0050> <X4400>;<X0005>;<X008F>;IGNORE
-<U0071> <X4600>;<X0005>;<X0005>;IGNORE
-<U0051> <X4600>;<X0005>;<X008F>;IGNORE
-<U0072> <X4800>;<X0005>;<X0005>;IGNORE
-<U0052> <X4800>;<X0005>;<X008F>;IGNORE
-<U0073> <X4A00>;<X0005>;<X0005>;IGNORE
-<U0053> <X4A00>;<X0005>;<X008F>;IGNORE
-<U0074> <X4C00>;<X0005>;<X0005>;IGNORE
-<U0054> <X4C00>;<X0005>;<X008F>;IGNORE
-<U0075> <X4E00>;<X0005>;<X0005>;IGNORE
-<U0055> <X4E00>;<X0005>;<X008F>;IGNORE
-<U0076> <X5000>;<X0005>;<X0005>;IGNORE
-<U0056> <X5000>;<X0005>;<X008F>;IGNORE
-<U0077> <X5200>;<X0005>;<X0005>;IGNORE
-<U0057> <X5200>;<X0005>;<X008F>;IGNORE
-<U0078> <X5400>;<X0005>;<X0005>;IGNORE
-<U0058> <X5400>;<X0005>;<X008F>;IGNORE
-<U0079> <X5600>;<X0005>;<X0005>;IGNORE
-<U0059> <X5600>;<X0005>;<X008F>;IGNORE
-<U007A> <X5800>;<X0005>;<X0005>;IGNORE
-<U005A> <X5800>;<X0005>;<X008F>;IGNORE
-<U0985> <X6820>;<X0005>;<X0005>;IGNORE
-<U0986> <X6822>;<X0005>;<X0005>;IGNORE
-<U0987> <X6824>;<X0005>;<X0005>;IGNORE
-<U0988> <X6826>;<X0005>;<X0005>;IGNORE
-<U0989> <X6828>;<X0005>;<X0005>;IGNORE
-<U098A> <X682A>;<X0005>;<X0005>;IGNORE
-<U098B> <X682C>;<X0005>;<X0005>;IGNORE
-<U09E0> <X682E>;<X0005>;<X0005>;IGNORE
-<U098C> <X6830>;<X0005>;<X0005>;IGNORE
-<U09E1> <X6832>;<X0005>;<X0005>;IGNORE
-<U098F> <X6834>;<X0005>;<X0005>;IGNORE
-<U0990> <X6836>;<X0005>;<X0005>;IGNORE
-<U0993> <X6838>;<X0005>;<X0005>;IGNORE
-<U0994> <X683A>;<X0005>;<X0005>;IGNORE
-<U0995> <X683C>;<X0005>;<X0005>;IGNORE
-<U0996> <X683E>;<X0005>;<X0005>;IGNORE
-<U0997> <X6840>;<X0005>;<X0005>;IGNORE
-<U0998> <X6842>;<X0005>;<X0005>;IGNORE
-<U0999> <X6844>;<X0005>;<X0005>;IGNORE
-<U099A> <X6846>;<X0005>;<X0005>;IGNORE
-<U099B> <X6848>;<X0005>;<X0005>;IGNORE
-<U099C> <X684A>;<X0005>;<X0005>;IGNORE
-<U099D> <X684C>;<X0005>;<X0005>;IGNORE
-<U099E> <X684E>;<X0005>;<X0005>;IGNORE
-<U099F> <X6850>;<X0005>;<X0005>;IGNORE
-<U09A0> <X6852>;<X0005>;<X0005>;IGNORE
-<U09A1> <X6854>;<X0005>;<X0005>;IGNORE
-<U09DC> <X6854>;"<X0005><X00D7><X00E9>";"<X0005><X0005><X00C0>";IGNORE
-<U09A2> <X6856>;<X0005>;<X0005>;IGNORE
-<U09DD> <X6856>;"<X0005><X00D7><X00E9>";"<X0005><X0005><X00C0>";IGNORE
-<U09A3> <X6858>;<X0005>;<X0005>;IGNORE
-<U09A4> <X685A>;<X0005>;<X0005>;IGNORE
-<U09A5> <X685C>;<X0005>;<X0005>;IGNORE
-<U09A6> <X685E>;<X0005>;<X0005>;IGNORE
-<U09A7> <X6860>;<X0005>;<X0005>;IGNORE
-<U09A8> <X6862>;<X0005>;<X0005>;IGNORE
-<U09AA> <X6864>;<X0005>;<X0005>;IGNORE
-<U09AB> <X6866>;<X0005>;<X0005>;IGNORE
-<U09AC> <X6868>;<X0005>;<X0005>;IGNORE
-<U09AD> <X686A>;<X0005>;<X0005>;IGNORE
-<U09AE> <X686C>;<X0005>;<X0005>;IGNORE
-<U09AF> <X686E>;<X0005>;<X0005>;IGNORE
-<U09DF> <X686E>;"<X0005><X00D7><X00E9>";"<X0005><X0005><X00C0>";IGNORE
-<U09B0> <X6870>;<X0005>;<X0005>;IGNORE
-<U09F0> <X6872>;<X0005>;<X0005>;IGNORE
-<U09B2> <X6874>;<X0005>;<X0005>;IGNORE
-<U09F1> <X6876>;<X0005>;<X0005>;IGNORE
-<U09B6> <X6878>;<X0005>;<X0005>;IGNORE
-<U09B7> <X687A>;<X0005>;<X0005>;IGNORE
-<U09B8> <X687C>;<X0005>;<X0005>;IGNORE
-<U09B9> <X687E>;<X0005>;<X0005>;IGNORE
-% FIXME <U09BD> <X6880>;<X0005>;<X0005>;IGNORE
-%     <U09BD> (Bengali sign avagraha) is defined from Unicode4.0
-<U09BE> <X6882>;<X0005>;<X0005>;IGNORE
-<U09BF> <X6884>;<X0005>;<X0005>;IGNORE
-<U09C0> <X6886>;<X0005>;<X0005>;IGNORE
-<U09C1> <X6888>;<X0005>;<X0005>;IGNORE
-<U09C2> <X688A>;<X0005>;<X0005>;IGNORE
-<U09C3> <X688C>;<X0005>;<X0005>;IGNORE
-<U09C4> <X688E>;<X0005>;<X0005>;IGNORE
-<U09E2> <X6890>;<X0005>;<X0005>;IGNORE
-<U09E3> <X6892>;<X0005>;<X0005>;IGNORE
-<U09C7> <X6894>;<X0005>;<X0005>;IGNORE
-<U09C8> <X6896>;<X0005>;<X0005>;IGNORE
-<U09CB> <X6898>;<X0005>;<X0005>;IGNORE
-<U09CC> <X689A>;<X0005>;<X0005>;IGNORE
-<U09CD> <X689C>;<X0005>;<X0005>;IGNORE
-<U09D7> <X689E>;<X0005>;<X0005>;IGNORE
-<U09CE> "<XE2E9><X6B20>";<X0005>;"<X0005><X00C0>";IGNORE
-UNDEFINED IGNORE;IGNORE;IGNORE;%...
-
-order_end
 END LC_COLLATE
 
 %%%%%%%%%%%%%

Modified: trunk/libc/localedata/locales/iso14651_t1_common
==============================================================================
--- trunk/libc/localedata/locales/iso14651_t1_common (original)
+++ trunk/libc/localedata/locales/iso14651_t1_common Thu Feb  4 08:41:35 2010
@@ -65,6 +65,7 @@
 script <TELUGU>
 script <GURUMUKHI>
 script <KANNADA>
+script <TAMIL>
 script <SINHALA>
 script <MALAYALAM>
 script <BENGALI>
@@ -913,6 +914,87 @@
 collating-symbol <k-halant>
 collating-symbol <k-lenght_mark>
 collating-symbol <k-ai_lenght_mark>
+#
+# <TAMIL>
+#
+collating-element <ta_split_o> from "<U0BC6><U0BBE>"
+collating-element <ta_split_oo> from "<U0BC7><U0BBE>"
+collating-element <ta_split_au> from "<U0BC6><U0BD7>"
+collating-element <tagl_KSHA> from "<U0B95><U0BCD><U0BB7>"
+collating-element <tagl_SHRI> from "<U0BB8><U0BCD><U0BB0><U0BC0>"
+# defining collating element for sorting <consonent + virama> before <consonent>
+collating-element <pure-ta-k> from "<U0B95><U0BCD>"
+collating-element <pure-ta-ng> from "<U0B99><U0BCD>"
+collating-element <pure-ta-c> from "<U0B9A><U0BCD>"
+collating-element <pure-ta-j> from "<U0B9C><U0BCD>"
+collating-element <pure-ta-ny> from "<U0B9E><U0BCD>"
+collating-element <pure-ta-tt> from "<U0B9F><U0BCD>"
+collating-element <pure-ta-nn> from "<U0BA3><U0BCD>"
+collating-element <pure-ta-t> from "<U0BA4><U0BCD>"
+collating-element <pure-ta-n> from "<U0BA8><U0BCD>"
+collating-element <pure-ta-nnn> from "<U0BA9><U0BCD>"
+collating-element <pure-ta-p> from "<U0BAA><U0BCD>"
+collating-element <pure-ta-m> from "<U0BAE><U0BCD>"
+collating-element <pure-ta-y> from "<U0BAF><U0BCD>"
+collating-element <pure-ta-r> from "<U0BB0><U0BCD>"
+collating-element <pure-ta-rr> from "<U0BB1><U0BCD>"
+collating-element <pure-ta-l> from "<U0BB2><U0BCD>"
+collating-element <pure-ta-ll> from "<U0BB3><U0BCD>"
+collating-element <pure-ta-lll> from "<U0BB4><U0BCD>"
+collating-element <pure-ta-v> from "<U0BB5><U0BCD>"
+collating-element <pure-ta-sh> from "<U0BB6><U0BCD>"
+collating-element <pure-ta-ss> from "<U0BB7><U0BCD>"
+collating-element <pure-ta-s> from "<U0BB8><U0BCD>"
+collating-element <pure-ta-h> from "<U0BB9><U0BCD>"
+# defning symbols
+collating-symbol <ta-pulli> #virama
+collating-symbol <tavw-a>
+collating-symbol <tavw-aa>
+collating-symbol <tavw-i>
+collating-symbol <tavw-ii>
+collating-symbol <tavw-u>
+collating-symbol <tavw-uu>
+collating-symbol <tavw-e>
+collating-symbol <tavw-ee>
+collating-symbol <tavw-ai>
+collating-symbol <tavw-o>
+collating-symbol <tavw-oo>
+collating-symbol <tavw-au>
+collating-symbol <ta-aytham> #visarga
+collating-symbol <ta-k>
+collating-symbol <ta-ng>
+collating-symbol <ta-c>
+collating-symbol <ta-ny>
+collating-symbol <ta-tt>
+collating-symbol <ta-nn>
+collating-symbol <ta-t>
+collating-symbol <ta-n>
+collating-symbol <ta-p>
+collating-symbol <ta-m>
+collating-symbol <ta-y>
+collating-symbol <ta-r>
+collating-symbol <ta-l>
+collating-symbol <ta-v>
+collating-symbol <ta-zh>
+collating-symbol <ta-ll>
+collating-symbol <ta-rr>
+collating-symbol <ta-nnn>
+collating-symbol <ta-j>
+collating-symbol <ta-sh>
+collating-symbol <ta-ss>
+collating-symbol <ta-s>
+collating-symbol <ta-h>
+collating-symbol <tavs-aa>
+collating-symbol <tavs-i>
+collating-symbol <tavs-ii>
+collating-symbol <tavs-u>
+collating-symbol <tavs-uu>
+collating-symbol <tavs-e>
+collating-symbol <tavs-ee>
+collating-symbol <tavs-ai>
+collating-symbol <tavs-o>
+collating-symbol <tavs-oo>
+collating-symbol <tavs-au>
 #
 # <MALAYALAM>
 # mlvs-  denotes Malayalam vowel sign
@@ -3546,6 +3628,58 @@
 <k-lenght_mark>
 <k-ai_lenght_mark>
 #
+#<TAMIL>
+#
+# collation weights in order
+<tavw-a>
+<tavw-aa>
+<tavw-i>
+<tavw-ii>
+<tavw-u>
+<tavw-uu>
+<tavw-e>
+<tavw-ee>
+<tavw-ai>
+<tavw-o>
+<tavw-oo>
+<tavw-au>
+<ta-aytham> #visarga
+<ta-k>
+<ta-ng>
+<ta-c>
+<ta-ny>
+<ta-tt>
+<ta-nn>
+<ta-t>
+<ta-n>
+<ta-p>
+<ta-m>
+<ta-y>
+<ta-r>
+<ta-l>
+<ta-v>
+<ta-zh>
+<ta-ll>
+<ta-rr>
+<ta-nnn>
+<ta-j>
+<ta-sh>
+<ta-ss>
+<ta-s>
+<ta-h>
+<ta-pulli> #virama
+<tavs-aa>
+<tavs-i>
+<tavs-ii>
+<tavs-u>
+<tavs-uu>
+<tavs-e>
+<tavs-ee>
+<tavs-ai>
+<tavs-o>
+<tavs-oo>
+<tavs-au>
+#
 # <MALAYALAM>
 #
 # collation weights in order
@@ -6123,6 +6257,93 @@
 <U0CD5> <k-lenght_mark>;<BAS>;<MIN>;IGNORE
 <U0CD6> <k-ai_lenght_mark>;<BAS>;<MIN>;IGNORE
 <U0CBC> IGNORE;<KNKT>;<MIN>;IGNORE
+order_start <TAMIL>;forward;forward;forward;forward,position
+<U0BE6> <0>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0BE7> <1>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0BE8> <2>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0BE9> <3>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0BEA> <4>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0BEB> <5>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0BEC> <6>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0BED> <7>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0BEE> <8>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0BEF> <9>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0B85> <tavw-a>;<BAS>;<MIN>;IGNORE
+<U0B86> <tavw-aa>;<BAS>;<MIN>;IGNORE
+<U0B87> <tavw-i>;<BAS>;<MIN>;IGNORE
+<U0B88> <tavw-ii>;<BAS>;<MIN>;IGNORE
+<U0B89> <tavw-u>;<BAS>;<MIN>;IGNORE
+<U0B8A> <tavw-uu>;<BAS>;<MIN>;IGNORE
+<U0B8E> <tavw-e>;<BAS>;<MIN>;IGNORE
+<U0B8F> <tavw-ee>;<BAS>;<MIN>;IGNORE
+<U0B90> <tavw-ai>;<BAS>;<MIN>;IGNORE
+<U0B92> <tavw-o>;<BAS>;<MIN>;IGNORE
+<U0B93> <tavw-oo>;<BAS>;<MIN>;IGNORE
+<U0B94> <tavw-au>;<BAS>;<MIN>;IGNORE
+<U0B83> <ta-aytham>;<BAS>;<MIN>;IGNORE
+<pure-ta-k> <ta-k>;<BAS>;<MIN>;IGNORE
+<U0B95> "<ta-k><tavw-a>";<BAS>;<MIN>;IGNORE
+<pure-ta-ng> "<ta-ng>";<BAS>;<MIN>;IGNORE
+<U0B99> "<ta-ng><tavw-a>";<BAS>;<MIN>;IGNORE
+<pure-ta-c> <ta-c>;<BAS>;<MIN>;IGNORE
+<U0B9A> "<ta-c><tavw-a>";<BAS>;<MIN>;IGNORE
+<pure-ta-ny> <ta-ny>;<BAS>;<MIN>;IGNORE
+<U0B9E> "<ta-ny><tavw-a>";<BAS>;<MIN>;IGNORE
+<pure-ta-tt> <ta-tt>;<BAS>;<MIN>;IGNORE
+<U0B9F> "<ta-tt><tavw-a>";<BAS>;<MIN>;IGNORE
+<pure-ta-nn> <ta-nn>;<BAS>;<MIN>;IGNORE
+<U0BA3> "<ta-nn><tavw-a>";<BAS>;<MIN>;IGNORE
+<pure-ta-t> <ta-t>;<BAS>;<MIN>;IGNORE
+<U0BA4> "<ta-t><tavw-a>";<BAS>;<MIN>;IGNORE
+<pure-ta-n> <ta-n>;<BAS>;<MIN>;IGNORE
+<U0BA8> "<ta-n><tavw-a>";<BAS>;<MIN>;IGNORE
+<pure-ta-p> <ta-p>;<BAS>;<MIN>;IGNORE
+<U0BAA> "<ta-p><tavw-a>";<BAS>;<MIN>;IGNORE
+<pure-ta-m> <ta-m>;<BAS>;<MIN>;IGNORE
+<U0BAE> "<ta-m><tavw-a>";<BAS>;<MIN>;IGNORE
+<pure-ta-y> <ta-y>;<BAS>;<MIN>;IGNORE
+<U0BAF> "<ta-y><tavw-a>";<BAS>;<MIN>;IGNORE
+<pure-ta-r> <ta-r>;<BAS>;<MIN>;IGNORE
+<U0BB0> "<ta-r><tavw-a>";<BAS>;<MIN>;IGNORE
+<pure-ta-l> <ta-l>;<BAS>;<MIN>;IGNORE
+<U0BB2> "<ta-l><tavw-a>";<BAS>;<MIN>;IGNORE
+<pure-ta-v> <ta-v>;<BAS>;<MIN>;IGNORE
+<U0BB5> "<ta-v><tavw-a>";<BAS>;<MIN>;IGNORE
+<pure-ta-zh> <ta-zh>;<BAS>;<MIN>;IGNORE
+<U0BB4> "<ta-zh><tavw-a>";<BAS>;<MIN>;IGNORE
+<pure-ta-ll> <ta-ll>;<BAS>;<MIN>;IGNORE
+<U0BB3> "<ta-ll><tavw-a>";<BAS>;<MIN>;IGNORE
+<pure-ta-rr> <ta-rr>;<BAS>;<MIN>;IGNORE
+<U0BB1> "<ta-rr><tavw-a>";<BAS>;<MIN>;IGNORE
+<pure-ta-nnn> <ta-nnn>;<BAS>;<MIN>;IGNORE
+<U0BA9> "<ta-nnn><tavw-a>";<BAS>;<MIN>;IGNORE
+<pure-ta-j> <ta-j>;<BAS>;<MIN>;IGNORE
+<U0B9C> "<ta-j><tavw-a>";<BAS>;<MIN>;IGNORE
+<pure-ta-sh> <ta-sh>;<BAS>;<MIN>;IGNORE
+<U0BB6> "<ta-sh><tavw-a>";<BAS>;<MIN>;IGNORE
+<pure-ta-ss> <ta-ss>;<BAS>;<MIN>;IGNORE
+<U0BB7> "<ta-ss><tavw-a>";<BAS>;<MIN>;IGNORE
+<pure-ta-s> <ta-s>;<BAS>;<MIN>;IGNORE
+<U0BB8> "<ta-s><tavw-a>";<BAS>;<MIN>;IGNORE
+<pure-ta-h> <ta-h>;<BAS>;<MIN>;IGNORE
+<U0BB9> "<ta-h><tavw-a>";<BAS>;<MIN>;IGNORE
+<tagl_KSHA> "<U0B95><U0BCD><U0BB7>";<BAS>;<MIN>;IGNORE
+<U0BCD> <ta-pulli>;<BAS>;<MIN>;IGNORE
+<U0BBE> <tavs-aa>;<BAS>;<MIN>;IGNORE
+<U0BBF> <tavs-i>;<BAS>;<MIN>;IGNORE
+<U0BC0> <tavs-ii>;<BAS>;<MIN>;IGNORE
+<U0BC1> <tavs-u>;<BAS>;<MIN>;IGNORE
+<U0BC2> <tavs-uu>;<BAS>;<MIN>;IGNORE
+<U0BC6> <tavs-e>;<BAS>;<MIN>;IGNORE
+<U0BC7> <tavs-ee>;<BAS>;<MIN>;IGNORE
+<U0BC8> <tavs-ai>;<BAS>;<MIN>;IGNORE
+<U0BCA><tavs-o>;<BAS>;<MIN>;IGNORE
+<U0BCB> <tavs-oo>;<BAS>;<MIN>;IGNORE
+<U0BCC> <tavs-au>;<BAS>;<MIN>;IGNORE
+<tagl_SHRI> "<U0BB6><U0BCD><U0BB0><U0BC0>";<BAS>;<MIN>;IGNORE
+<ta_split_o> <tavs-o>;<BAS>;<MIN>;IGNORE
+<ta_split_oo> <tavs-oo>;<BAS>;<MIN>;IGNORE
+<ta_split_au> <tavs-au>;<BAS>;<MIN>;IGNORE
 
 order_start <SINHALA>;forward;forward;forward;forward,position
 # SCCII Part 1 : Collation Sequence (SLS1134)
@@ -6272,8 +6493,8 @@
 <U0D26>	"<ml-dda><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
 <ml-ddh> "<ml-ddha><ml-virama>";<BAS>;<MIN>;IGNORE
 <U0D27>	"<ml-ddha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
-<ml-chillu-n> "<ml-chillu-n>";<BAS>;<MIN>;IGNORE # ന്‍= ന  + ്  + zwj
-<U0D28>	"<ml-chillu-n><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE  #ന = ന + ് + അ
+<ml-chillu-n> "<ml-na><ml-virama>";<BAS>;<MIN>;IGNORE # ന്‍= ന  + ്  + zwj
+<U0D28>	"<ml-na><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE  #ന = ന + ് + അ
 <ml-p>	"<ml-pa><ml-virama>";<BAS>;<MIN>;IGNORE
 <U0D2A>	"<ml-pa><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
 <ml-ph>	"<ml-pha><ml-virama>";<BAS>;<MIN>;IGNORE

Modified: trunk/libc/localedata/locales/ta_IN
==============================================================================
--- trunk/libc/localedata/locales/ta_IN (original)
+++ trunk/libc/localedata/locales/ta_IN Thu Feb  4 08:41:35 2010
@@ -63,100 +63,7 @@
 
 % Copy the template from ISO/IEC 14651
 copy "iso14651_t1"
-% Tamil Collation Order as defined in The Madras Tamil Lexicon
-% Ref: http://www.uni-koeln.de/phil-fak/indologie/tamil/otl.html
-% Contact: T. Vaseehran <t_vasee@xxxxxxxxx>
-% Last Updated:  Feb. 12, 2004
-% ChangeLog:
-%  - Added split forms of o, oo, au
-%  - Moved Tamil Symbols above numbers
-%  - Added TAMIL LETTER SHA (U0BB6)
-%    Ref: http://wwwold.dkuug.dk/JTC1/SC2/WG2/docs/n2617
-%       : http://wwwold.dkuug.dk/JTC1/SC2/WG2/docs/n2618
-% Initial version: Feb. 10, 2004.
-
-collating-element <split_o> from "<U0BC6><U0BBE>"
-collating-element <split_oo> from "<U0BC7><U0BBE>"
-collating-element <split_au> from "<U0BC6><U0BD7>"
-collating-element <tagl_KSHA> from "<U0B95><U0BCD><U0BB7>"
-collating-element <tagl_SHRI> from "<U0BB8><U0BCD><U0BB0><U0BC0>"
-
-reorder-after <U00DE>
-<U0BF3> % TAMIL SIGN DAY
-<U0BF4> % TAMIL SIGN MONTH
-<U0BF5> % TAMIL SIGN YEAR
-<U0BF6> % TAMIL SIGN DEBIT
-<U0BF7> % TAMIL SIGN CREDIT
-<U0BF8> % TAMIL SIGN AS ABOVE
-<U0BF9> % TAMIL SIGN RUPEE
-<U0BE6> % TAMIL DIGIT ZERO
-<U0BE7> % TAMIL DIGIT ONE
-<U0BE8> % TAMIL DIGIT TWO
-<U0BE9> % TAMIL DIGIT THREE
-<U0BEA> % TAMIL DIGIT FOUR
-<U0BEB> % TAMIL DIGIT FIVE
-<U0BEC> % TAMIL DIGIT SIX
-<U0BED> % TAMIL DIGIT SEVEN
-<U0BEE> % TAMIL DIGIT EIGHT
-<U0BEF> % TAMIL DIGIT NINE
-<U0BF0> % TAMIL NUMBER TEN
-<U0BF1> % TAMIL NUMBER ONE HUNDRED
-<U0BF2> % TAMIL NUMBER ONE THOUSAND
-<U0B85> % TAMIL LETTER A
-<U0B86> % TAMIL LETTER AA
-<U0B87> % TAMIL LETTER I
-<U0B88> % TAMIL LETTER II
-<U0B89> % TAMIL LETTER U
-<U0B8A> % TAMIL LETTER UU
-<U0B8E> % TAMIL LETTER E
-<U0B8F> % TAMIL LETTER EE
-<U0B90> % TAMIL LETTER AI
-<U0B92> % TAMIL LETTER O
-<U0B93> % TAMIL LETTER OO
-<U0B94> % TAMIL LETTER AU
-<U0B83> % TAMIL SIGN VISARGA (AYTHAM)
-<U0B95> % TAMIL LETTER K
-<U0B99> % TAMIL LETTER NG
-<U0B9A> % TAMIL LETTER C
-<U0B9E> % TAMIL LETTER NY
-<U0B9F> % TAMIL LETTER TT
-<U0BA3> % TAMIL LETTER NNN
-<U0BA4> % TAMIL LETTER T
-<U0BA8> % TAMIL LETTER N
-<U0BAA> % TAMIL LETTER P
-<U0BAE> % TAMIL LETTER M
-<U0BAF> % TAMIL LETTER Y
-<U0BB0> % TAMIL LETTER R
-<U0BB2> % TAMIL LETTER L
-<U0BB5> % TAMIL LETTER V
-<U0BB4> % TAMIL LETTER LLL
-<U0BB3> % TAMIL LETTER LL
-<U0BB1> % TAMIL LETTER RR
-<U0BA9> % TAMIL LETTER NN
-<U0B9C> % TAMIL LETTER JA
-<U0BB6> % TAMIL LETTER SHA
-<U0BB7> % TAMIL LETTER SSA
-<U0BB8> % TAMIL LETTER SA
-<U0BB9> % TAMIL LETTER HA
-<tagl_KSHA>
-<U0BCD> % TAMIL SIGN VIRAMA (PULLI)
-<U0BBE> % TAMIL VOWEL SIGN AA
-<U0BBF> % TAMIL VOWEL SIGN I
-<U0BC0> % TAMIL VOWEL SIGN II
-<U0BC1> % TAMIL VOWEL SIGN U
-<U0BC2> % TAMIL VOWEL SIGN UU
-<U0BC6> % TAMIL VOWEL SIGN E
-<U0BC7> % TAMIL VOWEL SIGN EE
-<U0BC8> % TAMIL VOWEL SIGN AI
-<U0BCA> % TAMIL VOWEL SIGN O
-<U0BCB> % TAMIL VOWEL SIGN OO
-<U0BCC> % TAMIL VOWEL SIGN AU
-<U0BD7> % TAMIL AU LENGTH MARK
-<tagl_SHRI> "<U0BB6><U0BCD><U0BB0><U0BC0>"
-<split_o>  <U0BCA>
-<split_oo> <U0BCB>
-<split_au> <U0BCC>
-reorder-end
+
 END LC_COLLATE
 
 

Modified: trunk/libc/misc/getusershell.c
==============================================================================
--- trunk/libc/misc/getusershell.c (original)
+++ trunk/libc/misc/getusershell.c Thu Feb  4 08:41:35 2010
@@ -116,7 +116,8 @@
 	}
 	if (statb.st_size > ~(size_t)0 / sizeof (char *) * 3)
 		goto init_okshells;
-	if ((strings = malloc(statb.st_size + 2)) == NULL)
+	flen = statb.st_size + 3;
+	if ((strings = malloc(flen)) == NULL)
 		goto init_okshells;
 	shells = malloc(statb.st_size / 3 * sizeof (char *));
 	if (shells == NULL) {
@@ -126,7 +127,6 @@
 	}
 	sp = shells;
 	cp = strings;
-	flen = statb.st_size + 2;
 	while (fgets_unlocked(cp, flen - (cp - strings), fp) != NULL) {
 		while (*cp != '#' && *cp != '/' && *cp != '\0')
 			cp++;

Modified: trunk/libc/stdlib/setenv.c
==============================================================================
--- trunk/libc/stdlib/setenv.c (original)
+++ trunk/libc/stdlib/setenv.c Thu Feb  4 08:41:35 2010
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992,1995-2001,2004, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 1992,1995-2001,2004, 2008, 2010 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
@@ -136,6 +136,7 @@
 
   if (ep == NULL || __builtin_expect (*ep == NULL, 1))
     {
+      const size_t varlen = namelen + 1 + vallen;
       char **new_environ;
 
       /* We allocated this space; we can extend it.  */
@@ -156,11 +157,21 @@
 	{
 	  /* See whether the value is already known.  */
 #ifdef USE_TSEARCH
-# ifdef __GNUC__
-	  char new_value[namelen + 1 + vallen];
-# else
-	  char *new_value = (char *) alloca (namelen + 1 + vallen);
-# endif
+	  char *new_value;
+	  int use_alloca = __libc_use_alloca (varlen);
+	  if (__builtin_expect (use_alloca, 1))
+	    new_value = (char *) alloca (varlen);
+	  else
+	    {
+	      new_value = malloc (varlen);
+	      if (new_value == NULL)
+		{
+		  UNLOCK;
+		  if (last_environ == NULL)
+		    free (new_environ);
+		  return -1;
+		}
+	    }
 # ifdef _LIBC
 	  __mempcpy (__mempcpy (__mempcpy (new_value, name, namelen), "=", 1),
 		     value, vallen);
@@ -174,21 +185,28 @@
 	  if (__builtin_expect (new_environ[size] == NULL, 1))
 #endif
 	    {
-	      new_environ[size] = (char *) malloc (namelen + 1 + vallen);
-	      if (__builtin_expect (new_environ[size] == NULL, 0))
+#ifdef USE_TSEARCH
+	      if (__builtin_expect (! use_alloca, 0))
+		new_environ[size] = new_value;
+	      else
+#endif
 		{
-		  __set_errno (ENOMEM);
-		  UNLOCK;
-		  return -1;
+		  new_environ[size] = (char *) malloc (varlen);
+		  if (__builtin_expect (new_environ[size] == NULL, 0))
+		    {
+		      UNLOCK;
+		      return -1;
+		    }
+
+#ifdef USE_TSEARCH
+		  memcpy (new_environ[size], new_value, varlen);
+#else
+		  memcpy (new_environ[size], name, namelen);
+		  new_environ[size][namelen] = '=';
+		  memcpy (&new_environ[size][namelen + 1], value, vallen);
+#endif
 		}
 
-#ifdef USE_TSEARCH
-	      memcpy (new_environ[size], new_value, namelen + 1 + vallen);
-#else
-	      memcpy (new_environ[size], name, namelen);
-	      new_environ[size][namelen] = '=';
-	      memcpy (&new_environ[size][namelen + 1], value, vallen);
-#endif
 	      /* And save the value now.  We cannot do this when we remove
 		 the string since then we cannot decide whether it is a
 		 user string or not.  */
@@ -213,12 +231,21 @@
 	np = (char *) combined;
       else
 	{
-#ifdef USE_TSEARCH
-# ifdef __GNUC__
-	  char new_value[namelen + 1 + vallen];
-# else
-	  char *new_value = (char *) alloca (namelen + 1 + vallen);
-# endif
+	  const size_t varlen = namelen + 1 + vallen;
+#ifdef USE_TSEARCH
+	  char *new_value;
+	  int use_alloca = __libc_use_alloca (varlen);
+	  if (__builtin_expect (use_alloca, 1))
+	    new_value = (char *) alloca (varlen);
+	  else
+	    {
+	      new_value = malloc (varlen);
+	      if (new_value == NULL)
+		{
+		  UNLOCK;
+		  return -1;
+		}
+	    }
 # ifdef _LIBC
 	  __mempcpy (__mempcpy (__mempcpy (new_value, name, namelen), "=", 1),
 		     value, vallen);
@@ -232,20 +259,27 @@
 	  if (__builtin_expect (np == NULL, 1))
 #endif
 	    {
-	      np = malloc (namelen + 1 + vallen);
-	      if (__builtin_expect (np == NULL, 0))
+#ifdef USE_TSEARCH
+	      if (__builtin_expect (! use_alloca, 0))
+		np = new_value;
+	      else
+#endif
 		{
-		  UNLOCK;
-		  return -1;
+		  np = malloc (varlen);
+		  if (__builtin_expect (np == NULL, 0))
+		    {
+		      UNLOCK;
+		      return -1;
+		    }
+
+#ifdef USE_TSEARCH
+		  memcpy (np, new_value, varlen);
+#else
+		  memcpy (np, name, namelen);
+		  np[namelen] = '=';
+		  memcpy (&np[namelen + 1], value, vallen);
+#endif
 		}
-
-#ifdef USE_TSEARCH
-	      memcpy (np, new_value, namelen + 1 + vallen);
-#else
-	      memcpy (np, name, namelen);
-	      np[namelen] = '=';
-	      memcpy (&np[namelen + 1], value, vallen);
-#endif
 	      /* And remember the value.  */
 	      STORE_VALUE (np);
 	    }

Modified: trunk/libc/sysdeps/mach/getsysstats.c
==============================================================================
--- trunk/libc/sysdeps/mach/getsysstats.c (original)
+++ trunk/libc/sysdeps/mach/getsysstats.c Thu Feb  4 08:41:35 2010
@@ -40,6 +40,7 @@
 
   return hbi.max_cpus;
 }
+weak_alias (__get_nprocs_conf, get_nprocs_conf)
 
 /* Return the number of processors currently available on the system. */
 int
@@ -58,6 +59,7 @@
 
   return hbi.avail_cpus;
 }
+weak_alias (__get_nprocs, get_nprocs)
 
 /* Return the number of physical pages on the system. */
 long int
@@ -76,6 +78,7 @@
 
   return hbi.memory_size / __vm_page_size;
 }
+weak_alias (__get_phys_pages, get_phys_pages)
 
 /* Return the number of available physical pages */
 long int
@@ -100,3 +103,4 @@
 
   return vs.free_count;
 }
+weak_alias (__get_avphys_pages, get_avphys_pages)

Modified: trunk/libc/sysdeps/unix/sysv/linux/sys/mount.h
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/sys/mount.h (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/sys/mount.h Thu Feb  4 08:41:35 2010
@@ -1,5 +1,5 @@
 /* Header file for mounting/unmount Linux filesystems.
-   Copyright (C) 1996,1997,1998,1999,2000,2004 Free Software Foundation, Inc.
+   Copyright (C) 1996-2000, 2004, 2010 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
@@ -47,23 +47,46 @@
 #define MS_REMOUNT	MS_REMOUNT
   MS_MANDLOCK = 64,		/* Allow mandatory locks on an FS.  */
 #define MS_MANDLOCK	MS_MANDLOCK
-  S_WRITE = 128,		/* Write on file/directory/symlink.  */
-#define S_WRITE		S_WRITE
-  S_APPEND = 256,		/* Append-only file.  */
-#define S_APPEND	S_APPEND
-  S_IMMUTABLE = 512,		/* Immutable file.  */
-#define S_IMMUTABLE	S_IMMUTABLE
+  MS_DIRSYNC = 128,		/* Directory modifications are synchronous.  */
+#define MS_DIRSYNC	MS_DIRSYNC
   MS_NOATIME = 1024,		/* Do not update access times.  */
 #define MS_NOATIME	MS_NOATIME
   MS_NODIRATIME = 2048,		/* Do not update directory access times.  */
 #define MS_NODIRATIME	MS_NODIRATIME
   MS_BIND = 4096,		/* Bind directory at different place.  */
 #define MS_BIND		MS_BIND
+  MS_MOVE = 8192,
+#define MS_MOVE		MS_MOVE
+  MS_REC = 16384,
+#define MS_REC		MS_REC
+  MS_SILENT = 32768,
+#define MS_SILENT	MS_SILENT
+  MS_POSIXACL = 1 << 16,	/* VFS does not apply the umask.  */
+#define MS_POSIXACL	MS_POSIXACL
+  MS_UNBINDABLE = 1 << 17,	/* Change to unbindable.  */
+#define MS_UNBINDABLE	MS_UNBINDABLE
+  MS_PRIVATE = 1 << 18,		/* Change to private.  */
+#define MS_PRIVATE	MS_PRIVATE
+  MS_SLAVE = 1 << 19,		/* Change to slave.  */
+#define MS_SLAVE	MS_SLAVE
+  MS_SHARED = 1 << 20,		/* Change to shared.  */
+#define MS_SHARED	MS_SHARED
+  MS_RELATIME = 1 << 21,	/* Update atime relative to mtime/ctime.  */
+#define MS_RELATIME	MS_RELATIME
+  MS_KERNMOUNT = 1 << 22,	/* This is a kern_mount call.  */
+#define MS_KERNMOUNT	MS_KERNMOUNT
+  MS_I_VERSION =  1 << 23,	/* Update inode I_version field.  */
+#define MS_I_VERSION	MS_I_VERSION
+  MS_STRICTATIME = 1 << 24,	/* Always perform atime updates.  */
+#define MS_STRICTATIME	MS_STRICTATIME
+  MS_ACTIVE = 1 << 30,
+#define MS_ACTIVE	MS_ACTIVE
+  MS_NOUSER = 1 << 31
+#define MS_NOUSER	MS_NOUSER
 };
 
 /* Flags that can be altered by MS_REMOUNT  */
-#define MS_RMT_MASK (MS_RDONLY|MS_SYNCHRONOUS|MS_MANDLOCK|MS_NOATIME \
-		     |MS_NODIRATIME)
+#define MS_RMT_MASK (MS_RDONLY|MS_SYNCHRONOUS|MS_MANDLOCK|MS_I_VERSION)
 
 
 /* Magic mount flag number. Has to be or-ed to the flag values.  */

Modified: trunk/ports/ChangeLog.alpha
==============================================================================
--- trunk/ports/ChangeLog.alpha (original)
+++ trunk/ports/ChangeLog.alpha Thu Feb  4 08:41:35 2010
@@ -1,3 +1,31 @@
+2010-01-12  Matt Turner  <mattst88@xxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/alpha/bits/stat.h: Fix double-inclusion
+	problem.
+
+2010-01-12  Matt Turner  <mattst88@xxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/alpha/bits/sigaction.h: Define
+	SA_RESTART, SA_NODEFER and SA_RESETHAND if __USE_XOPEN2K8.
+
+2010-01-12  Matt Turner  <mattst88@xxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Define O_DIRECTORY,
+	O_NOFOLLOW, O_CLOEXEC, F_DUPFD_CLOEXEC, F_SETOWN, and F_GETOWN for
+	XPG7.
+	* sysdeps/unix/sysv/linux/alpha/bits/stat.h: Enable using from
+	fcntl.h.
+
+2010-01-12  Matt Turner  <mattst88@xxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Redefine O_SYNC and
+	O_DSYNC to match 2.6.33+ kernels.
+
+2009-12-02  Mike Frysinger <vapier@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/alpha/nptl/timer_settime.c: Fix typo in
+	include timer_gettime.c -> timer_settime.c.
+
 2009-11-23  Matt Turner  <mattst88@xxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/alpha/bits/stat.h: Use struct timespec

Modified: trunk/ports/ChangeLog.hppa
==============================================================================
--- trunk/ports/ChangeLog.hppa (original)
+++ trunk/ports/ChangeLog.hppa Thu Feb  4 08:41:35 2010
@@ -1,3 +1,24 @@
+2010-02-01  Kyle McMartin  <kyle@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/hppa/bits/socket.h: Fix value of
+	SOCK_CLOEXEC to match O_CLOEXEC.
+
+2010-02-01  Carlos O'Donell  <carlos@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/hppa/Versions: Bump
+	errlist-compat to 257 for GLIBC_2.12.
+	* sysdeps/unix/sysv/linux/hppa/bits/errno.h
+	(EOWNERDEAD): Define if not already defined.
+	(ENOTRECOVERABLE): Likewise.
+	(ERFKILL): Likewise.
+
+2009-11-29  Carlos O'Donell  <carlos@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/hppa/bits/fcntl.h:
+	Rearrange file to reduce future maintenance.
+	[__USE_GNU]: Update F_GETOWN_EX, and F_SETOWN_EX.
+	Define f_owner_ex an __pid_type.
+
 2009-11-25  Carlos O'Donell  <carlos@xxxxxxxxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/hppa/nptl/bits/pthreadtypes.h:

Modified: trunk/ports/ChangeLog.mips
==============================================================================
--- trunk/ports/ChangeLog.mips (original)
+++ trunk/ports/ChangeLog.mips Thu Feb  4 08:41:35 2010
@@ -1,3 +1,9 @@
+2010-01-28  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/mips/dl-trampoline.c (_dl_runtime_resolve,
+	_dl_runtime_pltresolve): Calculate offset from start of function
+	to .cpload instead of hardcoding instruction size.
+
 2010-01-11  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/mips/bits/stat.h: Fix double-inclusion

Modified: trunk/ports/sysdeps/mips/dl-trampoline.c
==============================================================================
--- trunk/ports/sysdeps/mips/dl-trampoline.c (original)
+++ trunk/ports/sysdeps/mips/dl-trampoline.c Thu Feb  4 08:41:35 2010
@@ -278,13 +278,13 @@
 	.frame	$29, " STRINGXP(ELF_DL_FRAME_SIZE) ", $31\n\
 	.set noreorder\n\
 	# Save GP.\n\
-	move	$3, $28\n\
+1:	move	$3, $28\n\
 	# Save arguments and sp value in stack.\n\
 	" STRINGXP(PTR_SUBIU) "  $29, " STRINGXP(ELF_DL_FRAME_SIZE) "\n\
 	# Modify t9 ($25) so as to point .cpload instruction.\n\
-	" IFABIO32(STRINGXP(PTR_ADDIU) "	$25, 12\n") "\
+	" IFABIO32(STRINGXP(PTR_ADDIU) "	$25, (2f-1b)\n") "\
 	# Compute GP.\n\
-	" STRINGXP(SETUP_GP) "\n\
+2:	" STRINGXP(SETUP_GP) "\n\
 	" STRINGXV(SETUP_GP64 (0, _dl_runtime_resolve)) "\n\
 	.set reorder\n\
 	# Save slot call pc.\n\
@@ -334,13 +334,13 @@
 	.frame	$29, " STRINGXP(ELF_DL_PLT_FRAME_SIZE) ", $31\n\
 	.set noreorder\n\
 	# Save arguments and sp value in stack.\n\
-	" STRINGXP(PTR_SUBIU) "	$29, " STRINGXP(ELF_DL_PLT_FRAME_SIZE) "\n\
+1:	" STRINGXP(PTR_SUBIU) "	$29, " STRINGXP(ELF_DL_PLT_FRAME_SIZE) "\n\
 	" IFABIO32(STRINGXP(PTR_L) "	$13, " STRINGXP(PTRSIZE) "($28)") "\n\
 	" IFNEWABI(STRINGXP(PTR_L) "	$13, " STRINGXP(PTRSIZE) "($14)") "\n\
 	# Modify t9 ($25) so as to point .cpload instruction.\n\
-	" IFABIO32(STRINGXP(PTR_ADDIU) "	$25, 12\n") "\
+	" IFABIO32(STRINGXP(PTR_ADDIU) "	$25, (2f-1b)\n") "\
 	# Compute GP.\n\
-	" STRINGXP(SETUP_GP) "\n\
+2:	" STRINGXP(SETUP_GP) "\n\
 	" STRINGXV(SETUP_GP64 (0, _dl_runtime_pltresolve)) "\n\
 	.set reorder\n\
 	" IFABIO32(STRINGXP(CPRESTORE(32))) "\n\

Modified: trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h
==============================================================================
--- trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (original)
+++ trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h Thu Feb  4 08:41:35 2010
@@ -1,5 +1,5 @@
 /* O_*, F_*, FD_* bit values for Linux.
-   Copyright (C) 1995-2000,2004,2005,2006,2007 Free Software Foundation, Inc.
+   Copyright (C) 1995-2000,2004,2005,2006,2007,2010 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
@@ -41,16 +41,18 @@
 #define O_NONBLOCK	 00004
 #define O_APPEND	 00010
 #define O_NDELAY	O_NONBLOCK
-#define O_SYNC		040000
+#define O_SYNC		020040000
 #define O_FSYNC		O_SYNC
 #define O_ASYNC		020000	/* fcntl, for BSD compatibility */
 
-#ifdef __USE_GNU
+#ifdef __USE_XOPEN2K8
 # define O_DIRECTORY	0100000	/* Must be a directory.  */
 # define O_NOFOLLOW	0200000	/* Do not follow links.  */
+# define O_CLOEXEC	010000000 /* Set close_on_exec.  */
+#endif
+#ifdef __USE_GNU
 # define O_DIRECT	02000000 /* Direct disk access.  */
 # define O_NOATIME	04000000 /* Do not set atime.  */
-# define O_CLOEXEC      010000000 /* Set close_on_exec.  */
 #endif
 
 #ifdef __USE_LARGEFILE64
@@ -62,7 +64,7 @@
    We define the symbols here but let them do the same as O_SYNC since
    this is a superset.  */
 #if defined __USE_POSIX199309 || defined __USE_UNIX98
-# define O_DSYNC	O_SYNC	/* Synchronize data.  */
+# define O_DSYNC	040000	/* Synchronize data.  */
 # define O_RSYNC	O_SYNC	/* Synchronize read operations.  */
 #endif
 
@@ -79,7 +81,7 @@
 #define F_SETLK64	F_SETLK	/* Set record locking info (non-blocking).  */
 #define F_SETLKW64	F_SETLKW /* Set record locking info (blocking).  */
 
-#if defined __USE_BSD || defined __USE_UNIX98
+#if defined __USE_BSD || defined __USE_UNIX98 || defiend __USE_XOPEN2K8
 # define F_SETOWN	5	/* Get owner of socket (receiver of SIGIO).  */
 # define F_GETOWN	6	/* Set owner of socket (receiver of SIGIO).  */
 #endif
@@ -93,6 +95,8 @@
 # define F_SETLEASE	1024	/* Set a lease.	 */
 # define F_GETLEASE	1025	/* Enquire what lease is active.  */
 # define F_NOTIFY	1026	/* Request notfications on a directory.	 */
+#endif
+#ifdef __USE_XOPEN2K8
 # define F_DUPFD_CLOEXEC 1030	/* Duplicate file descriptor with
 				   close-on-exit set.  */
 #endif

Modified: trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h
==============================================================================
--- trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h (original)
+++ trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h Thu Feb  4 08:41:35 2010
@@ -1,5 +1,5 @@
 /* The proper definitions for Linux/Alpha sigaction.
-   Copyright (C) 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1999, 2000, 2010 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
@@ -54,6 +54,8 @@
 				    three arguments instead of one.  */
 #if defined __USE_UNIX98 || defined __USE_MISC
 # define SA_ONSTACK   0x00000001 /* Use signal stack by using `sa_restorer'. */
+#endif
+#if defined __USE_UNIX98 || defined __USE_MISC || defined __USE_XOPEN2K8
 # define SA_RESTART   0x00000002 /* Restart syscall on signal return.  */
 # define SA_NODEFER   0x00000008 /* Don't automatically block the signal
 				    when its handler is being executed.  */

Modified: trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/stat.h
==============================================================================
--- trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/stat.h (original)
+++ trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/stat.h Thu Feb  4 08:41:35 2010
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996,1997,1998,1999,2000,2001,2004
+/* Copyright (C) 1996,1997,1998,1999,2000,2001,2004,2010
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -17,9 +17,12 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
-#ifndef _SYS_STAT_H
+#if !defined _SYS_STAT_H && !defined _FCNTL_H
 # error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
 #endif
+
+#ifndef _BITS_STAT_H
+#define _BITS_STAT_H	1
 
 /* Versions of the `struct stat' data structure.  */
 #define _STAT_VER_KERNEL	0
@@ -155,3 +158,5 @@
 # define UTIME_NOW	((1l << 30) - 1l)
 # define UTIME_OMIT	((1l << 30) - 2l)
 #endif
+
+#endif /* bits/stat.h */

Modified: trunk/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_settime.c
==============================================================================
--- trunk/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_settime.c (original)
+++ trunk/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_settime.c Thu Feb  4 08:41:35 2010
@@ -1,1 +1,1 @@
-#include <nptl/sysdeps/unix/sysv/linux/x86_64/timer_gettime.c>
+#include <nptl/sysdeps/unix/sysv/linux/x86_64/timer_settime.c>

Modified: trunk/ports/sysdeps/unix/sysv/linux/hppa/Versions
==============================================================================
--- trunk/ports/sysdeps/unix/sysv/linux/hppa/Versions (original)
+++ trunk/ports/sysdeps/unix/sysv/linux/hppa/Versions Thu Feb  4 08:41:35 2010
@@ -23,6 +23,10 @@
   GLIBC_2.11 {
     fallocate64;
   }
+  GLIBC_2.12 {
+    #errlist-compat	257
+    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+  }
 }
 librt {
   GLIBC_2.3 {

Modified: trunk/ports/sysdeps/unix/sysv/linux/hppa/bits/errno.h
==============================================================================
--- trunk/ports/sysdeps/unix/sysv/linux/hppa/bits/errno.h (original)
+++ trunk/ports/sysdeps/unix/sysv/linux/hppa/bits/errno.h Thu Feb  4 08:41:35 2010
@@ -30,6 +30,18 @@
 #  define ECANCELED	ECANCELLED
 # endif
 
+# ifndef EOWNERDEAD
+#  define EOWNERDEAD		254
+# endif
+
+# ifndef ENOTRECOVERABLE 
+#  define ENOTRECOVERABLE	255
+# endif
+
+# ifndef ERFKILL
+#  define ERFKILL		256 
+# endif
+
 # ifndef __ASSEMBLER__
 /* Function to get address of global `errno' variable.  */
 extern int *__errno_location (void) __THROW __attribute__ ((__const__));

Modified: trunk/ports/sysdeps/unix/sysv/linux/hppa/bits/fcntl.h
==============================================================================
--- trunk/ports/sysdeps/unix/sysv/linux/hppa/bits/fcntl.h (original)
+++ trunk/ports/sysdeps/unix/sysv/linux/hppa/bits/fcntl.h Thu Feb  4 08:41:35 2010
@@ -1,6 +1,6 @@
 /* O_*, F_*, FD_* bit values for Linux/HPPA.
    Copyright (C) 1995,1996,1997,1998,1999,2000,2002,2004
-	Free Software Foundation, Inc.
+   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,7 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
-#ifndef _FCNTL_H
+#ifndef	_FCNTL_H
 # error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
 #endif
 
@@ -26,24 +26,25 @@
 #ifdef __USE_GNU
 # include <bits/uio.h>
 #endif
+
 
 /* open/fcntl - O_SYNC is only implemented on blocks devices and on files
    located on an ext2 file system */
-#define O_RDONLY	00000000
-#define O_WRONLY	00000001
-#define O_RDWR		00000002
-#define O_ACCMODE	00000003
+#define O_ACCMODE	   0003
+#define O_RDONLY	     00
+#define O_WRONLY	     01
+#define O_RDWR		     02
+#define O_CREAT		00000400 /* not fcntl */
+#define O_EXCL		00002000 /* not fcntl */
+#define O_NOCTTY	00400000 /* not fcntl */
+#define O_TRUNC		00001000 /* not fcntl */
 #define O_APPEND	00000010
-#define O_BLKSEEK	00000100 /* HPUX only */
-#define O_CREAT		00000400 /* not fcntl */
-#define O_TRUNC		00001000 /* not fcntl */
-#define O_EXCL		00002000 /* not fcntl */
-#define O_ASYNC		00020000
-#define O_SYNC		00100000
 #define O_NONBLOCK	00200004 /* HPUX has separate NDELAY & NONBLOCK */
 #define O_NDELAY	O_NONBLOCK
-#define O_NOCTTY	00400000 /* not fcntl */
-
+#define O_SYNC		00100000
+#define O_FSYNC		 O_SYNC
+#define O_ASYNC		 020000
+#define O_BLKSEEK	00000100 /* HPUX only */
 
 #ifdef __USE_GNU
 # define O_DIRECT	000040000 /* Direct disk access.  */
@@ -53,13 +54,16 @@
 # define O_CLOEXEC	010000000 /* Set close_on_exec.  */
 #endif
 
-#ifdef __USE_LARGEFILE64
-# define O_LARGEFILE	00004000
-#endif
-
+/* For now Linux has synchronisity options for data and read operations.
+   We define the symbols here but let them do the same as O_SYNC since
+   this is a superset.	*/
 #if defined __USE_POSIX199309 || defined __USE_UNIX98
 # define O_DSYNC		01000000 /* HPUX only */
 # define O_RSYNC		02000000 /* HPUX only */
+#endif
+
+#ifdef __USE_LARGEFILE64
+# define O_LARGEFILE	00004000
 #endif
 
 /* Values for the second argument to `fcntl'.  */
@@ -70,11 +74,11 @@
 #define F_SETFL		4	/* Set file status flags.  */
 #ifndef __USE_FILE_OFFSET64
 # define F_GETLK	5	/* Get record locking info.  */
-# define F_SETLK	6    	/* Set record locking info (non-blocking).  */
-# define F_SETLKW	7	/* Set record locking info (blocking).  */
+# define F_SETLK	6	/* Set record locking info (non-blocking).  */
+# define F_SETLKW	7	/* Set record locking info (blocking).	*/
 #else
-# define F_GETLK	F_GETLK64 /* Get record locking info.  */
-# define F_SETLK	F_SETLK64 /* Set record locking info (non-blocking). */
+# define F_GETLK	F_GETLK64  /* Get record locking info.	*/
+# define F_SETLK	F_SETLK64  /* Set record locking info (non-blocking).*/
 # define F_SETLKW	F_SETLKW64 /* Set record locking info (blocking).  */
 #endif
 #define F_GETLK64	8	/* Get record locking info.  */
@@ -89,19 +93,19 @@
 #ifdef __USE_GNU
 # define F_SETSIG	13	/* Set number of signal to be sent.  */
 # define F_GETSIG	14	/* Get number of signal to be sent.  */
-# define F_GETOWN_EX	15
-# define F_SETOWN_EX	16
-#endif
-
-#ifdef __USE_GNU
-# define F_SETLEASE     1024    /* Set a lease.  */
-# define F_GETLEASE     1025    /* Enquire what lease is active.  */
-# define F_NOTIFY       1026    /* Request notfications on a directory.  */
+# define F_SETOWN_EX	15	/* Get owner (thread receiving SIGIO).  */
+# define F_GETOWN_EX	16	/* Set owner (thread receiving SIGIO).  */
+#endif
+
+#ifdef __USE_GNU
+# define F_SETLEASE	1024	/* Set a lease.	 */
+# define F_GETLEASE	1025	/* Enquire what lease is active.  */
+# define F_NOTIFY	1026	/* Request notfications on a directory.	 */
 # define F_DUPFD_CLOEXEC 1030	/* Duplicate file descriptor with
 				   close-on-exit set.  */
 #endif
 
-/* for F_[GET|SET]FL */
+/* For F_[GET|SET]FD.  */
 #define FD_CLOEXEC	1	/* actually anything with low bit set goes */
 
 /* For posix fcntl() and `l_type' field of a `struct flock' for lockf().  */
@@ -109,12 +113,12 @@
 #define F_WRLCK		2	/* Write lock.  */
 #define F_UNLCK		3	/* Remove lock.  */
 
-/* for old implementation of bsd flock () */
+/* For old implementation of bsd flock().  */
 #define F_EXLCK		4	/* or 3 */
 #define F_SHLCK		8	/* or 4 */
 
 #ifdef __USE_BSD
-/* operations for bsd flock(), also used by the kernel implementation */
+/* Operations for bsd flock(), also used by the kernel implementation.	*/
 # define LOCK_SH	1	/* shared lock */
 # define LOCK_EX	2	/* exclusive lock */
 # define LOCK_NB	4	/* or'd with one of the above to prevent
@@ -123,19 +127,26 @@
 #endif
 
 #ifdef __USE_GNU
+# define LOCK_MAND	32	/* This is a mandatory flock:	*/
+# define LOCK_READ	64	/* ... which allows concurrent read operations.	 */
+# define LOCK_WRITE	128	/* ... which allows concurrent write operations.  */
+# define LOCK_RW	192	/* ... Which allows concurrent read & write operations.	 */
+#endif
+
+#ifdef __USE_GNU
 /* Types of directory notifications that may be requested with F_NOTIFY.  */
-# define DN_ACCESS      0x00000001      /* File accessed.  */
-# define DN_MODIFY      0x00000002      /* File modified.  */
-# define DN_CREATE      0x00000004      /* File created.  */
-# define DN_DELETE      0x00000008      /* File removed.  */
-# define DN_RENAME      0x00000010      /* File renamed.  */
-# define DN_ATTRIB      0x00000020      /* File changed attibutes.  */
-# define DN_MULTISHOT   0x80000000      /* Don't remove notifier.  */
+# define DN_ACCESS	0x00000001	/* File accessed.  */
+# define DN_MODIFY	0x00000002	/* File modified.  */
+# define DN_CREATE	0x00000004	/* File created.  */
+# define DN_DELETE	0x00000008	/* File removed.  */
+# define DN_RENAME	0x00000010	/* File renamed.  */
+# define DN_ATTRIB	0x00000020	/* File changed attibutes.  */
+# define DN_MULTISHOT	0x80000000	/* Don't remove notifier.  */
 #endif
 
 struct flock
   {
-    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.  */
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
     short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
 #ifndef __USE_FILE_OFFSET64
     __off_t l_start;	/* Offset where the lock begins.  */
@@ -150,11 +161,29 @@
 #ifdef __USE_LARGEFILE64
 struct flock64
   {
-    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.  */
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
     short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
     __off64_t l_start;	/* Offset where the lock begins.  */
     __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
     __pid_t l_pid;	/* Process holding the lock.  */
+  };
+#endif
+
+#ifdef __USE_GNU
+/* Owner types.  */
+enum __pid_type
+  {
+    F_OWNER_TID = 0,		/* Kernel thread.  */
+    F_OWNER_PID,		/* Process.  */
+    F_OWNER_PGRP,		/* Process group.  */
+    F_OWNER_GID = F_OWNER_PGRP	/* Alternative, obsolete name.  */
+  };
+
+/* Structure to use with F_GETOWN_EX and F_SETOWN_EX.  */
+struct f_owner_ex
+  {
+    enum __pid_type type;	/* Owner type of ID.  */
+    __pid_t pid;		/* ID of owner.  */
   };
 #endif
 
@@ -172,13 +201,15 @@
 #ifdef __USE_XOPEN2K
 # define POSIX_FADV_NORMAL	0 /* No further special treatment.  */
 # define POSIX_FADV_RANDOM	1 /* Expect random page references.  */
-# define POSIX_FADV_SEQUENTIAL	2 /* Expect sequential page references.  */
+# define POSIX_FADV_SEQUENTIAL	2 /* Expect sequential page references.	 */
 # define POSIX_FADV_WILLNEED	3 /* Will need these pages.  */
 # define POSIX_FADV_DONTNEED	4 /* Don't need these pages.  */
 # define POSIX_FADV_NOREUSE	5 /* Data will be accessed once.  */
 #endif
 
-#ifdef __USE_GNU
+
+#ifdef __USE_GNU
+/* Flags for SYNC_FILE_RANGE.  */
 # define SYNC_FILE_RANGE_WAIT_BEFORE	1 /* Wait upon writeout of all pages
 					     in the range before performing the
 					     write.  */
@@ -206,16 +237,18 @@
 extern ssize_t readahead (int __fd, __off64_t __offset, size_t __count)
     __THROW;
 
+
 /* Selective file content synch'ing.  */
-extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to,
+extern int sync_file_range (int __fd, __off64_t __offset, __off64_t __count,
 			    unsigned int __flags);
 
+
 /* Splice address range into a pipe.  */
-extern ssize_t vmsplice (int __fdout, const struct iovec *__iov, 
+extern ssize_t vmsplice (int __fdout, const struct iovec *__iov,
 			 size_t __count, unsigned int __flags);
 
 /* Splice two files together.  */
-extern ssize_t splice (int __fdin, __off64_t *offin, int __fdout, 
+extern ssize_t splice (int __fdin, __off64_t *__offin, int __fdout,
 		       __off64_t *__offout, size_t __len,
 		       unsigned int __flags);
 
@@ -241,5 +274,5 @@
 # endif
 
 #endif
-    
+
 __END_DECLS

Modified: trunk/ports/sysdeps/unix/sysv/linux/hppa/bits/socket.h
==============================================================================
--- trunk/ports/sysdeps/unix/sysv/linux/hppa/bits/socket.h (original)
+++ trunk/ports/sysdeps/unix/sysv/linux/hppa/bits/socket.h Thu Feb  4 08:41:35 2010
@@ -1,6 +1,6 @@
 /* System-specific socket constants and types.  Linux version.
-   Copyright (C) 1991, 1992, 1994-2001, 2004, 2006, 2007, 2008, 2009
-   Free Software Foundation, Inc.
+   Copyright (C) 1991, 1992, 1994-2001, 2004, 2006, 2007, 2008, 2009,
+   2010 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
@@ -62,7 +62,7 @@
   /* Flags to be ORed into the type parameter of socket and socketpair and
      used for the flags parameter of paccept.  */
 
-  SOCK_CLOEXEC = 02000000,	/* Atomically set close-on-exec flag for the
+  SOCK_CLOEXEC = 01000000,	/* Atomically set close-on-exec flag for the
 				   new descriptor(s).  */
 #define SOCK_CLOEXEC SOCK_CLOEXEC
 #undef SOCK_NONBLOCK