This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [Patch] Fix glibc testing with GCC 4.9 compiler
- From: Steve Ellcey <sellcey at imgtec dot com>
- To: Florian Weimer <fw at deneb dot enyo dot de>, "Joseph S. Myers" <joseph at codesourcery dot com>
- Cc: <libc-alpha at sourceware dot org>
- Date: Thu, 25 Feb 2016 11:00:51 -0800
- Subject: Re: [Patch] Fix glibc testing with GCC 4.9 compiler
- Authentication-results: sourceware.org; auth=none
- References: <68cad408-de62-4515-98ee-987574823403 at BAMAIL02 dot ba dot imgtec dot org> <87fuwg3fcb dot fsf at mid dot deneb dot enyo dot de> <1456419316 dot 29579 dot 219 dot camel at ubuntu-sellcey> <878u283e9i dot fsf at mid dot deneb dot enyo dot de>
- Reply-to: <sellcey at imgtec dot com>
On Thu, 2016-02-25 at 18:12 +0100, Florian Weimer wrote:
> I think this would need a configure check for detection because you
> can't infer it from the reported compiler version.
So would something like this be acceptable? I haven't fully tested it,
I just want to see if this approach is OK.
Steve Ellcey
sellcey@imgtec.com
diff --git a/configure.ac b/configure.ac
index 3c766b7..674f05a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1449,6 +1449,13 @@ if test "$libc_cv_gcc_builtin_memset" = yes ; then
AC_DEFINE(HAVE_BUILTIN_MEMSET)
fi
+AC_CACHE_CHECK(for -Wmemset-transposed-args, libc_cv_memset_warning, [dnl
+LIBC_TRY_CC_OPTION([-Wmemset-transposed-args], [libc_cv_memset_warning=yes], [libc_cv_memset_warning=no])
+])
+if test "$libc_cv_memset_warning" = yes ; then
+ AC_DEFINE(HAVE_MEMSET_WARNING)
+fi
+
AC_CACHE_CHECK(for redirection of built-in functions, libc_cv_gcc_builtin_redirection, [dnl
cat > conftest.c <<\EOF
extern char *strstr (const char *, const char *) __asm ("my_strstr");
diff --git a/string/tester.c b/string/tester.c
index 7c36591..1659693 100644
--- a/string/tester.c
+++ b/string/tester.c
@@ -1305,7 +1305,7 @@ test_memset (void)
equal(one, "axxxefgh", 2); /* Basic test. */
DIAG_PUSH_NEEDS_COMMENT;
-#if __GNUC_PREREQ (5, 0)
+#ifdef HAVE_MEMSET_WARNING
/* GCC 5.0 warns about a zero-length memset because the arguments to memset
may be in the wrong order. But we really want to test this. */
DIAG_IGNORE_NEEDS_COMMENT (5.0, "-Wmemset-transposed-args")