diff --git a/ChangeLog b/ChangeLog index 67d11c9f9a..815e73571d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2017-12-16 Aurelien Jarno + + [BZ #22505] + * elf/ldconfig.c (main): Call setlocale to force LC_COLLATE to C. + 2017-12-16 Rajalakshmi Srinivasaraghavan * sysdeps/s390/fpu/libm-test-ulps: Update. diff --git a/NEWS b/NEWS index 61fed654d8..0670585b4c 100644 --- a/NEWS +++ b/NEWS @@ -63,6 +63,10 @@ Major new features: * Optimized memcpy, mempcpy, memmove, and memset for sparc M7. +* The ldconfig utility now processes `include' directives using the C/POSIX + collation ordering. Previous glibc versions used locale-specific + ordering, the change might break systems that relied on that. + Deprecated and removed features, and other changes affecting compatibility: * On GNU/Linux, the obsolete Linux constant PTRACE_SEIZE_DEVEL is no longer diff --git a/elf/ldconfig.c b/elf/ldconfig.c index 89042351f8..2c01ab567b 100644 --- a/elf/ldconfig.c +++ b/elf/ldconfig.c @@ -1259,6 +1259,10 @@ main (int argc, char **argv) /* Set locale via LC_ALL. */ setlocale (LC_ALL, ""); + /* But keep the C collation. That way `include' directives using + globbing patterns are processed in a locale-independent order. */ + setlocale (LC_COLLATE, "C"); + /* Set the text message domain. */ textdomain (_libc_intl_domainname);