diff options
author | Joseph Myers <joseph@codesourcery.com> | 2014-11-26 12:53:36 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2014-11-26 12:53:36 +0000 |
commit | bd5dadac87467eec9d6ffc3f1b11897ea052a636 (patch) | |
tree | 3b1433fef00896cd2c57d7404f08ebb163884254 | |
parent | 3b20fd5c0df2621a38d128bb9d7ba145cdd4657c (diff) | |
download | glibc-bd5dadac87467eec9d6ffc3f1b11897ea052a636.tar.gz glibc-bd5dadac87467eec9d6ffc3f1b11897ea052a636.tar.xz glibc-bd5dadac87467eec9d6ffc3f1b11897ea052a636.zip |
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-- | ChangeLog | 20 | ||||
-rw-r--r-- | Rules | 4 | ||||
-rw-r--r-- | benchtests/bench-string.h | 9 | ||||
-rw-r--r-- | debug/Makefile | 3 | ||||
-rw-r--r-- | debug/test-stpcpy_chk-ifunc.c | 20 | ||||
-rw-r--r-- | debug/test-strcpy_chk-ifunc.c | 20 | ||||
-rw-r--r-- | string/test-string.h | 5 | ||||
-rw-r--r-- | wcsmbs/Makefile | 2 | ||||
-rw-r--r-- | wcsmbs/test-wcschr-ifunc.c | 20 | ||||
-rw-r--r-- | wcsmbs/test-wcscmp-ifunc.c | 20 | ||||
-rw-r--r-- | wcsmbs/test-wcscpy-ifunc.c | 20 | ||||
-rw-r--r-- | wcsmbs/test-wcslen-ifunc.c | 20 | ||||
-rw-r--r-- | wcsmbs/test-wcsrchr-ifunc.c | 20 | ||||
-rw-r--r-- | wcsmbs/test-wmemcmp-ifunc.c | 20 |
14 files changed, 26 insertions, 177 deletions
diff --git a/ChangeLog b/ChangeLog index 66a78e2c3e..3ae83e659f 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 4f9cdf30e6..82d8e974e5 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 bdb927f533..d0a247afe9 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 c284c51999..3ddcd1e1c3 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 91bd628599..0000000000 --- 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 8fe9fad8ae..0000000000 --- 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 4d9a39de30..00511325d5 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 42843a6e11..f964d9f774 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 cf10c95d5a..0000000000 --- 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 94bfeadd53..0000000000 --- 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 7478908f77..0000000000 --- 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 974ea18ee2..0000000000 --- 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 16e3eb5f95..0000000000 --- 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 da1a71d496..0000000000 --- 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" |