This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.26.9000-994-g7d38eb3


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  7d38eb38977980efe703eac93645b1af5a5f8a0c (commit)
      from  2e77deef676677a7bed97d87d2519679654a2772 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=7d38eb38977980efe703eac93645b1af5a5f8a0c

commit 7d38eb38977980efe703eac93645b1af5a5f8a0c
Author: Aurelien Jarno <aurelien@aurel32.net>
Date:   Sat Dec 16 12:25:41 2017 +0100

    ldconfig: set LC_COLLATE to C [BZ #22505]
    
    ldconfig supports `include' directives and use the glob function to
    process them. The glob function sort entries according to the LC_COLLATE
    category. When using a standard "include /etc/ld.so.conf.d/*.conf" entry
    in /etc/ld.so.conf, the order therefore depends on the locale used to
    run ldconfig. A few examples of locale specific order that might be
    disturbing in that context compared to the C locale:
    - The cs_CZ and sk_SK locales sort the digits after the letters.
    - The et_EE locale sorts the 'z' between 's' and 't'.
    
    This patch fixes that by setting LC_COLLATE to C in order to process
    files in deterministic order, independently of the locale used to launch
    ldconfig.
    
    NOTE: This should NOT be backported to older release branches.
    
    Changelog:
    	[BZ #22505]
    	* elf/ldconfig.c (main): Call setlocale to force LC_COLLATE to C.

diff --git a/ChangeLog b/ChangeLog
index 67d11c9..815e735 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-12-16  Aurelien Jarno  <aurelien@aurel32.net>
+
+	[BZ #22505]
+	* elf/ldconfig.c (main): Call setlocale to force LC_COLLATE to C.
+
 2017-12-16  Rajalakshmi Srinivasaraghavan  <raji@linux.vnet.ibm.com>
 
 	* sysdeps/s390/fpu/libm-test-ulps: Update.
diff --git a/NEWS b/NEWS
index 61fed65..0670585 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 8904235..2c01ab5 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);
 

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog      |    5 +++++
 NEWS           |    4 ++++
 elf/ldconfig.c |    4 ++++
 3 files changed, 13 insertions(+), 0 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]