glibc/sysdeps/arm/armv7/multiarch
Adhemerval Zanella 802c1f1645 arm: Implement memcpy ifunc selection in C
This patch refactor ARM memcpy ifunc selector to a C implementation.
No functional change is expected, including ifunc resolution rules.

It also adds some cleanup:

  - Internal memcpy hidden definition (__GI_memcpy) is now a hidden
    symbol.

  - No need to create hidden definition for the ifunc variants.

Checked on armv7-linux-gnueabihf and with a build for arm-linux-gnueabi,
arm-linux-gnueabihf with and without multiarch support and with both
GCC 7.1 and GCC mainline.  I also checked with the some possible
multiarch different configurations that trigger different memcpy
buids (__ARM_NEON__ && !__SOFT_FP__, !__ARM_NEON__ && !__SOFT_FP__, and
!__ARM_NEON__ && __SOFT_FP__).

	* sysdeps/arm/arm-ifunc.h: New file.
	* sysdeps/arm/armv7/multiarch/ifunc-memcpy.h: Likewise.
	* sysdeps/arm/armv7/multiarch/memcpy.c: Likewise.
	* sysdeps/arm/armv7/multiarch/memcpy_arm.S: Likewise.
	* sysdeps/arm/armv7/multiarch/rtld-memcpy.S: Likewise.
	* sysdeps/arm/armv7/multiarch/memcpy_neon.S [!__ARM_NEON__]
	(__memcpy_neon): Avoid create hidden alias.
	* sysdeps/arm/armv7/multiarch/memcpy_vfp.S [!__ARM_NEON_]
	(__memcpy_vfp): Likewise.
	* sysdeps/arm/armv7/multiarch/Makefile [$(subdir) = string]
	(sysdep_routines): Add memcpy_arm.
	* sysdeps/arm/armv7/multiarch/memcpy.S: Remove file.

Signed-off-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2017-11-06 17:37:57 -02:00
..
aeabi_memcpy.c
ifunc-impl-list.c [ARM] Optimise memchr for NEON-enabled processors 2017-06-27 15:43:50 +00:00
ifunc-memcpy.h arm: Implement memcpy ifunc selection in C 2017-11-06 17:37:57 -02:00
Makefile arm: Implement memcpy ifunc selection in C 2017-11-06 17:37:57 -02:00
memchr_impl.S [ARM] Optimise memchr for NEON-enabled processors 2017-06-27 15:43:50 +00:00
memchr_neon.S [ARM] Optimise memchr for NEON-enabled processors 2017-06-27 15:43:50 +00:00
memchr.S [ARM] Optimise memchr for NEON-enabled processors 2017-06-27 15:43:50 +00:00
memcpy_arm.S arm: Implement memcpy ifunc selection in C 2017-11-06 17:37:57 -02:00
memcpy_impl.S Remove sfi_* annotations from ARM assembly files. 2017-05-20 08:12:11 -04:00
memcpy_neon.S arm: Implement memcpy ifunc selection in C 2017-11-06 17:37:57 -02:00
memcpy_vfp.S arm: Implement memcpy ifunc selection in C 2017-11-06 17:37:57 -02:00
memcpy.c arm: Implement memcpy ifunc selection in C 2017-11-06 17:37:57 -02:00
rtld-memcpy.S arm: Implement memcpy ifunc selection in C 2017-11-06 17:37:57 -02:00