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.20-268-g1721f0a


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  1721f0a406e52f976f9daf6f59acf42c1dbd33ff (commit)
      from  d88548f497e52ad7633db1f3243daef0ba9fe54b (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=1721f0a406e52f976f9daf6f59acf42c1dbd33ff

commit 1721f0a406e52f976f9daf6f59acf42c1dbd33ff
Author: Siddhesh Poyarekar <siddhesh@redhat.com>
Date:   Thu Nov 27 11:15:45 2014 +0530

    Don't use __warn_memset_zero_len for gcc-5.0 or newer
    
    gcc now warns when the arguments to memset may have been accidentally
    transposed (i.e. length set to zero instead of the byte), so we don't
    need that bit of the code in glibc headers anymore.
    
    Tested on x86_64.  Coe generated by gcc 4.8 is identical with or
    without the patch.  I also tested gcc master, which does not result in
    any new failures.  It does fail quite a few FORTIFY_SOURCE tests, but
    those failures are not due to this patch.

diff --git a/ChangeLog b/ChangeLog
index ab2220d..4acdcc3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2014-11-27  Siddhesh Poyarekar  <siddhesh@redhat.com>
+
+	* string/bits/string3.h (__warn_memset_zero_len): Don't
+	declare for gcc newer than 5.0.
+	(memset): Don't test for zero-length __LEN for gcc newer than
+	5.0.
+
 2014-11-27  Joseph Myers  <joseph@codesourcery.com>
 
 	* stdio-common/tst-fmemopen.c (do_test): Cast st_size values to
diff --git a/string/bits/string3.h b/string/bits/string3.h
index 7606090..801e7ac 100644
--- a/string/bits/string3.h
+++ b/string/bits/string3.h
@@ -19,8 +19,10 @@
 # error "Never use <bits/string3.h> directly; include <string.h> instead."
 #endif
 
+#if !__GNUC_PREREQ (5,0)
 __warndecl (__warn_memset_zero_len,
 	    "memset used with constant zero length parameter; this could be due to transposed parameters");
+#endif
 
 #ifndef __cplusplus
 /* XXX This is temporarily.  We should not redefine any of the symbols
@@ -75,12 +77,16 @@ __NTH (mempcpy (void *__restrict __dest, const void *__restrict __src,
 __fortify_function void *
 __NTH (memset (void *__dest, int __ch, size_t __len))
 {
+  /* GCC-5.0 and newer implements these checks in the compiler, so we don't
+     need them here.  */
+#if !__GNUC_PREREQ (5,0)
   if (__builtin_constant_p (__len) && __len == 0
       && (!__builtin_constant_p (__ch) || __ch != 0))
     {
       __warn_memset_zero_len ();
       return __dest;
     }
+#endif
   return __builtin___memset_chk (__dest, __ch, __len, __bos0 (__dest));
 }
 

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

Summary of changes:
 ChangeLog             |    7 +++++++
 string/bits/string3.h |    6 ++++++
 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]