Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
Joseph Myers committed Nov 26, 2014
1 parent 3b20fd5 commit bd5dada
Show file tree
Hide file tree
Showing 14 changed files with 26 additions and 177 deletions.
20 changes: 20 additions & 0 deletions 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
Expand Down
4 changes: 0 additions & 4 deletions Rules
Expand Up @@ -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))
Expand Down
9 changes: 4 additions & 5 deletions benchtests/bench-string.h
Expand Up @@ -17,7 +17,6 @@
<http://www.gnu.org/licenses/>. */

#include <sys/cdefs.h>
#define TEST_IFUNC 1

typedef struct
{
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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
Expand All @@ -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]));
Expand Down
3 changes: 0 additions & 3 deletions debug/Makefile
Expand Up @@ -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)

Expand Down
20 changes: 0 additions & 20 deletions debug/test-stpcpy_chk-ifunc.c

This file was deleted.

20 changes: 0 additions & 20 deletions debug/test-strcpy_chk-ifunc.c

This file was deleted.

5 changes: 2 additions & 3 deletions string/test-string.h
Expand Up @@ -18,7 +18,6 @@
<http://www.gnu.org/licenses/>. */

#include <sys/cdefs.h>
#define TEST_IFUNC

typedef struct
{
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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]));
Expand Down
2 changes: 0 additions & 2 deletions wcsmbs/Makefile
Expand Up @@ -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

Expand Down
20 changes: 0 additions & 20 deletions wcsmbs/test-wcschr-ifunc.c

This file was deleted.

20 changes: 0 additions & 20 deletions wcsmbs/test-wcscmp-ifunc.c

This file was deleted.

20 changes: 0 additions & 20 deletions wcsmbs/test-wcscpy-ifunc.c

This file was deleted.

20 changes: 0 additions & 20 deletions wcsmbs/test-wcslen-ifunc.c

This file was deleted.

20 changes: 0 additions & 20 deletions wcsmbs/test-wcsrchr-ifunc.c

This file was deleted.

20 changes: 0 additions & 20 deletions wcsmbs/test-wmemcmp-ifunc.c

This file was deleted.

0 comments on commit bd5dada

Please sign in to comment.