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
}
|