S390: Use new s390_libc_ifunc_expr macro in s390 8bit-generic.c

System Internals / glibc - Stefan Liebler [linux.vnet.ibm.com] - 21 April 2017 09:30 EDT

This patch adds s390_libc_ifunc_expr macro which uses the __ifunc base macro in include/libc-symbols.h and lets the user define a generic expression to choose the correct ifunc variant. Furthermore as the base macro is used, the ifunc resolver functions are now also using inhibit_stack_protector. S390 needs its own version due to the hwcap argument of the ifunc resolver.

This new macro is now used in iconv code in 8bit-generic.c instead of using gcc attribute ifunc directly.


- sysdeps/s390/multiarch/ifunc-resolve.h (s390_libc_ifunc_expr_init, s390_libc_ifunc_expr): New Define.
- sysdeps/s390/multiarch/8bit-generic.c (__to_generic, __from_generic): Use s390_libc_ifunc_expr to define ifunc resolvers.

51213e2 S390: Use new s390_libc_ifunc_expr macro in s390 8bit-generic.c.
ChangeLog | 8 +++++++
sysdeps/s390/multiarch/8bit-generic.c | 41 ++++++++++------------------------
sysdeps/s390/multiarch/ifunc-resolve.h | 5 +++++
3 files changed, 25 insertions(+), 29 deletions(-)

Upstream: sourceware.org

  • Share