glibc/sysdeps
Stefan Liebler 31556246c3 S390: Refactor ifunc implementations and enable ifunc-test-framework.
On s390 all ifunc resolvers were implemented in multiarch/ifunc-resolve.c.
The resulting single object files has undefined references to all ifunc-functions.
This patch introduces one multiarch/<func>.c file for each of memcpy, memcmp
and memset with the function specific ifunc resolver. The different function
implementations are now implemented in multiarch/<func>-s390x.S
(moved from multiarch/<func>.S).

The new multiarch/ifunc-resolve.h file contains the ifunc-resolver macro
and other helper-macros. They are merged and are now used in common for
32/64bit. Therefore the __<func>_g5/__<func>_z900 functions were renamed to
__<func>_default.

This patch also enables testing the ifunc implementations by implementing
the function __libc_ifunc_impl_list. It uses the helper-macros of ifunc-resolve.h.

ChangeLog:

	* sysdeps/s390/s390-32/multiarch/Makefile (sysdep_routines):
	Remove ifunc-resolve, add memset-s390, memcpy-s390, memcmp-s390.
	* sysdeps/s390/s390-32/multiarch/ifunc-resolve.c: Delete File.
	* sysdeps/s390/s390-32/multiarch/memcmp.S: Move to ...
	* sysdeps/s390/s390-32/multiarch/memcmp-s390.S: ... here.
	(memcmp, bcmp): Use __memcmp_default as alias source.
	* sysdeps/s390/s390-32/multiarch/memcmp.c: New File.
	* sysdeps/s390/s390-32/memcmp.S (__memcmp_g5):
	Rename to __memcmp_default.
	* sysdeps/s390/s390-32/multiarch/memcpy.S: Move to ...
	* sysdeps/s390/s390-32/multiarch/memcpy-s390.S: ... here.
	(memcpy): Use __memcpy_default as alias source.
	* sysdeps/s390/s390-32/multiarch/memcpy.c: New File.
	* sysdeps/s390/s390-32/memcpy.S (__memcpy_g5):
	Rename to __memcpy_default.
	* sysdeps/s390/s390-32/multiarch/memset.S: Move to ...
	* sysdeps/s390/s390-32/multiarch/memset-s390.S: ... here.
	(memset): Use __memset_default as alias source.
	* sysdeps/s390/s390-32/multiarch/memset.c: New File.
	* sysdeps/s390/s390-32/memset.S (__memset_g5):
	Rename to __memset_default.
	* sysdeps/s390/s390-64/multiarch/Makefile (sysdep_routines):
	Remove ifunc-resolve, add memset-s390x, memcpy-s390x, memcmp-s390x.
	* sysdeps/s390/s390-64/multiarch/ifunc-resolve.c: Delete File.
	* sysdeps/s390/s390-64/multiarch/memcmp.S: Move to ...
	* sysdeps/s390/s390-64/multiarch/memcmp-s390x.S: ... here.
	(memcmp, bcmp): Use __memcmp_default as alias source.
	* sysdeps/s390/s390-64/multiarch/memcmp.c: New File.
	* sysdeps/s390/s390-64/memcmp.S (__memcmp_z900):
	Rename to __memcmp_default.
	* sysdeps/s390/s390-64/multiarch/memcpy.S: Move to ...
	* sysdeps/s390/s390-64/multiarch/memcpy-s390x.S: ... here.
	(memcpy): Use __memcpy_default as alias source.
	* sysdeps/s390/s390-64/multiarch/memcpy.c: New File.
	* sysdeps/s390/s390-64/memcpy.S (__memcpy_z900):
	Rename to __memcpy_default.
	* sysdeps/s390/s390-64/multiarch/memset.S: Move to ...
	* sysdeps/s390/s390-64/multiarch/memset-s390x.S: ... here.
	(memset): Use __memset_default as alias source.
	* sysdeps/s390/s390-64/multiarch/memset.c: New File.
	* sysdeps/s390/s390-64/memset.S (__memset_z900):
	Rename to __memset_default.
	* sysdeps/s390/multiarch/ifunc-resolve.h: New File.
	* sysdeps/s390/multiarch/ifunc-impl-list.c: New File.
2015-08-26 10:26:18 +02:00
..
aarch64 2015-08-24 Wilco Dijkstra <wdijkstr@arm.com> 2015-08-24 14:49:46 +01:00
alpha alpha: Update libm-test-ulps 2015-05-19 09:43:54 -07:00
arm Fix BZ #18084 -- backtrace (..., 0) dumps core on x86. 2015-08-15 11:42:43 -07:00
generic Factor file identity rules out of generic rtld code. 2015-07-14 13:15:26 -07:00
gnu hurd: fix unwind-resume.c build 2015-02-08 18:46:00 +01:00
hppa hppa: start.S: rework references to fix PIE TEXTRELs [BZ #18421] 2015-08-18 02:37:17 -04:00
i386 Remove the unused IFUNC files 2015-08-20 12:47:20 -07:00
ia64 ia64: atomic.h: fix atomic_exchange_and_add 64bit handling 2015-07-28 02:30:15 -04:00
ieee754 Fix uninitialized variable use in ldbl-128ibm nearbyintl. 2015-08-20 17:28:09 +00:00
init_array NPTL: Initializer for .init_array-only configurations. 2015-02-13 13:19:11 -08:00
m68k Fix BZ #18084 -- backtrace (..., 0) dumps core on x86. 2015-08-15 11:42:43 -07:00
mach PLT avoidance for _exit in rtld. 2015-07-09 15:25:47 -07:00
microblaze Fix BZ #18084 -- backtrace (..., 0) dumps core on x86. 2015-08-15 11:42:43 -07:00
mips Fix MIPS -Wundef warnings for __mips_isa_rev. 2015-08-18 21:52:22 +00:00
nacl NaCl: Call __nacl_main in preference to main. 2015-08-25 13:37:07 -07:00
nios2 Fixes extern protected data handling testcases elf/tst-protected1a 2015-07-26 05:27:18 -07:00
nptl Add and use new glibc-internal futex API. 2015-07-10 13:47:09 +02:00
posix Fix BZ #18086 -- nice resets errno to 0. 2015-08-11 23:40:00 -07:00
powerpc powerpc: Fix tabort usage in syscalls 2015-08-25 13:45:56 -03:00
pthread Use unsigned types for counters in AIO code. 2015-06-24 17:43:32 -07:00
s390 S390: Refactor ifunc implementations and enable ifunc-test-framework. 2015-08-26 10:26:18 +02:00
sh Replace ELF_RTYPE_CLASS_NOCOPY with ELF_RTYPE_CLASS_COPY 2015-03-05 08:40:41 -08:00
sparc Fix BZ #18084 -- backtrace (..., 0) dumps core on x86. 2015-08-15 11:42:43 -07:00
tile tilepro: fix warnings in sysdeps/tile/tilepro/bits/atomic.h 2015-08-04 12:07:53 -04:00
unix Don't run tst-getpid2 with LD_BIND_NOW=1 2015-08-25 11:37:44 -07:00
wordsize-32 Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
wordsize-64 Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
x86 Move x86_64 init-arch.h to sysdeps/x86/init-arch.h 2015-08-20 04:29:23 -07:00
x86_64 Use SSE2 optimized strcmp in x86-64 ld.so 2015-08-25 12:38:11 -07:00