|
From: <sv...@va...> - 2012-12-14 10:31:06
|
sewardj 2012-12-14 10:30:57 +0000 (Fri, 14 Dec 2012)
New Revision: 13180
Log:
Make memcheck/tests/stpncpy be dependent on the presence/absence of
stpncpy in libc, as determined by a configure test. n-i-bz.
(Mark Wielaard, mj...@re...)
Modified files:
trunk/configure.in
trunk/memcheck/tests/Makefile.am
trunk/memcheck/tests/stpncpy.c
trunk/memcheck/tests/stpncpy.vgtest
Modified: trunk/configure.in (+23 -0)
===================================================================
--- trunk/configure.in 2012-12-13 18:31:49 +00:00 (rev 13179)
+++ trunk/configure.in 2012-12-14 10:30:57 +00:00 (rev 13180)
@@ -1016,7 +1016,30 @@
AM_CONDITIONAL([HAVE_AT_FDCWD], [test x$ac_have_at_fdcwd = xyes])
+# Check for stpncpy function definition in string.h
+# This explicitly checks with _GNU_SOURCE defined since that is also
+# used in the test case (some systems might define it without anyway
+# since stpncpy is part of The Open Group Base Specifications Issue 7
+# IEEE Std 1003.1-2008.
+AC_MSG_CHECKING([for stpncpy])
+AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+#define _GNU_SOURCE
+#include <string.h>
+]], [[
+ char *d;
+ char *s;
+ size_t n = 0;
+ char *r = stpncpy(d, s, n);
+]])], [
+ac_have_gnu_stpncpy=yes
+AC_MSG_RESULT([yes])
+], [
+ac_have_gnu_stpncpy=no
+AC_MSG_RESULT([no])
+])
+AM_CONDITIONAL([HAVE_GNU_STPNCPY], [test x$ac_have_gnu_stpncpy = xyes])
+
# Check for CLOCK_MONOTONIC
AC_MSG_CHECKING([for CLOCK_MONOTONIC])
Modified: trunk/memcheck/tests/stpncpy.c (+2 -0)
===================================================================
--- trunk/memcheck/tests/stpncpy.c 2012-12-13 18:31:49 +00:00 (rev 13179)
+++ trunk/memcheck/tests/stpncpy.c 2012-12-14 10:30:57 +00:00 (rev 13180)
@@ -1,5 +1,7 @@
#include <stdio.h>
#include <stdlib.h>
+
+#define _GNU_SOURCE
#include <string.h>
int main(int argc, char **argv)
Modified: trunk/memcheck/tests/stpncpy.vgtest (+1 -0)
===================================================================
--- trunk/memcheck/tests/stpncpy.vgtest 2012-12-13 18:31:49 +00:00 (rev 13179)
+++ trunk/memcheck/tests/stpncpy.vgtest 2012-12-14 10:30:57 +00:00 (rev 13180)
@@ -1,2 +1,3 @@
prog: stpncpy
+prereq: test -e ./stpncpy
vgopts: -q
Modified: trunk/memcheck/tests/Makefile.am (+4 -1)
===================================================================
--- trunk/memcheck/tests/Makefile.am 2012-12-13 18:31:49 +00:00 (rev 13179)
+++ trunk/memcheck/tests/Makefile.am 2012-12-14 10:30:57 +00:00 (rev 13180)
@@ -288,7 +288,6 @@
sbfragment \
sh-mem sh-mem-random \
sigaltstack signal2 sigprocmask static_malloc sigkill \
- stpncpy \
strchr \
str_tester \
supp_unknown supp1 supp2 suppfree \
@@ -307,6 +306,10 @@
check_PROGRAMS += dw4
endif
+if HAVE_GNU_STPNCPY
+check_PROGRAMS += stpncpy
+endif
+
AM_CFLAGS += $(AM_FLAG_M3264_PRI)
AM_CXXFLAGS += $(AM_FLAG_M3264_PRI)
|