Author: qboosh Date: Sun Feb 20 10:44:02 2005 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- (updated from glibc-pax_iconvconfig.patch) let iconvconfig have non-exec stack
---- Files affected:
SOURCES:
glibc-iconvconfig-nxstack.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: SOURCES/glibc-iconvconfig-nxstack.patch
diff -u /dev/null SOURCES/glibc-iconvconfig-nxstack.patch:1.1
--- /dev/null Sun Feb 20 11:44:02 2005
+++ SOURCES/glibc-iconvconfig-nxstack.patch Sun Feb 20 11:43:57 2005
@@ -0,0 +1,78 @@
+--- glibc-2.3.4/iconv/iconvconfig.c.orig 2004-12-20 00:23:42.000000000
+0100
++++ glibc-2.3.4/iconv/iconvconfig.c 2005-02-20 11:43:58.447698464 +0100
+@@ -1013,6 +1013,34 @@
+ module name offset
+ (following last entry with step count 0)
+ */
++
++static struct hash_entry *hash_table;
++static size_t hash_size;
++
++/* Function to insert the names. */
++static void name_insert (const void *nodep, VISIT value, int level)
++{
++ struct name *name;
++ unsigned int idx;
++ unsigned int hval2;
++
++ if (value != leaf && value != postorder)
++ return;
++
++ name = *(struct name **) nodep;
++ idx = name->hashval % hash_size;
++ hval2 = 1 + name->hashval % (hash_size - 2);
++
++ while (hash_table[idx].string_offset != 0)
++ if ((idx += hval2) >= hash_size)
++ idx -= hash_size;
++
++ hash_table[idx].string_offset = strtaboffset (name->strent);
++
++ assert (name->module_idx != -1);
++ hash_table[idx].module_idx = name->module_idx;
++}
++
+ static int
+ write_output (void)
+ {
+@@ -1020,8 +1048,6 @@
+ char *string_table;
+ size_t string_table_size;
+ struct gconvcache_header header;
+- struct hash_entry *hash_table;
+- size_t hash_size;
+ struct module_entry *module_table;
+ char *extra_table;
+ char *cur_extra_table;
+@@ -1034,31 +1060,6 @@
+ char tmpfname[(output_file == NULL ? sizeof finalname : output_file_len + 1)
+ + strlen (".XXXXXX")];
+
+- /* Function to insert the names. */
+- auto void
+- name_insert (const void *nodep, VISIT value, int level)
+- {
+- struct name *name;
+- unsigned int idx;
+- unsigned int hval2;
+-
+- if (value != leaf && value != postorder)
+- return;
+-
+- name = *(struct name **) nodep;
+- idx = name->hashval % hash_size;
+- hval2 = 1 + name->hashval % (hash_size - 2);
+-
+- while (hash_table[idx].string_offset != 0)
+- if ((idx += hval2) >= hash_size)
+- idx -= hash_size;
+-
+- hash_table[idx].string_offset = strtaboffset (name->strent);
+-
+- assert (name->module_idx != -1);
+- hash_table[idx].module_idx = name->module_idx;
+- }
+-
+ /* Open the output file. */
+ if (output_file == NULL)
+ {
================================================================
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit