changeset 14370:44f711d7d71f

unictype/scripts: Reduce the size of the 'data' segment. * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option '%pic'. * lib/unictype/scripts_byname.gperf: Regenerated.
author Bruno Haible <bruno@clisp.org>
date Sat, 19 Feb 2011 17:03:25 +0100
parents d6400e7c2448
children 622ac4e73609
files ChangeLog lib/gen-uni-tables.c lib/unictype/scripts_byname.gperf
diffstat 3 files changed, 13 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2011-02-19  Bruno Haible  <bruno@clisp.org>
+
+	unictype/scripts: Reduce the size of the 'data' segment.
+	* lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
+	'%pic'.
+	* lib/unictype/scripts_byname.gperf: Regenerated.
+
 2011-02-19  Bruno Haible  <bruno@clisp.org>
 
 	stdint: Update documentation.
--- a/lib/gen-uni-tables.c
+++ b/lib/gen-uni-tables.c
@@ -3943,7 +3943,7 @@
   fprintf (stream, "/* Unicode scripts.  */\n");
   fprintf (stream, "/* Generated automatically by gen-uni-tables.c for Unicode %s.  */\n",
            version);
-  fprintf (stream, "struct named_script { const char *name; unsigned int index; };\n");
+  fprintf (stream, "struct named_script { int name; unsigned int index; };\n");
   fprintf (stream, "%%struct-type\n");
   fprintf (stream, "%%language=ANSI-C\n");
   fprintf (stream, "%%define hash-function-name scripts_hash\n");
@@ -3951,6 +3951,8 @@
   fprintf (stream, "%%readonly-tables\n");
   fprintf (stream, "%%global-table\n");
   fprintf (stream, "%%define word-array-name script_names\n");
+  fprintf (stream, "%%pic\n");
+  fprintf (stream, "%%define string-pool-name script_stringpool\n");
   fprintf (stream, "%%%%\n");
   for (s = 0; s < numscripts; s++)
     fprintf (stream, "%s, %u\n", scripts[s], s);
--- a/lib/unictype/scripts_byname.gperf
+++ b/lib/unictype/scripts_byname.gperf
@@ -1,7 +1,7 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Unicode scripts.  */
 /* Generated automatically by gen-uni-tables.c for Unicode 6.0.0.  */
-struct named_script { const char *name; unsigned int index; };
+struct named_script { int name; unsigned int index; };
 %struct-type
 %language=ANSI-C
 %define hash-function-name scripts_hash
@@ -9,6 +9,8 @@
 %readonly-tables
 %global-table
 %define word-array-name script_names
+%pic
+%define string-pool-name script_stringpool
 %%
 Common, 0
 Latin, 1