> Following Benjamins request I upgraded binutils and rerun the test > with symbol versioning enabled. Surprisingly, this time > 22_locale/collate_byname.cc from the libstdc++ testsuite fails which > passed on the last run when gcc 20020302 was employed. Could you > please take a look at 22_locale/collate_members_char.cc, which does > not pass either. These work for the generic code. For the linux codepath, it looks like there are some problems with glibc2.2.x and the following: #define _GNU_SOURCE 1 #include #include #include #define __c_locale __locale_t int _M_transform_helper(char* __o, const char* __t, size_t __n, __c_locale __loc) { return __strxfrm_l(__o, __t, __n, __loc); } int main() { __c_locale loc; __c_locale loc_dup; const char* __s = "de_DE"; const char* __one = "Äuglein Augmen"; const char* __two = "Äuglein"; int i; int j; size_t __n1; size_t __n2; char* __c1; char* __c2; loc = __newlocale(1 << LC_ALL, __s, 0); loc_dup = __duplocale(loc); __n1 = strlen(__one); __n2 = strlen(__two); __c1 = __builtin_alloca(__n1); __c2 = __builtin_alloca(__n2); i = _M_transform_helper(__c1, __one, __n1, loc); j = _M_transform_helper(__c2, __two, __n2, loc_dup); return 0; } At some point (2.2.6?) this will be fixed. best, -benjamin