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

[commits] r4502 - in /fsf/trunk/libc: ./ iconvdata/ localedata/ localedata/charmaps/ malloc/



Author: eglibc
Date: Wed Dec 12 00:03:46 2007
New Revision: 4502

Log:
Import glibc-mainline for 2007-12-12

Added:
    fsf/trunk/libc/iconvdata/hp-greek8.c
    fsf/trunk/libc/iconvdata/hp-thai8.c
    fsf/trunk/libc/iconvdata/hp-turkish8.c
    fsf/trunk/libc/localedata/charmaps/HP-GREEK8
    fsf/trunk/libc/localedata/charmaps/HP-THAI8
    fsf/trunk/libc/localedata/charmaps/HP-TURKISH8
Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/iconvdata/Makefile
    fsf/trunk/libc/iconvdata/gconv-modules
    fsf/trunk/libc/iconvdata/tst-tables.sh
    fsf/trunk/libc/localedata/ChangeLog
    fsf/trunk/libc/malloc/arena.c
    fsf/trunk/libc/malloc/malloc.c

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Wed Dec 12 00:03:46 2007
@@ -1,3 +1,29 @@
+2007-12-11  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* iconvdata/hp-thai8.c: New file.
+	* iconvdata/Makefile: Add rules for hp-thai8.c.
+	* iconvdata/tst-tables.sh: Add entry for HP-THAI8.
+	* iconvdata/gconv-modules: Likewise.
+
+	[BZ #5464]
+	* iconvdata/hp-greek8.c: New file.
+	* iconvdata/Makefile: Add rules for hp-greek8.c.
+	* iconvdata/tst-tables.sh: Add entry for HP-GREEK8.
+	* iconvdata/gconv-modules: Likewise.
+
+	[BZ #5463]
+	* iconvdata/hp-turkish8.c: New file.
+	* iconvdata/Makefile: Add rules for hp-turkish8.c.
+	* iconvdata/tst-tables.sh: Add entry for HP-TURKISH8.
+	* iconvdata/gconv-modules: Likewise.
+
+	* malloc/arena.c (grow_heap): Split out code to shrink heap into...
+	(shrink_heap): ... this new function.
+	(heap_trim): Call shrink_heap instead of grow_heap.
+
+	* malloc/malloc.c (_int_malloc): sYSMALLOc might fail, in this
+	case don't call alloc_perturb.
+
 2007-12-10  Ulrich Drepper  <drepper@xxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/adjtime.c: Use ADJ_OFFSET_SS_READ if

Modified: fsf/trunk/libc/iconvdata/Makefile
==============================================================================
--- fsf/trunk/libc/iconvdata/Makefile (original)
+++ fsf/trunk/libc/iconvdata/Makefile Wed Dec 12 00:03:46 2007
@@ -32,7 +32,7 @@
 	   EBCDIC-FI-SE-A EBCDIC-FR EBCDIC-IS-FRISS EBCDIC-IT EBCDIC-PT	 \
 	   EBCDIC-UK EBCDIC-US IBM037 IBM038 IBM274 IBM275 IBM423	 \
 	   IBM500 IBM870 IBM871 IBM891 IBM903 IBM904 IBM905 IBM1047	 \
-	   IBM874 CP737 CP775 ISO-2022-KR				 \
+	   IBM874 CP737 CP775 ISO-2022-KR HP-TURKISH8 HP-THAI8 HP-GREEK8 \
 	   KOI8-R LATIN-GREEK LATIN-GREEK-1 IBM256 IBM273 IBM277 IBM278	 \
 	   IBM280 IBM281 IBM284 IBM285 IBM290 IBM297 IBM420 IBM424	 \
 	   IBM437 IBM850 IBM851 IBM852 IBM855 IBM857 IBM860 IBM861	 \
@@ -198,7 +198,8 @@
 	      ibm12712.c ibm12712.h ibm16804.c ibm16804.h                   \
 	      ibm1364.c ibm1364.h ibm1371.c ibm1371.h ibm1388.c ibm1388.h   \
 	      ibm1390.c ibm1390.h ibm1399.c ibm1399.h iso_11548-1.c mik.c   \
-	      brf.c mac-centraleurope.c hp-roman9.c
+	      brf.c mac-centraleurope.c hp-roman9.c hp-turkish8.c	    \
+	      hp-thai8.c hp-greek8.c
 
 # We build the transformation modules only when we build shared libs.
 ifeq (yes,$(build-shared))
@@ -241,7 +242,8 @@
 			iso8859-11 ibm866nav pt154 rk1048 mik brf	   \
 			mac-centraleurope koi8-ru hp-roman8 hp-roman9	   \
 			ebcdic-es ebcdic-es-a ebcdic-is-friss ebcdic-uk    \
-			iso8859-16 viscii iso8859-9e
+			iso8859-16 viscii iso8859-9e hp-turkish8	   \
+			hp-thai8 hp-greek8
 
 gen-special-modules := iso8859-7jp
 

Modified: fsf/trunk/libc/iconvdata/gconv-modules
==============================================================================
--- fsf/trunk/libc/iconvdata/gconv-modules (original)
+++ fsf/trunk/libc/iconvdata/gconv-modules Wed Dec 12 00:03:46 2007
@@ -1934,3 +1934,22 @@
 alias	HPROMAN9//		HP-ROMAN9//
 module	HP-ROMAN9//		INTERNAL		HP-ROMAN9	1
 module	INTERNAL		HP-ROMAN9//		HP-ROMAN9	1
+
+#	from			to			module		cost
+alias	TURKISH8//		HP-TURKISH8//
+alias	HPTURKISH8//		HP-TURKISH8//
+alias	OSF10010006//		HP-TURKISH8//
+module	HP-TURKISH8//		INTERNAL		HP-TURKISH8	1
+module	INTERNAL		HP-TURKISH8//		HP-TURKISH8	1
+
+#	from			to			module		cost
+alias	THAI8//			HP-THAI8//
+alias	HPTHAI8//		HP-THAI8//
+module	HP-THAI8//		INTERNAL		HP-THAI8	1
+module	INTERNAL		HP-THAI8//		HP-THAI8	1
+
+#	from			to			module		cost
+alias	HPGREEK8//		HP-GREEK8//
+alias	OSF10010004//		HP-GREEK8//
+module	HP-GREEK8//		INTERNAL		HP-GREEK8	1
+module	INTERNAL		HP-GREEK8//		HP-GREEK8	1

Added: fsf/trunk/libc/iconvdata/hp-greek8.c
==============================================================================
--- fsf/trunk/libc/iconvdata/hp-greek8.c (added)
+++ fsf/trunk/libc/iconvdata/hp-greek8.c Wed Dec 12 00:03:46 2007
@@ -1,0 +1,29 @@
+/* Conversion from and to HP-GREEK8.
+   Copyright (C) 2007 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2007.
+
+   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 <stdint.h>
+
+/* Specify the conversion table.  */
+#define TABLES <hp-greek8.h>
+
+#define CHARSET_NAME	"HP-GREEK8//"
+#define HAS_HOLES	1	/* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>

Added: fsf/trunk/libc/iconvdata/hp-thai8.c
==============================================================================
--- fsf/trunk/libc/iconvdata/hp-thai8.c (added)
+++ fsf/trunk/libc/iconvdata/hp-thai8.c Wed Dec 12 00:03:46 2007
@@ -1,0 +1,29 @@
+/* Conversion from and to HP-THAI8.
+   Copyright (C) 2007 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2007.
+
+   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 <stdint.h>
+
+/* Specify the conversion table.  */
+#define TABLES <hp-thai8.h>
+
+#define CHARSET_NAME	"HP-THAI8//"
+#define HAS_HOLES	1	/* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>

Added: fsf/trunk/libc/iconvdata/hp-turkish8.c
==============================================================================
--- fsf/trunk/libc/iconvdata/hp-turkish8.c (added)
+++ fsf/trunk/libc/iconvdata/hp-turkish8.c Wed Dec 12 00:03:46 2007
@@ -1,0 +1,29 @@
+/* Conversion from and to HP-TURKISH8.
+   Copyright (C) 2007 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2007.
+
+   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 <stdint.h>
+
+/* Specify the conversion table.  */
+#define TABLES <hp-turkish8.h>
+
+#define CHARSET_NAME	"HP-TURKISH8//"
+#define HAS_HOLES	1	/* Not all 256 character are defined.  */
+
+#include <8bit-gap.c>

Modified: fsf/trunk/libc/iconvdata/tst-tables.sh
==============================================================================
--- fsf/trunk/libc/iconvdata/tst-tables.sh (original)
+++ fsf/trunk/libc/iconvdata/tst-tables.sh Wed Dec 12 00:03:46 2007
@@ -81,6 +81,9 @@
   LATIN-GREEK-1
   HP-ROMAN8
   HP-ROMAN9
+  HP-TURKISH8
+  HP-THAI8
+  HP-GREEK8
   EBCDIC-AT-DE
   EBCDIC-AT-DE-A
   EBCDIC-CA-FR

Modified: fsf/trunk/libc/localedata/ChangeLog
==============================================================================
--- fsf/trunk/libc/localedata/ChangeLog (original)
+++ fsf/trunk/libc/localedata/ChangeLog Wed Dec 12 00:03:46 2007
@@ -1,3 +1,13 @@
+2007-12-11  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* charmsp/HP-THAI8: New file.
+
+	[BZ #5464]
+	* charmaps/HP-GREEK8: New file.
+
+	[BZ #5463]
+	* charmaps/HP-TURKISH8: New file.
+
 2007-12-10  Ulrich Drepper  <drepper@xxxxxxxxxx>
 
 	* charmaps/UTF-8: Add Unicode 5.1 entries.

Added: fsf/trunk/libc/localedata/charmaps/HP-GREEK8
==============================================================================
--- fsf/trunk/libc/localedata/charmaps/HP-GREEK8 (added)
+++ fsf/trunk/libc/localedata/charmaps/HP-GREEK8 Wed Dec 12 00:03:46 2007
@@ -1,0 +1,226 @@
+<code_set_name> HP-GREEK8
+<comment_char> %
+<escape_char> /
+
+CHARMAP
+<U0000>     /x00         NULL (NUL)
+<U0001>     /x01         START OF HEADING (SOH)
+<U0002>     /x02         START OF TEXT (STX)
+<U0003>     /x03         END OF TEXT (ETX)
+<U0004>     /x04         END OF TRANSMISSION (EOT)
+<U0005>     /x05         ENQUIRY (ENQ)
+<U0006>     /x06         ACKNOWLEDGE (ACK)
+<U0007>     /x07         BELL (BEL)
+<U0008>     /x08         BACKSPACE (BS)
+<U0009>     /x09         CHARACTER TABULATION (HT)
+<U000A>     /x0a         LINE FEED (LF)
+<U000B>     /x0b         LINE TABULATION (VT)
+<U000C>     /x0c         FORM FEED (FF)
+<U000D>     /x0d         CARRIAGE RETURN (CR)
+<U000E>     /x0e         SHIFT OUT (SO)
+<U000F>     /x0f         SHIFT IN (SI)
+<U0010>     /x10         DATALINK ESCAPE (DLE)
+<U0011>     /x11         DEVICE CONTROL ONE (DC1)
+<U0012>     /x12         DEVICE CONTROL TWO (DC2)
+<U0013>     /x13         DEVICE CONTROL THREE (DC3)
+<U0014>     /x14         DEVICE CONTROL FOUR (DC4)
+<U0015>     /x15         NEGATIVE ACKNOWLEDGE (NAK)
+<U0016>     /x16         SYNCHRONOUS IDLE (SYN)
+<U0017>     /x17         END OF TRANSMISSION BLOCK (ETB)
+<U0018>     /x18         CANCEL (CAN)
+<U0019>     /x19         END OF MEDIUM (EM)
+<U001A>     /x1a         SUBSTITUTE (SUB)
+<U001B>     /x1b         ESCAPE (ESC)
+<U001C>     /x1c         FILE SEPARATOR (IS4)
+<U001D>     /x1d         GROUP SEPARATOR (IS3)
+<U001E>     /x1e         RECORD SEPARATOR (IS2)
+<U001F>     /x1f         UNIT SEPARATOR (IS1)
+<U0020>     /x20         SPACE
+<U0021>     /x21         EXCLAMATION MARK
+<U0022>     /x22         QUOTATION MARK
+<U0023>     /x23         NUMBER SIGN
+<U0024>     /x24         DOLLAR SIGN
+<U0025>     /x25         PERCENT SIGN
+<U0026>     /x26         AMPERSAND
+<U0027>     /x27         APOSTROPHE
+<U0028>     /x28         LEFT PARENTHESIS
+<U0029>     /x29         RIGHT PARENTHESIS
+<U002A>     /x2a         ASTERISK
+<U002B>     /x2b         PLUS SIGN
+<U002C>     /x2c         COMMA
+<U002D>     /x2d         HYPHEN-MINUS
+<U002E>     /x2e         FULL STOP
+<U002F>     /x2f         SOLIDUS
+<U0030>     /x30         DIGIT ZERO
+<U0031>     /x31         DIGIT ONE
+<U0032>     /x32         DIGIT TWO
+<U0033>     /x33         DIGIT THREE
+<U0034>     /x34         DIGIT FOUR
+<U0035>     /x35         DIGIT FIVE
+<U0036>     /x36         DIGIT SIX
+<U0037>     /x37         DIGIT SEVEN
+<U0038>     /x38         DIGIT EIGHT
+<U0039>     /x39         DIGIT NINE
+<U003A>     /x3a         COLON
+<U003B>     /x3b         SEMICOLON
+<U003C>     /x3c         LESS-THAN SIGN
+<U003D>     /x3d         EQUALS SIGN
+<U003E>     /x3e         GREATER-THAN SIGN
+<U003F>     /x3f         QUESTION MARK
+<U0040>     /x40         COMMERCIAL AT
+<U0041>     /x41         LATIN CAPITAL LETTER A
+<U0042>     /x42         LATIN CAPITAL LETTER B
+<U0043>     /x43         LATIN CAPITAL LETTER C
+<U0044>     /x44         LATIN CAPITAL LETTER D
+<U0045>     /x45         LATIN CAPITAL LETTER E
+<U0046>     /x46         LATIN CAPITAL LETTER F
+<U0047>     /x47         LATIN CAPITAL LETTER G
+<U0048>     /x48         LATIN CAPITAL LETTER H
+<U0049>     /x49         LATIN CAPITAL LETTER I
+<U004A>     /x4a         LATIN CAPITAL LETTER J
+<U004B>     /x4b         LATIN CAPITAL LETTER K
+<U004C>     /x4c         LATIN CAPITAL LETTER L
+<U004D>     /x4d         LATIN CAPITAL LETTER M
+<U004E>     /x4e         LATIN CAPITAL LETTER N
+<U004F>     /x4f         LATIN CAPITAL LETTER O
+<U0050>     /x50         LATIN CAPITAL LETTER P
+<U0051>     /x51         LATIN CAPITAL LETTER Q
+<U0052>     /x52         LATIN CAPITAL LETTER R
+<U0053>     /x53         LATIN CAPITAL LETTER S
+<U0054>     /x54         LATIN CAPITAL LETTER T
+<U0055>     /x55         LATIN CAPITAL LETTER U
+<U0056>     /x56         LATIN CAPITAL LETTER V
+<U0057>     /x57         LATIN CAPITAL LETTER W
+<U0058>     /x58         LATIN CAPITAL LETTER X
+<U0059>     /x59         LATIN CAPITAL LETTER Y
+<U005A>     /x5a         LATIN CAPITAL LETTER Z
+<U005B>     /x5b         LEFT SQUARE BRACKET
+<U005C>     /x5c         REVERSE SOLIDUS
+<U005D>     /x5d         RIGHT SQUARE BRACKET
+<U005E>     /x5e         CIRCUMFLEX ACCENT
+<U005F>     /x5f         LOW LINE
+<U0060>     /x60         GRAVE ACCENT
+<U0061>     /x61         LATIN SMALL LETTER A
+<U0062>     /x62         LATIN SMALL LETTER B
+<U0063>     /x63         LATIN SMALL LETTER C
+<U0064>     /x64         LATIN SMALL LETTER D
+<U0065>     /x65         LATIN SMALL LETTER E
+<U0066>     /x66         LATIN SMALL LETTER F
+<U0067>     /x67         LATIN SMALL LETTER G
+<U0068>     /x68         LATIN SMALL LETTER H
+<U0069>     /x69         LATIN SMALL LETTER I
+<U006A>     /x6a         LATIN SMALL LETTER J
+<U006B>     /x6b         LATIN SMALL LETTER K
+<U006C>     /x6c         LATIN SMALL LETTER L
+<U006D>     /x6d         LATIN SMALL LETTER M
+<U006E>     /x6e         LATIN SMALL LETTER N
+<U006F>     /x6f         LATIN SMALL LETTER O
+<U0070>     /x70         LATIN SMALL LETTER P
+<U0071>     /x71         LATIN SMALL LETTER Q
+<U0072>     /x72         LATIN SMALL LETTER R
+<U0073>     /x73         LATIN SMALL LETTER S
+<U0074>     /x74         LATIN SMALL LETTER T
+<U0075>     /x75         LATIN SMALL LETTER U
+<U0076>     /x76         LATIN SMALL LETTER V
+<U0077>     /x77         LATIN SMALL LETTER W
+<U0078>     /x78         LATIN SMALL LETTER X
+<U0079>     /x79         LATIN SMALL LETTER Y
+<U007A>     /x7a         LATIN SMALL LETTER Z
+<U007B>     /x7b         LEFT CURLY BRACKET
+<U007C>     /x7c         VERTICAL LINE
+<U007D>     /x7d         RIGHT CURLY BRACKET
+<U007E>     /x7e         TILDE
+<U007F>     /x7f         DELETE (DEL)
+<U0080>     /x80         PADDING CHARACTER (PAD)
+<U0081>     /x81         HIGH OCTET PRESET (HOP)
+<U0082>     /x82         BREAK PERMITTED HERE (BPH)
+<U0083>     /x83         NO BREAK HERE (NBH)
+<U0084>     /x84         INDEX (IND)
+<U0085>     /x85         NEXT LINE (NEL)
+<U0086>     /x86         START OF SELECTED AREA (SSA)
+<U0087>     /x87         END OF SELECTED AREA (ESA)
+<U0088>     /x88         CHARACTER TABULATION SET (HTS)
+<U0089>     /x89         CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+<U008A>     /x8a         LINE TABULATION SET (VTS)
+<U008B>     /x8b         PARTIAL LINE FORWARD (PLD)
+<U008C>     /x8c         PARTIAL LINE BACKWARD (PLU)
+<U008D>     /x8d         REVERSE LINE FEED (RI)
+<U008E>     /x8e         SINGLE-SHIFT TWO (SS2)
+<U008F>     /x8f         SINGLE-SHIFT THREE (SS3)
+<U0090>     /x90         DEVICE CONTROL STRING (DCS)
+<U0091>     /x91         PRIVATE USE ONE (PU1)
+<U0092>     /x92         PRIVATE USE TWO (PU2)
+<U0093>     /x93         SET TRANSMIT STATE (STS)
+<U0094>     /x94         CANCEL CHARACTER (CCH)
+<U0095>     /x95         MESSAGE WAITING (MW)
+<U0096>     /x96         START OF GUARDED AREA (SPA)
+<U0097>     /x97         END OF GUARDED AREA (EPA)
+<U0098>     /x98         START OF STRING (SOS)
+<U0099>     /x99         SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+<U009A>     /x9a         SINGLE CHARACTER INTRODUCER (SCI)
+<U009B>     /x9b         CONTROL SEQUENCE INTRODUCER (CSI)
+<U009C>     /x9c         STRING TERMINATOR (ST)
+<U009D>     /x9d         OPERATING SYSTEM COMMAND (OSC)
+<U009E>     /x9e         PRIVACY MESSAGE (PM)
+<U009F>     /x9f         APPLICATION PROGRAM COMMAND (APC)
+<U00A0>     /xa0         NO-BREAK SPACE
+<U03CA>     /xbc         GREEK SMALL LETTER IOTA WITH DIALYTIKA
+<U03CB>     /xbe         GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+<U0391>     /xc1         GREEK CAPITAL LETTER ALPHA
+<U0392>     /xc2         GREEK CAPITAL LETTER BETA
+<U0393>     /xc3         GREEK CAPITAL LETTER GAMMA
+<U0394>     /xc4         GREEK CAPITAL LETTER DELTA
+<U0395>     /xc5         GREEK CAPITAL LETTER EPSILON
+<U0396>     /xc6         GREEK CAPITAL LETTER ZETA
+<U0397>     /xc7         GREEK CAPITAL LETTER ETA
+<U0398>     /xc8         GREEK CAPITAL LETTER THETA
+<U0399>     /xc9         GREEK CAPITAL LETTER IOTA
+<U039A>     /xcb         GREEK CAPITAL LETTER KAPPA
+<U039B>     /xcc         GREEK CAPITAL LETTER LAMDA
+<U039C>     /xcd         GREEK CAPITAL LETTER MU
+<U039D>     /xce         GREEK CAPITAL LETTER NU
+<U039E>     /xcf         GREEK CAPITAL LETTER XI
+<U039F>     /xd0         GREEK CAPITAL LETTER OMICRON
+<U03A0>     /xd1         GREEK CAPITAL LETTER PI
+<U03A1>     /xd2         GREEK CAPITAL LETTER RHO
+<U03A3>     /xd3         GREEK CAPITAL LETTER SIGMA
+<U03A4>     /xd4         GREEK CAPITAL LETTER TAU
+<U03A5>     /xd5         GREEK CAPITAL LETTER UPSILON
+<U03A6>     /xd6         GREEK CAPITAL LETTER PHI
+<U03A7>     /xd8         GREEK CAPITAL LETTER CHI
+<U03A8>     /xd9         GREEK CAPITAL LETTER PSI
+<U03A9>     /xda         GREEK CAPITAL LETTER OMEGA
+<U03AC>     /xdb         GREEK SMALL LETTER ALPHA WITH TONOS
+<U03AE>     /xdc         GREEK SMALL LETTER ETA WITH TONOS
+<U03CC>     /xdd         GREEK SMALL LETTER OMICRON WITH TONOS
+<U03CD>     /xe0         GREEK SMALL LETTER UPSILON WITH TONOS
+<U03B1>     /xe1         GREEK SMALL LETTER ALPHA
+<U03B2>     /xe2         GREEK SMALL LETTER BETA
+<U03B3>     /xe3         GREEK SMALL LETTER GAMMA
+<U03B4>     /xe4         GREEK SMALL LETTER DELTA
+<U03B5>     /xe5         GREEK SMALL LETTER EPSILON
+<U03B6>     /xe6         GREEK SMALL LETTER ZETA
+<U03B7>     /xe7         GREEK SMALL LETTER ETA
+<U03B8>     /xe8         GREEK SMALL LETTER THETA
+<U03B9>     /xe9         GREEK SMALL LETTER IOTA
+<U03BA>     /xeb         GREEK SMALL LETTER KAPPA
+<U03BB>     /xec         GREEK SMALL LETTER LAMDA
+<U03BC>     /xed         GREEK SMALL LETTER MU
+<U03BD>     /xee         GREEK SMALL LETTER NU
+<U03BE>     /xef         GREEK SMALL LETTER XI
+<U03BF>     /xf0         GREEK SMALL LETTER OMICRON
+<U03C0>     /xf1         GREEK SMALL LETTER PI
+<U03C1>     /xf2         GREEK SMALL LETTER RHO
+<U03C3>     /xf3         GREEK SMALL LETTER SIGMA
+<U03C4>     /xf4         GREEK SMALL LETTER TAU
+<U03C5>     /xf5         GREEK SMALL LETTER UPSILON
+<U03C6>     /xf6         GREEK SMALL LETTER PHI
+<U03C2>     /xf7         GREEK SMALL LETTER FINAL SIGMA
+<U03C7>     /xf8         GREEK SMALL LETTER CHI
+<U03C8>     /xf9         GREEK SMALL LETTER PSI
+<U03C9>     /xfa         GREEK SMALL LETTER OMEGA
+<U03AD>     /xfb         GREEK SMALL LETTER EPSILON WITH TONOS
+<U03AF>     /xfc         GREEK SMALL LETTER IOTA WITH TONOS
+<U03CE>     /xfd         GREEK SMALL LETTER OMEGA WITH TONOS
+<U03F3>     /xfe         GREEK LETTER YOT
+END CHARMAP

Added: fsf/trunk/libc/localedata/charmaps/HP-THAI8
==============================================================================
--- fsf/trunk/libc/localedata/charmaps/HP-THAI8 (added)
+++ fsf/trunk/libc/localedata/charmaps/HP-THAI8 Wed Dec 12 00:03:46 2007
@@ -1,0 +1,255 @@
+<code_set_name> HP-THAI8
+<comment_char> %
+<escape_char> /
+
+% alias THAI8
+CHARMAP
+<U0000>     /x00         NULL (NUL)
+<U0001>     /x01         START OF HEADING (SOH)
+<U0002>     /x02         START OF TEXT (STX)
+<U0003>     /x03         END OF TEXT (ETX)
+<U0004>     /x04         END OF TRANSMISSION (EOT)
+<U0005>     /x05         ENQUIRY (ENQ)
+<U0006>     /x06         ACKNOWLEDGE (ACK)
+<U0007>     /x07         BELL (BEL)
+<U0008>     /x08         BACKSPACE (BS)
+<U0009>     /x09         CHARACTER TABULATION (HT)
+<U000A>     /x0a         LINE FEED (LF)
+<U000B>     /x0b         LINE TABULATION (VT)
+<U000C>     /x0c         FORM FEED (FF)
+<U000D>     /x0d         CARRIAGE RETURN (CR)
+<U000E>     /x0e         SHIFT OUT (SO)
+<U000F>     /x0f         SHIFT IN (SI)
+<U0010>     /x10         DATALINK ESCAPE (DLE)
+<U0011>     /x11         DEVICE CONTROL ONE (DC1)
+<U0012>     /x12         DEVICE CONTROL TWO (DC2)
+<U0013>     /x13         DEVICE CONTROL THREE (DC3)
+<U0014>     /x14         DEVICE CONTROL FOUR (DC4)
+<U0015>     /x15         NEGATIVE ACKNOWLEDGE (NAK)
+<U0016>     /x16         SYNCHRONOUS IDLE (SYN)
+<U0017>     /x17         END OF TRANSMISSION BLOCK (ETB)
+<U0018>     /x18         CANCEL (CAN)
+<U0019>     /x19         END OF MEDIUM (EM)
+<U001A>     /x1a         SUBSTITUTE (SUB)
+<U001B>     /x1b         ESCAPE (ESC)
+<U001C>     /x1c         FILE SEPARATOR (IS4)
+<U001D>     /x1d         GROUP SEPARATOR (IS3)
+<U001E>     /x1e         RECORD SEPARATOR (IS2)
+<U001F>     /x1f         UNIT SEPARATOR (IS1)
+<U0020>     /x20         SPACE
+<U0021>     /x21         EXCLAMATION MARK
+<U0022>     /x22         QUOTATION MARK
+<U0023>     /x23         NUMBER SIGN
+<U0024>     /x24         DOLLAR SIGN
+<U0025>     /x25         PERCENT SIGN
+<U0026>     /x26         AMPERSAND
+<U0027>     /x27         APOSTROPHE
+<U0028>     /x28         LEFT PARENTHESIS
+<U0029>     /x29         RIGHT PARENTHESIS
+<U002A>     /x2a         ASTERISK
+<U002B>     /x2b         PLUS SIGN
+<U002C>     /x2c         COMMA
+<U002D>     /x2d         HYPHEN-MINUS
+<U002E>     /x2e         FULL STOP
+<U002F>     /x2f         SOLIDUS
+<U0030>     /x30         DIGIT ZERO
+<U0031>     /x31         DIGIT ONE
+<U0032>     /x32         DIGIT TWO
+<U0033>     /x33         DIGIT THREE
+<U0034>     /x34         DIGIT FOUR
+<U0035>     /x35         DIGIT FIVE
+<U0036>     /x36         DIGIT SIX
+<U0037>     /x37         DIGIT SEVEN
+<U0038>     /x38         DIGIT EIGHT
+<U0039>     /x39         DIGIT NINE
+<U003A>     /x3a         COLON
+<U003B>     /x3b         SEMICOLON
+<U003C>     /x3c         LESS-THAN SIGN
+<U003D>     /x3d         EQUALS SIGN
+<U003E>     /x3e         GREATER-THAN SIGN
+<U003F>     /x3f         QUESTION MARK
+<U0040>     /x40         COMMERCIAL AT
+<U0041>     /x41         LATIN CAPITAL LETTER A
+<U0042>     /x42         LATIN CAPITAL LETTER B
+<U0043>     /x43         LATIN CAPITAL LETTER C
+<U0044>     /x44         LATIN CAPITAL LETTER D
+<U0045>     /x45         LATIN CAPITAL LETTER E
+<U0046>     /x46         LATIN CAPITAL LETTER F
+<U0047>     /x47         LATIN CAPITAL LETTER G
+<U0048>     /x48         LATIN CAPITAL LETTER H
+<U0049>     /x49         LATIN CAPITAL LETTER I
+<U004A>     /x4a         LATIN CAPITAL LETTER J
+<U004B>     /x4b         LATIN CAPITAL LETTER K
+<U004C>     /x4c         LATIN CAPITAL LETTER L
+<U004D>     /x4d         LATIN CAPITAL LETTER M
+<U004E>     /x4e         LATIN CAPITAL LETTER N
+<U004F>     /x4f         LATIN CAPITAL LETTER O
+<U0050>     /x50         LATIN CAPITAL LETTER P
+<U0051>     /x51         LATIN CAPITAL LETTER Q
+<U0052>     /x52         LATIN CAPITAL LETTER R
+<U0053>     /x53         LATIN CAPITAL LETTER S
+<U0054>     /x54         LATIN CAPITAL LETTER T
+<U0055>     /x55         LATIN CAPITAL LETTER U
+<U0056>     /x56         LATIN CAPITAL LETTER V
+<U0057>     /x57         LATIN CAPITAL LETTER W
+<U0058>     /x58         LATIN CAPITAL LETTER X
+<U0059>     /x59         LATIN CAPITAL LETTER Y
+<U005A>     /x5a         LATIN CAPITAL LETTER Z
+<U005B>     /x5b         LEFT SQUARE BRACKET
+<U005C>     /x5c         REVERSE SOLIDUS
+<U005D>     /x5d         RIGHT SQUARE BRACKET
+<U005E>     /x5e         CIRCUMFLEX ACCENT
+<U005F>     /x5f         LOW LINE
+<U0060>     /x60         GRAVE ACCENT
+<U0061>     /x61         LATIN SMALL LETTER A
+<U0062>     /x62         LATIN SMALL LETTER B
+<U0063>     /x63         LATIN SMALL LETTER C
+<U0064>     /x64         LATIN SMALL LETTER D
+<U0065>     /x65         LATIN SMALL LETTER E
+<U0066>     /x66         LATIN SMALL LETTER F
+<U0067>     /x67         LATIN SMALL LETTER G
+<U0068>     /x68         LATIN SMALL LETTER H
+<U0069>     /x69         LATIN SMALL LETTER I
+<U006A>     /x6a         LATIN SMALL LETTER J
+<U006B>     /x6b         LATIN SMALL LETTER K
+<U006C>     /x6c         LATIN SMALL LETTER L
+<U006D>     /x6d         LATIN SMALL LETTER M
+<U006E>     /x6e         LATIN SMALL LETTER N
+<U006F>     /x6f         LATIN SMALL LETTER O
+<U0070>     /x70         LATIN SMALL LETTER P
+<U0071>     /x71         LATIN SMALL LETTER Q
+<U0072>     /x72         LATIN SMALL LETTER R
+<U0073>     /x73         LATIN SMALL LETTER S
+<U0074>     /x74         LATIN SMALL LETTER T
+<U0075>     /x75         LATIN SMALL LETTER U
+<U0076>     /x76         LATIN SMALL LETTER V
+<U0077>     /x77         LATIN SMALL LETTER W
+<U0078>     /x78         LATIN SMALL LETTER X
+<U0079>     /x79         LATIN SMALL LETTER Y
+<U007A>     /x7a         LATIN SMALL LETTER Z
+<U007B>     /x7b         LEFT CURLY BRACKET
+<U007C>     /x7c         VERTICAL LINE
+<U007D>     /x7d         RIGHT CURLY BRACKET
+<U007E>     /x7e         TILDE
+<U007F>     /x7f         DELETE (DEL)
+<U0080>     /x80         PADDING CHARACTER (PAD)
+<U0081>     /x81         HIGH OCTET PRESET (HOP)
+<U0082>     /x82         BREAK PERMITTED HERE (BPH)
+<U0083>     /x83         NO BREAK HERE (NBH)
+<U0084>     /x84         INDEX (IND)
+<U0085>     /x85         NEXT LINE (NEL)
+<U0086>     /x86         START OF SELECTED AREA (SSA)
+<U0087>     /x87         END OF SELECTED AREA (ESA)
+<U0088>     /x88         CHARACTER TABULATION SET (HTS)
+<U0089>     /x89         CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+<U008A>     /x8a         LINE TABULATION SET (VTS)
+<U008B>     /x8b         PARTIAL LINE FORWARD (PLD)
+<U008C>     /x8c         PARTIAL LINE BACKWARD (PLU)
+<U008D>     /x8d         REVERSE LINE FEED (RI)
+<U008E>     /x8e         SINGLE-SHIFT TWO (SS2)
+<U008F>     /x8f         SINGLE-SHIFT THREE (SS3)
+<U0090>     /x90         DEVICE CONTROL STRING (DCS)
+<U0091>     /x91         PRIVATE USE ONE (PU1)
+<U0092>     /x92         PRIVATE USE TWO (PU2)
+<U0093>     /x93         SET TRANSMIT STATE (STS)
+<U0094>     /x94         CANCEL CHARACTER (CCH)
+<U0095>     /x95         MESSAGE WAITING (MW)
+<U0096>     /x96         START OF GUARDED AREA (SPA)
+<U0097>     /x97         END OF GUARDED AREA (EPA)
+<U0098>     /x98         START OF STRING (SOS)
+<U0099>     /x99         SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+<U009A>     /x9a         SINGLE CHARACTER INTRODUCER (SCI)
+<U009B>     /x9b         CONTROL SEQUENCE INTRODUCER (CSI)
+<U009C>     /x9c         STRING TERMINATOR (ST)
+<U009D>     /x9d         OPERATING SYSTEM COMMAND (OSC)
+<U009E>     /x9e         PRIVACY MESSAGE (PM)
+<U009F>     /x9f         APPLICATION PROGRAM COMMAND (APC)
+<U00A0>     /xa0         NO-BREAK SPACE
+<U0E01>     /xa1         THAI CHARACTER KO KAI
+<U0E02>     /xa2         THAI CHARACTER KHO KHAI
+<U0E03>     /xa3         THAI CHARACTER KHO KHUAT
+<U0E04>     /xa4         THAI CHARACTER KHO KHWAI
+<U0E05>     /xa5         THAI CHARACTER KHO KHON
+<U0E06>     /xa6         THAI CHARACTER KHO RAKHANG
+<U0E07>     /xa7         THAI CHARACTER NGO NGU
+<U0E08>     /xa8         THAI CHARACTER CHO CHAN
+<U0E09>     /xa9         THAI CHARACTER CHO CHING
+<U0E0A>     /xaa         THAI CHARACTER CHO CHANG
+<U0E0B>     /xab         THAI CHARACTER SO SO
+<U0E0C>     /xac         THAI CHARACTER CHO CHOE
+<U0E0D>     /xad         THAI CHARACTER YO YING
+<U0E0E>     /xae         THAI CHARACTER DO CHADA
+<U0E0F>     /xaf         THAI CHARACTER TO PATAK
+<U0E10>     /xb0         THAI CHARACTER THO THAN
+<U0E11>     /xb1         THAI CHARACTER THO NANGMONTHO
+<U0E12>     /xb2         THAI CHARACTER THO PHUTHAO
+<U0E13>     /xb3         THAI CHARACTER NO NEN
+<U0E14>     /xb4         THAI CHARACTER DO DEK
+<U0E15>     /xb5         THAI CHARACTER TO TAO
+<U0E16>     /xb6         THAI CHARACTER THO THUNG
+<U0E17>     /xb7         THAI CHARACTER THO THAHAN
+<U0E18>     /xb8         THAI CHARACTER THO THONG
+<U0E19>     /xb9         THAI CHARACTER NO NU
+<U0E1A>     /xba         THAI CHARACTER BO BAIMAI
+<U0E1B>     /xbb         THAI CHARACTER PO PLA
+<U0E1C>     /xbc         THAI CHARACTER PHO PHUNG
+<U0E1D>     /xbd         THAI CHARACTER FO FA
+<U0E1E>     /xbe         THAI CHARACTER PHO PHAN
+<U0E1F>     /xbf         THAI CHARACTER FO FAN
+<U0E20>     /xc0         THAI CHARACTER PHO SAMPHAO
+<U0E21>     /xc1         THAI CHARACTER MO MA
+<U0E22>     /xc2         THAI CHARACTER YO YAK
+<U0E23>     /xc3         THAI CHARACTER RO RUA
+<U0E24>     /xc4         THAI CHARACTER RU
+<U0E25>     /xc5         THAI CHARACTER LO LING
+<U0E26>     /xc6         THAI CHARACTER LU
+<U0E27>     /xc7         THAI CHARACTER WO WAEN
+<U0E28>     /xc8         THAI CHARACTER SO SALA
+<U0E29>     /xc9         THAI CHARACTER SO RUSI
+<U0E2A>     /xca         THAI CHARACTER SO SUA
+<U0E2B>     /xcb         THAI CHARACTER HO HIP
+<U0E2C>     /xcc         THAI CHARACTER LO CHULA
+<U0E2D>     /xcd         THAI CHARACTER O ANG
+<U0E2E>     /xce         THAI CHARACTER HO NOKHUK
+<U0E2F>     /xcf         THAI CHARACTER PAIYANNOI
+<U0E30>     /xd0         THAI CHARACTER SARA A
+<U0E31>     /xd1         THAI CHARACTER MAI HAN-AKAT
+<U0E32>     /xd2         THAI CHARACTER SARA AA
+<U0E33>     /xd3         THAI CHARACTER SARA AM
+<U0E34>     /xd4         THAI CHARACTER SARA I
+<U0E35>     /xd5         THAI CHARACTER SARA II
+<U0E36>     /xd6         THAI CHARACTER SARA UE
+<U0E37>     /xd7         THAI CHARACTER SARA UEE
+<U0E38>     /xd8         THAI CHARACTER SARA U
+<U0E39>     /xd9         THAI CHARACTER SARA UU
+<U0E3A>     /xda         THAI CHARACTER PHINTHU
+<U0E3F>     /xdf         THAI CURRENCY SYMBOL BAHT
+<U0E40>     /xe0         THAI CHARACTER SARA E
+<U0E41>     /xe1         THAI CHARACTER SARA AE
+<U0E42>     /xe2         THAI CHARACTER SARA O
+<U0E43>     /xe3         THAI CHARACTER SARA AI MAIMUAN
+<U0E44>     /xe4         THAI CHARACTER SARA AI MAIMALAI
+<U0E45>     /xe5         THAI CHARACTER LAKKHANGYAO
+<U0E46>     /xe6         THAI CHARACTER MAIYAMOK
+<U0E47>     /xe7         THAI CHARACTER MAITAIKHU
+<U0E48>     /xe8         THAI CHARACTER MAI EK
+<U0E49>     /xe9         THAI CHARACTER MAI THO
+<U0E4A>     /xea         THAI CHARACTER MAI TRI
+<U0E4B>     /xeb         THAI CHARACTER MAI CHATTAWA
+<U0E4C>     /xec         THAI CHARACTER THANTHAKHAT
+<U0E4D>     /xed         THAI CHARACTER NIKHAHIT
+<U0E4E>     /xee         THAI CHARACTER YAMAKKAN
+<U0E4F>     /xef         THAI CHARACTER FONGMAN
+<U0E50>     /xf0         THAI DIGIT ZERO
+<U0E51>     /xf1         THAI DIGIT ONE
+<U0E52>     /xf2         THAI DIGIT TWO
+<U0E53>     /xf3         THAI DIGIT THREE
+<U0E54>     /xf4         THAI DIGIT FOUR
+<U0E55>     /xf5         THAI DIGIT FIVE
+<U0E56>     /xf6         THAI DIGIT SIX
+<U0E57>     /xf7         THAI DIGIT SEVEN
+<U0E58>     /xf8         THAI DIGIT EIGHT
+<U0E59>     /xf9         THAI DIGIT NINE
+<U0E5A>     /xfa         THAI CHARACTER ANGKHANKHU
+<U0E5B>     /xfb         THAI CHARACTER KHOMUT
+END CHARMAP

Added: fsf/trunk/libc/localedata/charmaps/HP-TURKISH8
==============================================================================
--- fsf/trunk/libc/localedata/charmaps/HP-TURKISH8 (added)
+++ fsf/trunk/libc/localedata/charmaps/HP-TURKISH8 Wed Dec 12 00:03:46 2007
@@ -1,0 +1,254 @@
+<code_set_name> HP-TURKISH8
+<comment_char> %
+<escape_char> /
+
+% alias TURKISH8
+CHARMAP
+<U0000>     /x00         NULL (NUL)
+<U0001>     /x01         START OF HEADING (SOH)
+<U0002>     /x02         START OF TEXT (STX)
+<U0003>     /x03         END OF TEXT (ETX)
+<U0004>     /x04         END OF TRANSMISSION (EOT)
+<U0005>     /x05         ENQUIRY (ENQ)
+<U0006>     /x06         ACKNOWLEDGE (ACK)
+<U0007>     /x07         BELL (BEL)
+<U0008>     /x08         BACKSPACE (BS)
+<U0009>     /x09         CHARACTER TABULATION (HT)
+<U000A>     /x0a         LINE FEED (LF)
+<U000B>     /x0b         LINE TABULATION (VT)
+<U000C>     /x0c         FORM FEED (FF)
+<U000D>     /x0d         CARRIAGE RETURN (CR)
+<U000E>     /x0e         SHIFT OUT (SO)
+<U000F>     /x0f         SHIFT IN (SI)
+<U0010>     /x10         DATALINK ESCAPE (DLE)
+<U0011>     /x11         DEVICE CONTROL ONE (DC1)
+<U0012>     /x12         DEVICE CONTROL TWO (DC2)
+<U0013>     /x13         DEVICE CONTROL THREE (DC3)
+<U0014>     /x14         DEVICE CONTROL FOUR (DC4)
+<U0015>     /x15         NEGATIVE ACKNOWLEDGE (NAK)
+<U0016>     /x16         SYNCHRONOUS IDLE (SYN)
+<U0017>     /x17         END OF TRANSMISSION BLOCK (ETB)
+<U0018>     /x18         CANCEL (CAN)
+<U0019>     /x19         END OF MEDIUM (EM)
+<U001A>     /x1a         SUBSTITUTE (SUB)
+<U001B>     /x1b         ESCAPE (ESC)
+<U001C>     /x1c         FILE SEPARATOR (IS4)
+<U001D>     /x1d         GROUP SEPARATOR (IS3)
+<U001E>     /x1e         RECORD SEPARATOR (IS2)
+<U001F>     /x1f         UNIT SEPARATOR (IS1)
+<U0020>     /x20         SPACE
+<U0021>     /x21         EXCLAMATION MARK
+<U0022>     /x22         QUOTATION MARK
+<U0023>     /x23         NUMBER SIGN
+<U0024>     /x24         DOLLAR SIGN
+<U0025>     /x25         PERCENT SIGN
+<U0026>     /x26         AMPERSAND
+<U0027>     /x27         APOSTROPHE
+<U0028>     /x28         LEFT PARENTHESIS
+<U0029>     /x29         RIGHT PARENTHESIS
+<U002A>     /x2a         ASTERISK
+<U002B>     /x2b         PLUS SIGN
+<U002C>     /x2c         COMMA
+<U002D>     /x2d         HYPHEN-MINUS
+<U002E>     /x2e         FULL STOP
+<U002F>     /x2f         SOLIDUS
+<U0030>     /x30         DIGIT ZERO
+<U0031>     /x31         DIGIT ONE
+<U0032>     /x32         DIGIT TWO
+<U0033>     /x33         DIGIT THREE
+<U0034>     /x34         DIGIT FOUR
+<U0035>     /x35         DIGIT FIVE
+<U0036>     /x36         DIGIT SIX
+<U0037>     /x37         DIGIT SEVEN
+<U0038>     /x38         DIGIT EIGHT
+<U0039>     /x39         DIGIT NINE
+<U003A>     /x3a         COLON
+<U003B>     /x3b         SEMICOLON
+<U003C>     /x3c         LESS-THAN SIGN
+<U003D>     /x3d         EQUALS SIGN
+<U003E>     /x3e         GREATER-THAN SIGN
+<U003F>     /x3f         QUESTION MARK
+<U0040>     /x40         COMMERCIAL AT
+<U0041>     /x41         LATIN CAPITAL LETTER A
+<U0042>     /x42         LATIN CAPITAL LETTER B
+<U0043>     /x43         LATIN CAPITAL LETTER C
+<U0044>     /x44         LATIN CAPITAL LETTER D
+<U0045>     /x45         LATIN CAPITAL LETTER E
+<U0046>     /x46         LATIN CAPITAL LETTER F
+<U0047>     /x47         LATIN CAPITAL LETTER G
+<U0048>     /x48         LATIN CAPITAL LETTER H
+<U0049>     /x49         LATIN CAPITAL LETTER I
+<U004A>     /x4a         LATIN CAPITAL LETTER J
+<U004B>     /x4b         LATIN CAPITAL LETTER K
+<U004C>     /x4c         LATIN CAPITAL LETTER L
+<U004D>     /x4d         LATIN CAPITAL LETTER M
+<U004E>     /x4e         LATIN CAPITAL LETTER N
+<U004F>     /x4f         LATIN CAPITAL LETTER O
+<U0050>     /x50         LATIN CAPITAL LETTER P
+<U0051>     /x51         LATIN CAPITAL LETTER Q
+<U0052>     /x52         LATIN CAPITAL LETTER R
+<U0053>     /x53         LATIN CAPITAL LETTER S
+<U0054>     /x54         LATIN CAPITAL LETTER T
+<U0055>     /x55         LATIN CAPITAL LETTER U
+<U0056>     /x56         LATIN CAPITAL LETTER V
+<U0057>     /x57         LATIN CAPITAL LETTER W
+<U0058>     /x58         LATIN CAPITAL LETTER X
+<U0059>     /x59         LATIN CAPITAL LETTER Y
+<U005A>     /x5a         LATIN CAPITAL LETTER Z
+<U005B>     /x5b         LEFT SQUARE BRACKET
+<U005C>     /x5c         REVERSE SOLIDUS
+<U005D>     /x5d         RIGHT SQUARE BRACKET
+<U005E>     /x5e         CIRCUMFLEX ACCENT
+<U005F>     /x5f         LOW LINE
+<U0060>     /x60         GRAVE ACCENT
+<U0061>     /x61         LATIN SMALL LETTER A
+<U0062>     /x62         LATIN SMALL LETTER B
+<U0063>     /x63         LATIN SMALL LETTER C
+<U0064>     /x64         LATIN SMALL LETTER D
+<U0065>     /x65         LATIN SMALL LETTER E
+<U0066>     /x66         LATIN SMALL LETTER F
+<U0067>     /x67         LATIN SMALL LETTER G
+<U0068>     /x68         LATIN SMALL LETTER H
+<U0069>     /x69         LATIN SMALL LETTER I
+<U006A>     /x6a         LATIN SMALL LETTER J
+<U006B>     /x6b         LATIN SMALL LETTER K
+<U006C>     /x6c         LATIN SMALL LETTER L
+<U006D>     /x6d         LATIN SMALL LETTER M
+<U006E>     /x6e         LATIN SMALL LETTER N
+<U006F>     /x6f         LATIN SMALL LETTER O
+<U0070>     /x70         LATIN SMALL LETTER P
+<U0071>     /x71         LATIN SMALL LETTER Q
+<U0072>     /x72         LATIN SMALL LETTER R
+<U0073>     /x73         LATIN SMALL LETTER S
+<U0074>     /x74         LATIN SMALL LETTER T
+<U0075>     /x75         LATIN SMALL LETTER U
+<U0076>     /x76         LATIN SMALL LETTER V
+<U0077>     /x77         LATIN SMALL LETTER W
+<U0078>     /x78         LATIN SMALL LETTER X
+<U0079>     /x79         LATIN SMALL LETTER Y
+<U007A>     /x7a         LATIN SMALL LETTER Z
+<U007B>     /x7b         LEFT CURLY BRACKET
+<U007C>     /x7c         VERTICAL LINE
+<U007D>     /x7d         RIGHT CURLY BRACKET
+<U007E>     /x7e         TILDE
+<U007F>     /x7f         DELETE (DEL)
+<U0080>     /x80         PADDING CHARACTER (PAD)
+<U0081>     /x81         HIGH OCTET PRESET (HOP)
+<U0082>     /x82         BREAK PERMITTED HERE (BPH)
+<U0083>     /x83         NO BREAK HERE (NBH)
+<U0084>     /x84         INDEX (IND)
+<U0085>     /x85         NEXT LINE (NEL)
+<U0086>     /x86         START OF SELECTED AREA (SSA)
+<U0087>     /x87         END OF SELECTED AREA (ESA)
+<U0088>     /x88         CHARACTER TABULATION SET (HTS)
+<U0089>     /x89         CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+<U008A>     /x8a         LINE TABULATION SET (VTS)
+<U008B>     /x8b         PARTIAL LINE FORWARD (PLD)
+<U008C>     /x8c         PARTIAL LINE BACKWARD (PLU)
+<U008D>     /x8d         REVERSE LINE FEED (RI)
+<U008E>     /x8e         SINGLE-SHIFT TWO (SS2)
+<U008F>     /x8f         SINGLE-SHIFT THREE (SS3)
+<U0090>     /x90         DEVICE CONTROL STRING (DCS)
+<U0091>     /x91         PRIVATE USE ONE (PU1)
+<U0092>     /x92         PRIVATE USE TWO (PU2)
+<U0093>     /x93         SET TRANSMIT STATE (STS)
+<U0094>     /x94         CANCEL CHARACTER (CCH)
+<U0095>     /x95         MESSAGE WAITING (MW)
+<U0096>     /x96         START OF GUARDED AREA (SPA)
+<U0097>     /x97         END OF GUARDED AREA (EPA)
+<U0098>     /x98         START OF STRING (SOS)
+<U0099>     /x99         SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+<U009A>     /x9a         SINGLE CHARACTER INTRODUCER (SCI)
+<U009B>     /x9b         CONTROL SEQUENCE INTRODUCER (CSI)
+<U009C>     /x9c         STRING TERMINATOR (ST)
+<U009D>     /x9d         OPERATING SYSTEM COMMAND (OSC)
+<U009E>     /x9e         PRIVACY MESSAGE (PM)
+<U009F>     /x9f         APPLICATION PROGRAM COMMAND (APC)
+<U00A0>     /xa0         NO-BREAK SPACE
+<U00C7>     /xa1         LATIN CAPITAL LETTER C WITH CEDILLA
+<U011E>     /xa2         LATIN CAPITAL LETTER G WITH BREVE
+<U00C8>     /xa3         LATIN CAPITAL LETTER E WITH GRAVE
+<U00CA>     /xa4         LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+<U00CB>     /xa5         LATIN CAPITAL LETTER E WITH DIAERESIS
+<U00CE>     /xa6         LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+<U00CF>     /xa7         LATIN CAPITAL LETTER I WITH DIAERESIS
+<U00B4>     /xa8         ACUTE ACCENT
+<U02CB>     /xa9         MODIFIER LETTER GRAVE ACCENT (Mandarin Chinese fourth tone)
+<U02C6>     /xaa         MODIFIER LETTER CIRCUMFLEX ACCENT
+<U00A8>     /xab         DIAERESIS
+<U02DC>     /xac         SMALL TILDE
+<U00D9>     /xad         LATIN CAPITAL LETTER U WITH GRAVE
+<U00DB>     /xae         LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+<U20A4>     /xaf         LIRA SIGN
+<U00DD>     /xb1         LATIN CAPITAL LETTER Y WITH ACUTE
+<U00FD>     /xb2         LATIN SMALL LETTER Y WITH ACUTE
+<U00B0>     /xb3         DEGREE SIGN
+<U00D1>     /xb6         LATIN CAPITAL LETTER N WITH TILDE
+<U00F1>     /xb7         LATIN SMALL LETTER N WITH TILDE
+<U00A1>     /xb8         INVERTED EXCLAMATION MARK
+<U00BF>     /xb9         INVERTED QUESTION MARK
+<U00A4>     /xba         CURRENCY SIGN
+<U00A3>     /xbb         POUND SIGN
+<U00A5>     /xbc         YEN SIGN
+<U00A7>     /xbd         SECTION SIGN
+<U0192>     /xbe         LATIN SMALL LETTER F WITH HOOK
+<U00A2>     /xbf         CENT SIGN
+<U00EA>     /xc1         LATIN SMALL LETTER E WITH CIRCUMFLEX
+<U00F4>     /xc2         LATIN SMALL LETTER O WITH CIRCUMFLEX
+<U00E1>     /xc4         LATIN SMALL LETTER A WITH ACUTE
+<U00E9>     /xc5         LATIN SMALL LETTER E WITH ACUTE
+<U00F3>     /xc6         LATIN SMALL LETTER O WITH ACUTE
+<U00FA>     /xc7         LATIN SMALL LETTER U WITH ACUTE
+<U00E0>     /xc8         LATIN SMALL LETTER A WITH GRAVE
+<U00E8>     /xc9         LATIN SMALL LETTER E WITH GRAVE
+<U00F2>     /xca         LATIN SMALL LETTER O WITH GRAVE
+<U00F9>     /xcb         LATIN SMALL LETTER U WITH GRAVE
+<U00E4>     /xcc         LATIN SMALL LETTER A WITH DIAERESIS
+<U00EB>     /xcd         LATIN SMALL LETTER E WITH DIAERESIS
+<U00C5>     /xd0         LATIN CAPITAL LETTER A WITH RING ABOVE
+<U00EE>     /xd1         LATIN SMALL LETTER I WITH CIRCUMFLEX
+<U00D8>     /xd2         LATIN CAPITAL LETTER O WITH STROKE
+<U00C6>     /xd3         LATIN CAPITAL LETTER AE (ash) *
+<U00E5>     /xd4         LATIN SMALL LETTER A WITH RING ABOVE
+<U00ED>     /xd5         LATIN SMALL LETTER I WITH ACUTE
+<U00F8>     /xd6         LATIN SMALL LETTER O WITH STROKE
+<U00E6>     /xd7         LATIN SMALL LETTER AE (ash) *
+<U00C4>     /xd8         LATIN CAPITAL LETTER A WITH DIAERESIS
+<U00EC>     /xd9         LATIN SMALL LETTER I WITH GRAVE
+<U0130>     /xdb         LATIN CAPITAL LETTER I WITH DOT ABOVE
+<U00D6>     /xdc         LATIN CAPITAL LETTER O WITH DIAERESIS
+<U015E>     /xdd         LATIN CAPITAL LETTER S WITH CEDILLA *
+<U00DC>     /xde         LATIN CAPITAL LETTER U WITH DIAERESIS
+<U00E7>     /xdf         LATIN SMALL LETTER C WITH CEDILLA
+<U011F>     /xe0         LATIN SMALL LETTER G WITH BREVE
+<U00C3>     /xe1         LATIN CAPITAL LETTER A WITH TILDE
+<U00E3>     /xe2         LATIN SMALL LETTER A WITH TILDE
+<U00D0>     /xe3         LATIN CAPITAL LETTER ETH (Icelandic)
+<U00F0>     /xe4         LATIN SMALL LETTER ETH (Icelandic)
+<U00CD>     /xe5         LATIN CAPITAL LETTER I WITH ACUTE
+<U00CC>     /xe6         LATIN CAPITAL LETTER I WITH GRAVE
+<U00D3>     /xe7         LATIN CAPITAL LETTER O WITH ACUTE
+<U00D2>     /xe8         LATIN CAPITAL LETTER O WITH GRAVE
+<U00D5>     /xe9         LATIN CAPITAL LETTER O WITH TILDE
+<U00F5>     /xea         LATIN SMALL LETTER O WITH TILDE
+<U0160>     /xeb         LATIN CAPITAL LETTER S WITH CARON
+<U0161>     /xec         LATIN SMALL LETTER S WITH CARON
+<U00DA>     /xed         LATIN CAPITAL LETTER U WITH ACUTE
+<U0178>     /xee         LATIN CAPITAL LETTER Y WITH DIAERESIS
+<U00FF>     /xef         LATIN SMALL LETTER Y WITH DIAERESIS
+<U00DE>     /xf0         LATIN CAPITAL LETTER THORN (Icelandic)
+<U00FE>     /xf1         LATIN SMALL LETTER THORN (Icelandic)
+<U00B7>     /xf2         MIDDLE DOT
+<U00B5>     /xf3         MICRO SIGN
+<U00B6>     /xf4         PILCROW SIGN
+<U00BE>     /xf5         VULGAR FRACTION THREE QUARTERS
+<U2014>     /xf6         EM DASH
+<U00BC>     /xf7         VULGAR FRACTION ONE QUARTER
+<U00BD>     /xf8         VULGAR FRACTION ONE HALF
+<U00AA>     /xf9         FEMININE ORDINAL INDICATOR
+<U00BA>     /xfa         MASCULINE ORDINAL INDICATOR
+<U0131>     /xfb         LATIN SMALL LETTER DOTLESS I
+<U00F6>     /xfc         LATIN SMALL LETTER O WITH DIAERESIS
+<U015F>     /xfd         LATIN SMALL LETTER S WITH CEDILLA *
+<U00FC>     /xfe         LATIN SMALL LETTER U WITH DIAERESIS
+END CHARMAP

Modified: fsf/trunk/libc/malloc/arena.c
==============================================================================
--- fsf/trunk/libc/malloc/arena.c (original)
+++ fsf/trunk/libc/malloc/arena.c Wed Dec 12 00:03:46 2007
@@ -704,8 +704,8 @@
   return h;
 }
 
-/* Grow or shrink a heap.  size is automatically rounded up to a
-   multiple of the page size if it is positive. */
+/* Grow a heap.  size is automatically rounded up to a
+   multiple of the page size. */
 
 static int
 #if __STD_C
@@ -717,41 +717,55 @@
   size_t page_mask = malloc_getpagesize - 1;
   long new_size;
 
-  if(diff >= 0) {
-    diff = (diff + page_mask) & ~page_mask;
-    new_size = (long)h->size + diff;
-    if((unsigned long) new_size > (unsigned long) HEAP_MAX_SIZE)
-      return -1;
-    if((unsigned long) new_size > h->mprotect_size) {
-      if (mprotect((char *)h + h->mprotect_size,
-		   (unsigned long) new_size - h->mprotect_size,
-		   PROT_READ|PROT_WRITE) != 0)
+  diff = (diff + page_mask) & ~page_mask;
+  new_size = (long)h->size + diff;
+  if((unsigned long) new_size > (unsigned long) HEAP_MAX_SIZE)
+    return -1;
+  if((unsigned long) new_size > h->mprotect_size) {
+    if (mprotect((char *)h + h->mprotect_size,
+		 (unsigned long) new_size - h->mprotect_size,
+		 PROT_READ|PROT_WRITE) != 0)
+      return -2;
+    h->mprotect_size = new_size;
+  }
+
+  h->size = new_size;
+  return 0;
+}
+
+/* Shrink a heap.  */
+
+static int
+#if __STD_C
+shrink_heap(heap_info *h, long diff)
+#else
+shrink_heap(h, diff) heap_info *h; long diff;
+#endif
+{
+  long new_size;
+
+  new_size = (long)h->size - diff;
+  if(new_size < (long)sizeof(*h))
+    return -1;
+  /* Try to re-map the extra heap space freshly to save memory, and
+     make it inaccessible. */
+#ifdef _LIBC
+  if (__builtin_expect (__libc_enable_secure, 0))
+#else
+  if (1)
+#endif
+    {
+      if((char *)MMAP((char *)h + new_size, diff, PROT_NONE,
+		      MAP_PRIVATE|MAP_FIXED) == (char *) MAP_FAILED)
 	return -2;
       h->mprotect_size = new_size;
     }
-  } else {
-    new_size = (long)h->size + diff;
-    if(new_size < (long)sizeof(*h))
-      return -1;
-    /* Try to re-map the extra heap space freshly to save memory, and
-       make it inaccessible. */
 #ifdef _LIBC
-    if (__builtin_expect (__libc_enable_secure, 0))
-#else
-    if (1)
-#endif
-      {
-	if((char *)MMAP((char *)h + new_size, -diff, PROT_NONE,
-			MAP_PRIVATE|MAP_FIXED) == (char *) MAP_FAILED)
-	  return -2;
-	h->mprotect_size = new_size;
-      }
-#ifdef _LIBC
-    else
-      madvise ((char *)h + new_size, -diff, MADV_DONTNEED);
-#endif
-    /*fprintf(stderr, "shrink %p %08lx\n", h, new_size);*/
-  }
+  else
+    madvise ((char *)h + new_size, diff, MADV_DONTNEED);
+#endif
+  /*fprintf(stderr, "shrink %p %08lx\n", h, new_size);*/
+
   h->size = new_size;
   return 0;
 }
@@ -811,7 +825,7 @@
   if(extra < (long)pagesz)
     return 0;
   /* Try to shrink. */
-  if(grow_heap(heap, -extra) != 0)
+  if(shrink_heap(heap, extra) != 0)
     return 0;
   ar_ptr->system_mem -= extra;
   arena_mem -= extra;

Modified: fsf/trunk/libc/malloc/malloc.c
==============================================================================
--- fsf/trunk/libc/malloc/malloc.c (original)
+++ fsf/trunk/libc/malloc/malloc.c Wed Dec 12 00:03:46 2007
@@ -4475,7 +4475,7 @@
 
       We require that av->top always exists (i.e., has size >=
       MINSIZE) after initialization, so if it would otherwise be
-      exhuasted by current request, it is replenished. (The main
+      exhausted by current request, it is replenished. (The main
       reason for ensuring it exists is that we may need MINSIZE space
       to put in fenceposts in sysmalloc.)
     */
@@ -4515,7 +4515,7 @@
     */
     else {
       void *p = sYSMALLOc(nb, av);
-      if (__builtin_expect (perturb_byte, 0))
+      if (p != NULL && __builtin_expect (perturb_byte, 0))
 	alloc_perturb (p, bytes);
       return p;
     }