aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2014-11-26 12:53:36 +0000
committerJoseph Myers <joseph@codesourcery.com>2014-11-26 12:53:36 +0000
commitbd5dadac87467eec9d6ffc3f1b11897ea052a636 (patch)
tree3b1433fef00896cd2c57d7404f08ebb163884254
parent3b20fd5c0df2621a38d128bb9d7ba145cdd4657c (diff)
downloadglibc-bd5dadac87467eec9d6ffc3f1b11897ea052a636.zip
glibc-bd5dadac87467eec9d6ffc3f1b11897ea052a636.tar.gz
glibc-bd5dadac87467eec9d6ffc3f1b11897ea052a636.tar.bz2
Remove TEST_IFUNC, tests-ifunc and *-ifunc.c tests.
TEST_IFUNC is only tested in two headers, bench-string.h and test-string.h, after it gets defined by those headers, and it never gets undefined. Thus no defines of TEST_IFUNC are needed, and the *-ifunc.c tests that just define TEST_IFUNC and include other tests are also redundant, as is the code to remove $(tests-ifunc) and $(xtests-ifunc) conditionally from tests and xtests. This patch removes the useless defines and tests of TEST_IFUNC and the associated useless tests and makefile code. It thereby fixes a series of warnings "../string/test-string.h:21:0: warning: "TEST_IFUNC" redefined" where test-string.h defines TEST_IFUNC to empty, other files define it to 1 and this produces warnings. Tested for x86_64. * debug/test-stpcpy_chk-ifunc.c: Remove file. * debug/test-strcpy_chk-ifunc.c: Likewise. * wcsmbs/test-wcschr-ifunc.c: Likewise. * wcsmbs/test-wcscmp-ifunc.c: Likewise. * wcsmbs/test-wcscpy-ifunc.c: Likewise. * wcsmbs/test-wcslen-ifunc.c: Likewise. * wcsmbs/test-wcsrchr-ifunc.c: Likewise. * wcsmbs/test-wmemcmp-ifunc.c: Likewise. * Rules [$(multi-arch) = no] (tests): Do not filter out $(tests-ifunc). [$(multi-arch) = no] (xtests): Do not filter out $(xtests-ifunc). * debug/Makefile (tests-ifunc): Remove variable. (tests): Do not add $(tests-ifunc). * wcsmbs/Makefile (tests-ifunc): Remove variable. (tests): Do not add $(tests-ifunc). * benchtests/bench-string.h (TEST_IFUNC): Remove macro. [TEST_IFUNC]: Remove conditionals. * string/test-string.h (TEST_IFUNC): Remove macro. [TEST_IFUNC]: Remove conditionals.
-rw-r--r--ChangeLog20
-rw-r--r--Rules4
-rw-r--r--benchtests/bench-string.h9
-rw-r--r--debug/Makefile3
-rw-r--r--debug/test-stpcpy_chk-ifunc.c20
-rw-r--r--debug/test-strcpy_chk-ifunc.c20
-rw-r--r--string/test-string.h5
-rw-r--r--wcsmbs/Makefile2
-rw-r--r--wcsmbs/test-wcschr-ifunc.c20
-rw-r--r--wcsmbs/test-wcscmp-ifunc.c20
-rw-r--r--wcsmbs/test-wcscpy-ifunc.c20
-rw-r--r--wcsmbs/test-wcslen-ifunc.c20
-rw-r--r--wcsmbs/test-wcsrchr-ifunc.c20
-rw-r--r--wcsmbs/test-wmemcmp-ifunc.c20
14 files changed, 26 insertions, 177 deletions
diff --git a/ChangeLog b/ChangeLog
index 66a78e2..3ae83e6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,25 @@
2014-11-26 Joseph Myers <joseph@codesourcery.com>
+ * debug/test-stpcpy_chk-ifunc.c: Remove file.
+ * debug/test-strcpy_chk-ifunc.c: Likewise.
+ * wcsmbs/test-wcschr-ifunc.c: Likewise.
+ * wcsmbs/test-wcscmp-ifunc.c: Likewise.
+ * wcsmbs/test-wcscpy-ifunc.c: Likewise.
+ * wcsmbs/test-wcslen-ifunc.c: Likewise.
+ * wcsmbs/test-wcsrchr-ifunc.c: Likewise.
+ * wcsmbs/test-wmemcmp-ifunc.c: Likewise.
+ * Rules [$(multi-arch) = no] (tests): Do not filter out
+ $(tests-ifunc).
+ [$(multi-arch) = no] (xtests): Do not filter out $(xtests-ifunc).
+ * debug/Makefile (tests-ifunc): Remove variable.
+ (tests): Do not add $(tests-ifunc).
+ * wcsmbs/Makefile (tests-ifunc): Remove variable.
+ (tests): Do not add $(tests-ifunc).
+ * benchtests/bench-string.h (TEST_IFUNC): Remove macro.
+ [TEST_IFUNC]: Remove conditionals.
+ * string/test-string.h (TEST_IFUNC): Remove macro.
+ [TEST_IFUNC]: Remove conditionals.
+
* string/test-strchr.c [!WIDE] (L): New macro.
[WIDE] (L): Likewise.
(check1): Use CHAR instead of char. Use L on string and character
diff --git a/Rules b/Rules
index 4f9cdf3..82d8e97 100644
--- a/Rules
+++ b/Rules
@@ -84,10 +84,6 @@ common-generated += dummy.o dummy.c
# This makes all the auxiliary and test programs.
.PHONY: others tests bench
-ifeq ($(multi-arch),no)
-tests := $(filter-out $(tests-ifunc), $(tests))
-xtests := $(filter-out $(xtests-ifunc), $(xtests))
-endif
ifeq ($(build-programs),yes)
others: $(addprefix $(objpfx),$(others) $(sysdep-others) $(extra-objs))
diff --git a/benchtests/bench-string.h b/benchtests/bench-string.h
index bdb927f..d0a247a 100644
--- a/benchtests/bench-string.h
+++ b/benchtests/bench-string.h
@@ -17,7 +17,6 @@
<http://www.gnu.org/licenses/>. */
#include <sys/cdefs.h>
-#define TEST_IFUNC 1
typedef struct
{
@@ -107,7 +106,7 @@ size_t iterations = 100000;
# define CALL(impl, ...) \
(* (proto_t) (impl)->fn) (__VA_ARGS__)
-# if defined TEST_IFUNC && defined TEST_NAME
+# ifdef TEST_NAME
/* Increase size of FUNC_LIST if assert is triggered at run-time. */
static struct libc_ifunc_impl func_list[32];
static int func_count;
@@ -153,11 +152,11 @@ static impl_t *impl_array;
impl = impl_array; \
for (count = 0; count < impl_count; ++count, ++impl) \
if (!notall || impl->test)
-# else /* ! (defined TEST_IFUNC && defined TEST_NAME) */
+# else /* !TEST_NAME */
# define FOR_EACH_IMPL(impl, notall) \
for (impl_t *impl = __start_impls; impl < __stop_impls; ++impl) \
if (!notall || impl->test)
-# endif /* ! (defined TEST_IFUNC && defined TEST_NAME) */
+# endif /* !TEST_NAME */
# ifndef BUF1PAGES
# define BUF1PAGES 1
@@ -166,7 +165,7 @@ static impl_t *impl_array;
static void
test_init (void)
{
-# if defined TEST_IFUNC && defined TEST_NAME
+# ifdef TEST_NAME
func_count = __libc_ifunc_impl_list (TEST_NAME, func_list,
(sizeof func_list
/ sizeof func_list[0]));
diff --git a/debug/Makefile b/debug/Makefile
index c284c51..3ddcd1e 100644
--- a/debug/Makefile
+++ b/debug/Makefile
@@ -135,9 +135,6 @@ tests = backtrace-tst tst-longjmp_chk tst-chk1 tst-chk2 tst-chk3 \
tst-longjmp_chk2 tst-backtrace2 tst-backtrace3 tst-backtrace4 \
tst-backtrace5 tst-backtrace6
-tests-ifunc := $(stpcpy_chk strcpy_chk:%=test-%-ifunc)
-tests += $(tests-ifunc)
-
extra-libs = libSegFault libpcprofile
extra-libs-others = $(extra-libs)
diff --git a/debug/test-stpcpy_chk-ifunc.c b/debug/test-stpcpy_chk-ifunc.c
deleted file mode 100644
index 91bd628..0000000
--- a/debug/test-stpcpy_chk-ifunc.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Test and measure IFUNC implementations of stpcpy checking function.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define TEST_IFUNC 1
-#include "test-stpcpy_chk.c"
diff --git a/debug/test-strcpy_chk-ifunc.c b/debug/test-strcpy_chk-ifunc.c
deleted file mode 100644
index 8fe9fad..0000000
--- a/debug/test-strcpy_chk-ifunc.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Test and measure IFUNC implementations of strcpy checking function.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define TEST_IFUNC 1
-#include "test-strcpy_chk.c"
diff --git a/string/test-string.h b/string/test-string.h
index 4d9a39d..0051132 100644
--- a/string/test-string.h
+++ b/string/test-string.h
@@ -18,7 +18,6 @@
<http://www.gnu.org/licenses/>. */
#include <sys/cdefs.h>
-#define TEST_IFUNC
typedef struct
{
@@ -105,7 +104,7 @@ size_t iterations = 100000;
#define CALL(impl, ...) \
(* (proto_t) (impl)->fn) (__VA_ARGS__)
-#if defined TEST_IFUNC && defined TEST_NAME
+#ifdef TEST_NAME
/* Increase size of FUNC_LIST if assert is triggered at run-time. */
static struct libc_ifunc_impl func_list[32];
static int func_count;
@@ -164,7 +163,7 @@ static impl_t *impl_array;
static void
test_init (void)
{
-#if defined TEST_IFUNC && defined TEST_NAME
+#ifdef TEST_NAME
func_count = __libc_ifunc_impl_list (TEST_NAME, func_list,
(sizeof func_list
/ sizeof func_list[0]));
diff --git a/wcsmbs/Makefile b/wcsmbs/Makefile
index 42843a6..f964d9f 100644
--- a/wcsmbs/Makefile
+++ b/wcsmbs/Makefile
@@ -46,8 +46,6 @@ strop-tests := wcscmp wmemcmp wcslen wcschr wcsrchr wcscpy
tests := tst-wcstof wcsmbs-tst1 tst-wcsnlen tst-btowc tst-mbrtowc \
tst-wcrtomb tst-wcpncpy tst-mbsrtowcs tst-wchar-h tst-mbrtowc2 \
tst-c16c32-1 wcsatcliff $(addprefix test-,$(strop-tests))
-tests-ifunc := $(strop-tests:%=test-%-ifunc)
-tests += $(tests-ifunc)
include ../Rules
diff --git a/wcsmbs/test-wcschr-ifunc.c b/wcsmbs/test-wcschr-ifunc.c
deleted file mode 100644
index cf10c95..0000000
--- a/wcsmbs/test-wcschr-ifunc.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Test and measure IFUNC implementations of wcschr function.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define TEST_IFUNC 1
-#include "test-wcschr.c"
diff --git a/wcsmbs/test-wcscmp-ifunc.c b/wcsmbs/test-wcscmp-ifunc.c
deleted file mode 100644
index 94bfead..0000000
--- a/wcsmbs/test-wcscmp-ifunc.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Test and measure IFUNC implementations of wcscmp function.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define TEST_IFUNC 1
-#include "test-wcscmp.c"
diff --git a/wcsmbs/test-wcscpy-ifunc.c b/wcsmbs/test-wcscpy-ifunc.c
deleted file mode 100644
index 7478908..0000000
--- a/wcsmbs/test-wcscpy-ifunc.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Test and measure IFUNC implementations of wcscpy function.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define TEST_IFUNC 1
-#include "test-wcscpy.c"
diff --git a/wcsmbs/test-wcslen-ifunc.c b/wcsmbs/test-wcslen-ifunc.c
deleted file mode 100644
index 974ea18..0000000
--- a/wcsmbs/test-wcslen-ifunc.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Test and measure IFUNC implementations of wcslen function.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define TEST_IFUNC 1
-#include "test-wcslen.c"
diff --git a/wcsmbs/test-wcsrchr-ifunc.c b/wcsmbs/test-wcsrchr-ifunc.c
deleted file mode 100644
index 16e3eb5..0000000
--- a/wcsmbs/test-wcsrchr-ifunc.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Test and measure IFUNC implementations of wcsrchr function.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define TEST_IFUNC 1
-#include "test-wcsrchr.c"
diff --git a/wcsmbs/test-wmemcmp-ifunc.c b/wcsmbs/test-wmemcmp-ifunc.c
deleted file mode 100644
index da1a71d..0000000
--- a/wcsmbs/test-wmemcmp-ifunc.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Test and measure IFUNC implementations of wmemcmp function.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define TEST_IFUNC 1
-#include "test-wmemcmp.c"