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.27.9000-121-gf54d8f7


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  f54d8f735ab7647713b4f8e63282bd7a920234e1 (commit)
      from  20602c72fa54bc0923314820ec8148186096bf3b (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=f54d8f735ab7647713b4f8e63282bd7a920234e1

commit f54d8f735ab7647713b4f8e63282bd7a920234e1
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Mon Feb 26 18:38:01 2018 +0000

    Fix another -Os strcoll build issue.
    
    While there are now clean -Os build and test results on x86_64 (given
    my patch <https://sourceware.org/ml/libc-alpha/2018-02/msg00602.html>,
    pending review), testing with -Os with build-many-glibcs.py shows the
    build is still failing with -Os everywhere except for x86_64, x86 and
    s390x.
    
    There are a variety of different build failures, but the most common
    seem to be in strcoll / wcscoll, similar to existing such cases where
    DIAG_* are used to disable -Wmaybe-uninitialized.  There are various
    different failures even within those functions.  This patch fixes one
    particular case that seems quite common, where the warning appears at
    the declarations of seq1 and seq2.
    
    Tested with build-many-glibcs.py that this fixes the -Os build for
    aarch64-linux-gnu with GCC 7.
    
    	* string/strcoll_l.c: Include <libc-diag.h>.
    	(STRCOLL): Ignore -Wmaybe-uninitialized for -Os around
    	declarations of seq1 and seq2.

diff --git a/ChangeLog b/ChangeLog
index f7e7204..a556c3b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2018-02-26  Joseph Myers  <joseph@codesourcery.com>
 
+	* string/strcoll_l.c: Include <libc-diag.h>.
+	(STRCOLL): Ignore -Wmaybe-uninitialized for -Os around
+	declarations of seq1 and seq2.
+
 	[BZ #15105]
 	* stdlib/atoi.c (atoi): Use libc_hidden_def.
 	* include/stdlib.h [!_ISOMAC] (atoi): Use libc_hidden_proto.
diff --git a/string/strcoll_l.c b/string/strcoll_l.c
index 4a63c56..c001ff4 100644
--- a/string/strcoll_l.c
+++ b/string/strcoll_l.c
@@ -24,6 +24,7 @@
 #include <stdint.h>
 #include <string.h>
 #include <sys/param.h>
+#include <libc-diag.h>
 
 #ifndef STRING_TYPE
 # define STRING_TYPE char
@@ -291,7 +292,17 @@ STRCOLL (const STRING_TYPE *s1, const STRING_TYPE *s2, locale_t l)
 
   int result = 0, rule = 0;
 
+  /* With GCC 7 when compiling with -Os the compiler warns that
+     seq1.back_us and seq2.back_us might be used uninitialized.
+     Sometimes this warning appears at locations in locale/weightwc.h
+     where the actual use is, but on architectures other than x86_64,
+     x86 and s390x, a warning appears at the definitions of seq1 and
+     seq2.  This uninitialized use is impossible for the same reason
+     as described in comments in locale/weightwc.h.  */
+  DIAG_PUSH_NEEDS_COMMENT;
+  DIAG_IGNORE_Os_NEEDS_COMMENT (7, "-Wmaybe-uninitialized");
   coll_seq seq1, seq2;
+  DIAG_POP_NEEDS_COMMENT;
   seq1.len = 0;
   seq1.idxmax = 0;
   seq1.rule = 0;

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

Summary of changes:
 ChangeLog          |    4 ++++
 string/strcoll_l.c |   11 +++++++++++
 2 files changed, 15 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]