[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