aboutsummaryrefslogtreecommitdiffstats
path: root/packages/glibc/glibc-2.3.2/glibc23-ctype-compat.patch
blob: 7c80329ee8ec0819fd44b403728bb13ec1dfe676 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
--- glibc-2.3.1-cygnus/ctype/ctype-info.c	28 Sep 2002 20:36:35 -0000	1.1.1.9
+++ glibc-2.3.1-redhat/ctype/ctype-info.c	29 Sep 2002 11:38:50 -0000	1.4
@@ -48,18 +48,32 @@ extern const char _nl_C_LC_CTYPE_class_a
 
 #define b(t,x,o) (((const t *) _nl_C_LC_CTYPE_##x) + o)
 
+// const unsigned short int *__ctype_b = b (unsigned short int, class, 128);
+// const __uint32_t *__ctype32_b = b (__uint32_t, class32, 0);
+// const __int32_t *__ctype_tolower = b (__int32_t, tolower, 128);
+// const __int32_t *__ctype_toupper = b (__int32_t, toupper, 128);
+// const __uint32_t *__ctype32_tolower = b (__uint32_t, tolower, 128);
+// const __uint32_t *__ctype32_toupper = b (__uint32_t, toupper, 128);
+
+// compat_symbol (libc, __ctype_b, __ctype_b, GLIBC_2_0);
+// compat_symbol (libc, __ctype_tolower, __ctype_tolower, GLIBC_2_0);
+// compat_symbol (libc, __ctype_toupper, __ctype_toupper, GLIBC_2_0);
+// compat_symbol (libc, __ctype32_b, __ctype32_b, GLIBC_2_0);
+// compat_symbol (libc, __ctype32_tolower, __ctype32_tolower, GLIBC_2_2);
+// compat_symbol (libc, __ctype32_toupper, __ctype32_toupper, GLIBC_2_2);
+
+#endif
+
+/* Temporarily exported until all .a libraries are recompiled.  */
+#undef b
+#define b(t,x,o) (((const t *) _nl_C_LC_CTYPE_##x) + o)
+extern const char _nl_C_LC_CTYPE_class[] attribute_hidden;
+extern const char _nl_C_LC_CTYPE_class32[] attribute_hidden;
+extern const char _nl_C_LC_CTYPE_toupper[] attribute_hidden;
+extern const char _nl_C_LC_CTYPE_tolower[] attribute_hidden;
 const unsigned short int *__ctype_b = b (unsigned short int, class, 128);
 const __uint32_t *__ctype32_b = b (__uint32_t, class32, 0);
 const __int32_t *__ctype_tolower = b (__int32_t, tolower, 128);
 const __int32_t *__ctype_toupper = b (__int32_t, toupper, 128);
 const __uint32_t *__ctype32_tolower = b (__uint32_t, tolower, 128);
 const __uint32_t *__ctype32_toupper = b (__uint32_t, toupper, 128);
-
-compat_symbol (libc, __ctype_b, __ctype_b, GLIBC_2_0);
-compat_symbol (libc, __ctype_tolower, __ctype_tolower, GLIBC_2_0);
-compat_symbol (libc, __ctype_toupper, __ctype_toupper, GLIBC_2_0);
-compat_symbol (libc, __ctype32_b, __ctype32_b, GLIBC_2_0);
-compat_symbol (libc, __ctype32_tolower, __ctype32_tolower, GLIBC_2_2);
-compat_symbol (libc, __ctype32_toupper, __ctype32_toupper, GLIBC_2_2);
-
-#endif
--- glibc-2.3.1-cygnus/locale/lc-ctype.c	28 Sep 2002 20:37:14 -0000	1.1.1.8
+++ glibc-2.3.1-redhat/locale/lc-ctype.c	29 Sep 2002 11:38:51 -0000	1.5
@@ -75,18 +75,32 @@ _nl_postload_ctype (void)
      We need those relocations so that a versioned definition with a COPY
      reloc in an executable will override the libc.so definition.  */
 
-compat_symbol (libc, __ctype_b, __ctype_b, GLIBC_2_0);
-compat_symbol (libc, __ctype_tolower, __ctype_tolower, GLIBC_2_0);
-compat_symbol (libc, __ctype_toupper, __ctype_toupper, GLIBC_2_0);
-compat_symbol (libc, __ctype32_b, __ctype32_b, GLIBC_2_0);
-compat_symbol (libc, __ctype32_tolower, __ctype32_tolower, GLIBC_2_2);
-compat_symbol (libc, __ctype32_toupper, __ctype32_toupper, GLIBC_2_2);
+// compat_symbol (libc, __ctype_b, __ctype_b, GLIBC_2_0);
+// compat_symbol (libc, __ctype_tolower, __ctype_tolower, GLIBC_2_0);
+// compat_symbol (libc, __ctype_toupper, __ctype_toupper, GLIBC_2_0);
+// compat_symbol (libc, __ctype32_b, __ctype32_b, GLIBC_2_0);
+// compat_symbol (libc, __ctype32_tolower, __ctype32_tolower, GLIBC_2_2);
+// compat_symbol (libc, __ctype32_toupper, __ctype32_toupper, GLIBC_2_2);
 
+//  __ctype_b = current (uint16_t, CLASS, 128);
+//  __ctype_toupper = current (uint32_t, TOUPPER, 128);
+//  __ctype_tolower = current (uint32_t, TOLOWER, 128);
+//  __ctype32_b = current (uint32_t, CLASS32, 0);
+//  __ctype32_toupper = current (uint32_t, TOUPPER32, 0);
+//  __ctype32_tolower = current (uint32_t, TOLOWER32, 0);
+#endif
+
+  /* Temporary.  */
+  extern __const unsigned short int *__ctype_b; /* Characteristics.  */
+  extern __const __int32_t *__ctype_tolower; /* Case conversions.  */
+  extern __const __int32_t *__ctype_toupper; /* Case conversions.  */
+  extern const uint32_t *__ctype32_b;
+  extern const uint32_t *__ctype32_toupper;
+  extern const uint32_t *__ctype32_tolower;
   __ctype_b = current (uint16_t, CLASS, 128);
   __ctype_toupper = current (uint32_t, TOUPPER, 128);
   __ctype_tolower = current (uint32_t, TOLOWER, 128);
   __ctype32_b = current (uint32_t, CLASS32, 0);
   __ctype32_toupper = current (uint32_t, TOUPPER32, 0);
   __ctype32_tolower = current (uint32_t, TOLOWER32, 0);
-#endif
 }