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

Reply via email to