[PATCH] S390: Get rid of linknamespace failures for string functions.

Stefan Liebler stli@linux.vnet.ibm.com
Wed Jan 14 12:21:00 GMT 2015


Hi,

i get the following linknamespace-testsuite failures on s390-32/s390-64:

FAIL: conform/ISO/string.h/linknamespace
FAIL: conform/ISO11/string.h/linknamespace
FAIL: conform/ISO99/string.h/linknamespace
FAIL: conform/POSIX/string.h/linknamespace
FAIL: conform/POSIX2008/string.h/linknamespace
FAIL: conform/UNIX98/string.h/linknamespace
FAIL: conform/UNIX98/strings.h/linknamespace
FAIL: conform/XOPEN2K/string.h/linknamespace
FAIL: conform/XOPEN2K/strings.h/linknamespace
FAIL: conform/XOPEN2K8/string.h/linknamespace
FAIL: conform/XPG3/string.h/linknamespace
FAIL: conform/XPG4/string.h/linknamespace
FAIL: conform/XPG4/strings.h/linknamespace
[initial] memcmp -> [libc.a(ifunc-resolve.o)] memcmp_z10
[initial] memcmp -> [libc.a(ifunc-resolve.o)] memcmp_z196
[initial] memcmp -> [libc.a(ifunc-resolve.o)] memcmp_z900
[initial] memcpy -> [libc.a(memcpy.o)] memcpy_mvcle
[initial] memcpy -> [libc.a(memcpy.o)] memcpy_z900
[initial] memcmp -> [libc.a(ifunc-resolve.o)] memset_z10 -> 
[libc.a(memset.o)] memset_mvcle
[initial] memcmp -> [libc.a(ifunc-resolve.o)] memset_z10
[initial] memcmp -> [libc.a(ifunc-resolve.o)] memset_z196
[initial] memcmp -> [libc.a(ifunc-resolve.o)] memset_z900
[initial] memcmp -> [libc.a(ifunc-resolve.o)] resolve_memcmp
[initial] memcmp -> [libc.a(ifunc-resolve.o)] resolve_memset
conform/ISO/string.h/linknamespace.out (END)

There exists multiple functions for memcpy, memset, memcmp.
For those the ifunc-resolver-function and each specific function
pollutes the namespace.

This patch prefixes the ifunc-resolvers, the specific functions
and helper functions with '__' on s390-32/s390-64.

The mentioned testsuite-failures are passing now
and there are no new failures.

Ok to commit?

Bye
Stefan

---
2015-01-14  Stefan Liebler  <stli@linux.vnet.ibm.com>

	* sysdeps/s390/s390-32/memcmp.S
	(memcmp_g5): Rename to __memcmp_g5.
	* sysdeps/s390/s390-32/memcpy.S
	(memcpy_g5): Rename to __memcpy_g5.
	Jump to __memcpy_mvcle instead of memcpy_mvcle.
	(memcpy_mvcle) Rename to __memcpy_mvcle.
	* sysdeps/s390/s390-32/memset.S
	(memset_g5): Rename to __memset_g5.
	* sysdeps/s390/s390-32/multiarch/ifunc-resolve.c
	(IFUNC_RESOLVE): Prefix ifunc-resolve function
	and use prefixed functions.
	* sysdeps/s390/s390-32/multiarch/memcmp.S
	(memcmp_z196): Rename to __memcmp_z196.
	(memcmp_z10): Rename to __memcmp_z10.
	(memcmp): Set alias to __memcmp_g5.
	(bcmp): Set alias to __memcmp_g5.
	* sysdeps/s390/s390-32/multiarch/memcpy.S
	(memcpy_z196): Rename to __memcpy_z196.
	Jump to __memcpy_mvcle instead of memcpy_mvcle.
	(memcpy_z10): Rename to __memcpy_z10.
	Jump to __memcpy_mvcle instead of memcpy_mvcle.
	(memcpy): Set alias to __memcpy_g5.
	* sysdeps/s390/s390-32/multiarch/memset.S
	(memset_z196): Rename to __memset_z196.
	Jump to __memset_mvcle instead of memset_mvcle.
	(memset_z10): Rename to __memset_z10.
	Jump to __memset_mvcle instead of memset_mvcle.
	(memset_mvcle) Rename to __memset_mvcle.
	(memset): Set alias to __memset_g5.
	* sysdeps/s390/s390-64/memcmp.S
	(memcmp_z900): Rename to __memcmp_z900.
	* sysdeps/s390/s390-64/memcpy.S
	(memcpy_z900): Rename to __memcpy_z900.
	Jump to __memcpy_mvcle instead of memcpy_mvcle.
	(memcpy_mvcle) Rename to __memcpy_mvcle.
	* sysdeps/s390/s390-64/memset.S
	(memset_z900): Rename to __memset_z900.
	* sysdeps/s390/s390-64/multiarch/ifunc-resolve.c
	(IFUNC_RESOLVE): Prefix ifunc-resolve function
	and use prefixed functions.
	* sysdeps/s390/s390-64/multiarch/memcmp.S
	(memcmp_z196): Rename to __memcmp_z196.
	(memcmp_z10): Rename to __memcmp_z10.
	(memcmp): Set alias to __memcmp_z900.
	(bcmp): Set alias to __memcmp_z900.
	* sysdeps/s390/s390-64/multiarch/memcpy.S
	(memcpy_z196): Rename to __memcpy_z196.
	Jump to __memcpy_mvcle instead of memcpy_mvcle.
	(memcpy_z10): Rename to __memcpy_z10.
	Jump to __memcpy_mvcle instead of memcpy_mvcle.
	(memcpy): Set alias to __memcpy_z900.
	* sysdeps/s390/s390-64/multiarch/memset.S
	(memset_z196): Rename to __memset_z196.
	Jump to __memset_mvcle instead of memset_mvcle.
	(memset_z10): Rename to __memset_z10.
	Jump to __memset_mvcle instead of memset_mvcle.
	(memset_mvcle) Rename to __memset_mvcle.
	(memset): Set alias to __memset_z900.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: glibc_ifunc_string_functions_20150114.patch
Type: text/x-patch
Size: 16517 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20150114/89cdcb0d/attachment.bin>


More information about the Libc-alpha mailing list