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-575-g8e57c94


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  8e57c9432a2b68c8a1e7f4df28f0e8c7acc04753 (commit)
      from  a4777c46af89649f2282c1703e8117ccd058d719 (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=8e57c9432a2b68c8a1e7f4df28f0e8c7acc04753

commit 8e57c9432a2b68c8a1e7f4df28f0e8c7acc04753
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Sun Oct 15 08:16:26 2017 -0700

    Silence -O3 -Wall warning in malloc/hooks.c with GCC 7 [BZ #22052]
    
    realloc_check has
    
      unsigned char *magic_p;
    ...
      __libc_lock_lock (main_arena.mutex);
      const mchunkptr oldp = mem2chunk_check (oldmem, &magic_p);
      __libc_lock_unlock (main_arena.mutex);
      if (!oldp)
        malloc_printerr ("realloc(): invalid pointer");
    ...
      if (newmem == NULL)
        *magic_p ^= 0xFF;
    
    with
    
    static void malloc_printerr(const char *str) __attribute__ ((noreturn));
    
    GCC 7 -O3 warns
    
    hooks.c: In function â??realloc_checkâ??:
    hooks.c:352:14: error: â??magic_pâ?? may be used uninitialized in this function [-Werror=maybe-uninitialized]
         *magic_p ^= 0xFF;
    
    due to the GCC bug:
    
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82090
    
    This patch silences GCC 7 by using DIAG_IGNORE_NEEDS_COMMENT.
    
    	[BZ #22052]
    	* malloc/hooks.c (realloc_check): Use DIAG_IGNORE_NEEDS_COMMENT
    	to silence -O3 -Wall warning with GCC 7.

diff --git a/ChangeLog b/ChangeLog
index eed7450..17fbe55 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2017-10-15  H.J. Lu  <hongjiu.lu@intel.com>
+
+	[BZ #22052]
+	* malloc/hooks.c (realloc_check): Use DIAG_IGNORE_NEEDS_COMMENT
+	to silence -O3 -Wall warning with GCC 7.
+
 2017-10-14  H.J. Lu  <hongjiu.lu@intel.com>
 
 	* Makeconfig (+link-static-before-libc): Use the first of
diff --git a/malloc/hooks.c b/malloc/hooks.c
index 01be076..17d8907 100644
--- a/malloc/hooks.c
+++ b/malloc/hooks.c
@@ -345,11 +345,18 @@ realloc_check (void *oldmem, size_t bytes, const void *caller)
       newmem = _int_realloc (&main_arena, oldp, oldsize, nb);
     }
 
+  DIAG_PUSH_NEEDS_COMMENT;
+#if __GNUC_PREREQ (7, 0)
+  /* GCC 7 warns about magic_p may be used uninitialized.  But we never
+     reach here if magic_p is uninitialized.  */
+  DIAG_IGNORE_NEEDS_COMMENT (7, "-Wmaybe-uninitialized");
+#endif
   /* mem2chunk_check changed the magic byte in the old chunk.
      If newmem is NULL, then the old chunk will still be used though,
      so we need to invert that change here.  */
   if (newmem == NULL)
     *magic_p ^= 0xFF;
+  DIAG_POP_NEEDS_COMMENT;
 
   __libc_lock_unlock (main_arena.mutex);
 

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

Summary of changes:
 ChangeLog      |    6 ++++++
 malloc/hooks.c |    7 +++++++
 2 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]