patches/gcc/4.2.0/130-uclibc-locale-no__x.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jul 17 17:54:21 2011 +0200 (2011-07-17)
changeset 2888 dd71df95903a
parent 111 2e16b9fc302d
permissions -rw-r--r--
cc/gcc: pass the companion libs prefix to cc_core

In case of canadian-cross, the companion libraries are not the same for
the core cc (they run on 'build') as they are for the final cc (they run
on 'host').

Prepare for this differentiation (coming later), while retaining the
current behavior (to use the same compblibs).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@111
     1
--- gcc/libstdc++-v3/config/locale/uclibc/c++locale_internal.h.uclibc200no__x~	2006-03-10 15:06:17 +0100
yann@111
     2
+++ gcc/libstdc++-v3/config/locale/uclibc/c++locale_internal.h	2006-03-10 15:32:37 +0100
yann@111
     3
@@ -60,4 +60,49 @@
yann@111
     4
 extern "C" __typeof(wctype_l) __wctype_l;
yann@111
     5
 #endif 
yann@111
     6
 
yann@111
     7
+# define __nl_langinfo_l nl_langinfo_l
yann@111
     8
+# define __strcoll_l strcoll_l
yann@111
     9
+# define __strftime_l strftime_l
yann@111
    10
+# define __strtod_l strtod_l
yann@111
    11
+# define __strtof_l strtof_l
yann@111
    12
+# define __strtold_l strtold_l
yann@111
    13
+# define __strxfrm_l strxfrm_l
yann@111
    14
+# define __newlocale newlocale
yann@111
    15
+# define __freelocale freelocale
yann@111
    16
+# define __duplocale duplocale
yann@111
    17
+# define __uselocale uselocale
yann@111
    18
+
yann@111
    19
+# ifdef _GLIBCXX_USE_WCHAR_T
yann@111
    20
+#  define __iswctype_l iswctype_l
yann@111
    21
+#  define __towlower_l towlower_l
yann@111
    22
+#  define __towupper_l towupper_l
yann@111
    23
+#  define __wcscoll_l wcscoll_l
yann@111
    24
+#  define __wcsftime_l wcsftime_l
yann@111
    25
+#  define __wcsxfrm_l wcsxfrm_l
yann@111
    26
+#  define __wctype_l wctype_l
yann@111
    27
+# endif
yann@111
    28
+
yann@111
    29
+#else
yann@111
    30
+# define __nl_langinfo_l(N, L)       nl_langinfo((N))
yann@111
    31
+# define __strcoll_l(S1, S2, L)      strcoll((S1), (S2))
yann@111
    32
+# define __strtod_l(S, E, L)         strtod((S), (E))
yann@111
    33
+# define __strtof_l(S, E, L)         strtof((S), (E))
yann@111
    34
+# define __strtold_l(S, E, L)        strtold((S), (E))
yann@111
    35
+# define __strxfrm_l(S1, S2, N, L)   strxfrm((S1), (S2), (N))
yann@111
    36
+# warning should dummy __newlocale check for C|POSIX ?
yann@111
    37
+# define __newlocale(a, b, c)        NULL
yann@111
    38
+# define __freelocale(a)             ((void)0)
yann@111
    39
+# define __duplocale(a)              __c_locale()
yann@111
    40
+//# define __uselocale ?
yann@111
    41
+//
yann@111
    42
+# ifdef _GLIBCXX_USE_WCHAR_T
yann@111
    43
+#  define __iswctype_l(C, M, L)       iswctype((C), (M))
yann@111
    44
+#  define __towlower_l(C, L)          towlower((C))
yann@111
    45
+#  define __towupper_l(C, L)          towupper((C))
yann@111
    46
+#  define __wcscoll_l(S1, S2, L)      wcscoll((S1), (S2))
yann@111
    47
+//#  define __wcsftime_l(S, M, F, T, L)  wcsftime((S), (M), (F), (T)) 
yann@111
    48
+#  define __wcsxfrm_l(S1, S2, N, L)   wcsxfrm((S1), (S2), (N))
yann@111
    49
+#  define __wctype_l(S, L)            wctype((S))
yann@111
    50
+# endif
yann@111
    51
+
yann@111
    52
 #endif // GLIBC 2.3 and later
yann@111
    53
--- gcc/libstdc++-v3/config/locale/uclibc/c_locale.cc.uclibc200no__x~	2006-03-10 15:06:17 +0100
yann@111
    54
+++ gcc/libstdc++-v3/config/locale/uclibc/c_locale.cc	2006-03-10 15:32:37 +0100
yann@111
    55
@@ -39,20 +39,6 @@
yann@111
    56
 #include <langinfo.h>
yann@111
    57
 #include <bits/c++locale_internal.h>
yann@111
    58
 
yann@111
    59
-#ifndef __UCLIBC_HAS_XLOCALE__
yann@111
    60
-#define __strtol_l(S, E, B, L)      strtol((S), (E), (B))
yann@111
    61
-#define __strtoul_l(S, E, B, L)     strtoul((S), (E), (B))
yann@111
    62
-#define __strtoll_l(S, E, B, L)     strtoll((S), (E), (B))
yann@111
    63
-#define __strtoull_l(S, E, B, L)    strtoull((S), (E), (B))
yann@111
    64
-#define __strtof_l(S, E, L)         strtof((S), (E))
yann@111
    65
-#define __strtod_l(S, E, L)         strtod((S), (E))
yann@111
    66
-#define __strtold_l(S, E, L)        strtold((S), (E))
yann@111
    67
-#warning should dummy __newlocale check for C|POSIX ?
yann@111
    68
-#define __newlocale(a, b, c)        NULL
yann@111
    69
-#define __freelocale(a)             ((void)0)
yann@111
    70
-#define __duplocale(a)              __c_locale()
yann@111
    71
-#endif
yann@111
    72
-
yann@111
    73
 namespace std 
yann@111
    74
 {
yann@111
    75
   template<>
yann@111
    76
--- gcc/libstdc++-v3/config/locale/uclibc/collate_members.cc.uclibc200no__x~	2006-03-10 15:06:17 +0100
yann@111
    77
+++ gcc/libstdc++-v3/config/locale/uclibc/collate_members.cc	2006-03-10 15:32:37 +0100
yann@111
    78
@@ -36,13 +36,6 @@
yann@111
    79
 #include <locale>
yann@111
    80
 #include <bits/c++locale_internal.h>
yann@111
    81
 
yann@111
    82
-#ifndef __UCLIBC_HAS_XLOCALE__
yann@111
    83
-#define __strcoll_l(S1, S2, L)      strcoll((S1), (S2))
yann@111
    84
-#define __strxfrm_l(S1, S2, N, L)   strxfrm((S1), (S2), (N))
yann@111
    85
-#define __wcscoll_l(S1, S2, L)      wcscoll((S1), (S2))
yann@111
    86
-#define __wcsxfrm_l(S1, S2, N, L)   wcsxfrm((S1), (S2), (N))
yann@111
    87
-#endif
yann@111
    88
-
yann@111
    89
 namespace std
yann@111
    90
 {
yann@111
    91
   // These are basically extensions to char_traits, and perhaps should
yann@111
    92
--- gcc/libstdc++-v3/config/locale/uclibc/monetary_members.cc.uclibc200no__x~	2006-03-10 15:06:17 +0100
yann@111
    93
+++ gcc/libstdc++-v3/config/locale/uclibc/monetary_members.cc	2006-03-10 15:32:37 +0100
yann@111
    94
@@ -43,10 +43,6 @@
yann@111
    95
 #warning tailor for stub locale support
yann@111
    96
 #endif
yann@111
    97
 
yann@111
    98
-#ifndef __UCLIBC_HAS_XLOCALE__
yann@111
    99
-#define __nl_langinfo_l(N, L)         nl_langinfo((N))
yann@111
   100
-#endif
yann@111
   101
-
yann@111
   102
 namespace std
yann@111
   103
 {
yann@111
   104
   // Construct and return valid pattern consisting of some combination of:
yann@111
   105
--- gcc/libstdc++-v3/config/locale/uclibc/numeric_members.cc.uclibc200no__x~	2006-03-10 15:06:17 +0100
yann@111
   106
+++ gcc/libstdc++-v3/config/locale/uclibc/numeric_members.cc	2006-03-10 15:32:37 +0100
yann@111
   107
@@ -41,9 +41,6 @@
yann@111
   108
 #ifdef __UCLIBC_MJN3_ONLY__
yann@111
   109
 #warning tailor for stub locale support
yann@111
   110
 #endif
yann@111
   111
-#ifndef __UCLIBC_HAS_XLOCALE__
yann@111
   112
-#define __nl_langinfo_l(N, L)         nl_langinfo((N))
yann@111
   113
-#endif
yann@111
   114
 
yann@111
   115
 namespace std
yann@111
   116
 {
yann@111
   117
--- gcc/libstdc++-v3/config/locale/uclibc/time_members.cc.uclibc200no__x~	2006-03-10 15:06:17 +0100
yann@111
   118
+++ gcc/libstdc++-v3/config/locale/uclibc/time_members.cc	2006-03-10 15:32:37 +0100
yann@111
   119
@@ -40,9 +40,6 @@
yann@111
   120
 #ifdef __UCLIBC_MJN3_ONLY__
yann@111
   121
 #warning tailor for stub locale support
yann@111
   122
 #endif
yann@111
   123
-#ifndef __UCLIBC_HAS_XLOCALE__
yann@111
   124
-#define __nl_langinfo_l(N, L)         nl_langinfo((N))
yann@111
   125
-#endif
yann@111
   126
 
yann@111
   127
 namespace std
yann@111
   128
 {
yann@111
   129
--- gcc/libstdc++-v3/config/locale/uclibc/ctype_members.cc.uclibc200no__x~	2006-03-10 15:06:17 +0100
yann@111
   130
+++ gcc/libstdc++-v3/config/locale/uclibc/ctype_members.cc	2006-03-10 15:32:37 +0100
yann@111
   131
@@ -38,13 +38,6 @@
yann@111
   132
 #undef _LIBC
yann@111
   133
 #include <bits/c++locale_internal.h>
yann@111
   134
 
yann@111
   135
-#ifndef __UCLIBC_HAS_XLOCALE__
yann@111
   136
-#define __wctype_l(S, L)           wctype((S))
yann@111
   137
-#define __towupper_l(C, L)         towupper((C))
yann@111
   138
-#define __towlower_l(C, L)         towlower((C))
yann@111
   139
-#define __iswctype_l(C, M, L)      iswctype((C), (M))
yann@111
   140
-#endif
yann@111
   141
-
yann@111
   142
 namespace std
yann@111
   143
 {
yann@111
   144
   // NB: The other ctype<char> specializations are in src/locale.cc and
yann@111
   145
--- gcc/libstdc++-v3/config/locale/uclibc/messages_members.cc.uclibc200no__x~	2006-03-10 15:06:17 +0100
yann@111
   146
+++ gcc/libstdc++-v3/config/locale/uclibc/messages_members.cc	2006-03-10 15:32:37 +0100
yann@111
   147
@@ -39,13 +39,10 @@
yann@111
   148
 #ifdef __UCLIBC_MJN3_ONLY__
yann@111
   149
 #warning fix gettext stuff
yann@111
   150
 #endif
yann@111
   151
-#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
yann@111
   152
-extern "C" char *__dcgettext(const char *domainname,
yann@111
   153
-			     const char *msgid, int category);
yann@111
   154
 #undef gettext
yann@111
   155
-#define gettext(msgid) __dcgettext(NULL, msgid, LC_MESSAGES)
yann@111
   156
+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
yann@111
   157
+#define gettext(msgid) dcgettext(NULL, msgid, LC_MESSAGES)
yann@111
   158
 #else
yann@111
   159
-#undef gettext
yann@111
   160
 #define gettext(msgid) (msgid)
yann@111
   161
 #endif
yann@111
   162
 
yann@111
   163
--- gcc/libstdc++-v3/config/locale/uclibc/messages_members.h.uclibc200no__x~	2006-03-10 15:06:17 +0100
yann@111
   164
+++ gcc/libstdc++-v3/config/locale/uclibc/messages_members.h	2006-03-10 15:32:37 +0100
yann@111
   165
@@ -36,15 +36,11 @@
yann@111
   166
 #ifdef __UCLIBC_MJN3_ONLY__
yann@111
   167
 #warning fix prototypes for *textdomain funcs
yann@111
   168
 #endif
yann@111
   169
-#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
yann@111
   170
-extern "C" char *__textdomain(const char *domainname);
yann@111
   171
-extern "C" char *__bindtextdomain(const char *domainname,
yann@111
   172
-				  const char *dirname);
yann@111
   173
-#else
yann@111
   174
-#undef __textdomain
yann@111
   175
-#undef __bindtextdomain
yann@111
   176
-#define __textdomain(D)           ((void)0)
yann@111
   177
-#define __bindtextdomain(D,P)     ((void)0)
yann@111
   178
+#ifndef __UCLIBC_HAS_GETTEXT_AWARENESS__
yann@111
   179
+#undef textdomain
yann@111
   180
+#undef bindtextdomain
yann@111
   181
+#define textdomain(D)           ((void)0)
yann@111
   182
+#define bindtextdomain(D,P)     ((void)0)
yann@111
   183
 #endif
yann@111
   184
 
yann@111
   185
   // Non-virtual member functions.
yann@111
   186
@@ -70,7 +66,7 @@
yann@111
   187
     messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc, 
yann@111
   188
 			   const char* __dir) const
yann@111
   189
     { 
yann@111
   190
-      __bindtextdomain(__s.c_str(), __dir);
yann@111
   191
+      bindtextdomain(__s.c_str(), __dir);
yann@111
   192
       return this->do_open(__s, __loc); 
yann@111
   193
     }
yann@111
   194
 
yann@111
   195
@@ -90,7 +86,7 @@
yann@111
   196
     { 
yann@111
   197
       // No error checking is done, assume the catalog exists and can
yann@111
   198
       // be used.
yann@111
   199
-      __textdomain(__s.c_str());
yann@111
   200
+      textdomain(__s.c_str());
yann@111
   201
       return 0;
yann@111
   202
     }
yann@111
   203
 
yann@111
   204
--- gcc/libstdc++-v3/config/locale/uclibc/c_locale.h.uclibc200no__x~	2006-03-10 15:06:17 +0100
yann@111
   205
+++ gcc/libstdc++-v3/config/locale/uclibc/c_locale.h	2006-03-10 15:32:37 +0100
yann@111
   206
@@ -68,6 +68,7 @@
yann@111
   207
 {
yann@111
   208
   extern "C" __typeof(uselocale) __uselocale;
yann@111
   209
 }
yann@111
   210
+#define __uselocale uselocale
yann@111
   211
 #endif
yann@111
   212
 
yann@111
   213
 namespace std