patches/glibc/2.2.5/glibc-2.2.5-allow-gcc-4.0-iconvdata.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Feb 24 11:00:05 2007 +0000 (2007-02-24)
changeset 1 eeea35fbf182
permissions -rw-r--r--
Add the full crosstool-NG sources to the new repository of its own.
You might just say: 'Yeah! crosstool-NG's got its own repo!".
Unfortunately, that's because the previous repo got damaged beyond repair and I had no backup.
That means I'm putting backups in place in the afternoon.
That also means we've lost history... :-(
yann@1
     1
Fixes
yann@1
     2
yann@1
     3
In file included from jis0208.c:23:
yann@1
     4
jis0208.h:32: error: array type has incomplete element type
yann@1
     5
when building with gcc-4.0
yann@1
     6
yann@1
     7
In file included from cp1258.c:869:
yann@1
     8
../iconv/skeleton.c: In function 'gconv':
yann@1
     9
../iconv/skeleton.c:323: error: invalid lvalue in increment
yann@1
    10
yann@1
    11
In file included from cp1255.c:550:
yann@1
    12
../iconv/skeleton.c: In function 'gconv':
yann@1
    13
../iconv/skeleton.c:323: error: invalid lvalue in increment
yann@1
    14
yann@1
    15
In file included from gb18030.c:22114:
yann@1
    16
../iconv/loop.c: In function 'from_gb18030':
yann@1
    17
../iconv/loop.c:282: error: invalid lvalue in increment
yann@1
    18
../iconv/loop.c: In function 'from_gb18030_single':
yann@1
    19
../iconv/loop.c:384: error: invalid lvalue in increment
yann@1
    20
yann@1
    21
--- /home/dank/downloads/glibc-2.2.5/iconvdata/iso8859-1.c	2001-08-03 15:06:50.000000000 -0700
yann@1
    22
+++ glibc-2.2.5/iconvdata/iso8859-1.c	2005-03-11 15:09:15.233602808 -0800
yann@1
    23
@@ -35,7 +35,8 @@
yann@1
    24
 #define MIN_NEEDED_OUTPUT	MIN_NEEDED_TO
yann@1
    25
 #define LOOPFCT			FROM_LOOP
yann@1
    26
 #define BODY \
yann@1
    27
-  *((uint32_t *) outptr)++ = *inptr++;
yann@1
    28
+  *((uint32_t *) outptr) = *inptr++;					      \
yann@1
    29
+  outptr += sizeof (uint32_t);
yann@1
    30
 #include <iconv/loop.c>
yann@1
    31
 
yann@1
    32
 
yann@1
    33
--- /home/dank/downloads/glibc-2.2.5/iconvdata/jis0208.h	2001-07-05 21:54:52.000000000 -0700
yann@1
    34
+++ glibc-2.2.5/iconvdata/jis0208.h	2005-03-11 15:27:23.295192304 -0800
yann@1
    35
@@ -24,15 +24,6 @@
yann@1
    36
 #include <gconv.h>
yann@1
    37
 #include <stdint.h>
yann@1
    38
 
yann@1
    39
-/* Conversion table.  */
yann@1
    40
-extern const uint16_t __jis0208_to_ucs[];
yann@1
    41
-
yann@1
    42
-extern const char __jisx0208_from_ucs4_lat1[256][2];
yann@1
    43
-extern const char __jisx0208_from_ucs4_greek[0xc1][2];
yann@1
    44
-extern const struct jisx0208_ucs_idx __jisx0208_from_ucs_idx[];
yann@1
    45
-extern const char __jisx0208_from_ucs_tab[][2];
yann@1
    46
-
yann@1
    47
-
yann@1
    48
 /* Struct for table with indeces in UCS mapping table.  */
yann@1
    49
 struct jisx0208_ucs_idx
yann@1
    50
 {
yann@1
    51
@@ -42,6 +33,15 @@
yann@1
    52
 };
yann@1
    53
 
yann@1
    54
 
yann@1
    55
+/* Conversion table.  */
yann@1
    56
+extern const uint16_t __jis0208_to_ucs[];
yann@1
    57
+
yann@1
    58
+extern const char __jisx0208_from_ucs4_lat1[256][2];
yann@1
    59
+extern const char __jisx0208_from_ucs4_greek[0xc1][2];
yann@1
    60
+extern const struct jisx0208_ucs_idx __jisx0208_from_ucs_idx[];
yann@1
    61
+extern const char __jisx0208_from_ucs_tab[][2];
yann@1
    62
+
yann@1
    63
+
yann@1
    64
 static inline uint32_t
yann@1
    65
 jisx0208_to_ucs4 (const unsigned char **s, size_t avail, unsigned char offset)
yann@1
    66
 {
yann@1
    67
--- /home/dank/downloads/glibc-2.2.5/iconvdata/cp1258.c	2001-07-05 21:54:49.000000000 -0700
yann@1
    68
+++ glibc-2.2.5/iconvdata/cp1258.c	2005-03-11 15:41:44.953200376 -0800
yann@1
    69
@@ -66,7 +66,8 @@
yann@1
    70
 	  if (__builtin_expect (outbuf + 4 <= outend, 1))		      \
yann@1
    71
 	    {								      \
yann@1
    72
 	      /* Write out the last character.  */			      \
yann@1
    73
-	      *((uint32_t *) outbuf)++ = data->__statep->__count >> 3;	      \
yann@1
    74
+	      *((uint32_t *) outbuf) = data->__statep->__count >> 3;	      \
yann@1
    75
+	      outbuf += sizeof (uint32_t);				      \
yann@1
    76
 	      data->__statep->__count = 0;				      \
yann@1
    77
 	    }								      \
yann@1
    78
 	  else								      \
yann@1
    79
--- /home/dank/downloads/glibc-2.2.5/iconvdata/cp1255.c	2001-07-05 21:54:49.000000000 -0700
yann@1
    80
+++ glibc-2.2.5/iconvdata/cp1255.c	2005-03-11 15:47:40.689120296 -0800
yann@1
    81
@@ -65,7 +65,8 @@
yann@1
    82
 	  if (__builtin_expect (outbuf + 4 <= outend, 1))		      \
yann@1
    83
 	    {								      \
yann@1
    84
 	      /* Write out the last character.  */			      \
yann@1
    85
-	      *((uint32_t *) outbuf)++ = data->__statep->__count >> 3;	      \
yann@1
    86
+	      *((uint32_t *) outbuf) = data->__statep->__count >> 3;	      \
yann@1
    87
+	      outbuf += sizeof (uint32_t);				      \
yann@1
    88
 	      data->__statep->__count = 0;				      \
yann@1
    89
 	    }								      \
yann@1
    90
 	  else								      \
yann@1
    91
--- /home/dank/downloads/glibc-2.2.5/iconvdata/gb18030.c	2001-08-03 15:06:47.000000000 -0700
yann@1
    92
+++ glibc-2.2.5/iconvdata/gb18030.c	2005-03-11 15:54:59.060477720 -0800
yann@1
    93
@@ -22108,7 +22108,8 @@
yann@1
    94
 	    }							      	      \
yann@1
    95
 	}								      \
yann@1
    96
 									      \
yann@1
    97
-    *((uint32_t *) outptr)++ = ch;					      \
yann@1
    98
+    *((uint32_t *) outptr) = ch;					      \
yann@1
    99
+    outptr += sizeof (uint32_t);					      \
yann@1
   100
   }
yann@1
   101
 #define LOOP_NEED_FLAGS
yann@1
   102
 #include <iconv/loop.c>
yann@1
   103
--- /home/dank/downloads/glibc-2.2.5/iconvdata/iso-2022-cn-ext.c	2001-07-05 21:54:51.000000000 -0700
yann@1
   104
+++ glibc-2.2.5/iconvdata/iso-2022-cn-ext.c	2005-03-11 15:55:42.002949472 -0800
yann@1
   105
@@ -411,7 +411,8 @@
yann@1
   106
 	  }								      \
yann@1
   107
       }									      \
yann@1
   108
 									      \
yann@1
   109
-    *((uint32_t *) outptr)++ = ch;					      \
yann@1
   110
+    *((uint32_t *) outptr) = ch;					      \
yann@1
   111
+    outptr += sizeof (uint32_t);					      \
yann@1
   112
   }
yann@1
   113
 #define EXTRA_LOOP_DECLS	, int *setp
yann@1
   114
 #define INIT_PARAMS		int set = (*setp >> 3) & CURRENT_MASK; \