This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH v2 7/9] Use libc_ifunc macro for system in libpthread.
- From: Stefan Liebler <stli at linux dot vnet dot ibm dot com>
- To: libc-alpha at sourceware dot org
- Cc: stli at linux dot vnet dot ibm dot com, fweimer at redhat dot com, murphyp at linux dot vnet dot ibm dot com, schwab at linux-m68k dot org, joseph_myers at mentor dot com
- Date: Mon, 8 Aug 2016 16:39:03 +0200
- Subject: [PATCH v2 7/9] Use libc_ifunc macro for system in libpthread.
- Authentication-results: sourceware.org; auth=none
- References: <1470667145-18563-1-git-send-email-stli@linux.vnet.ibm.com>
This patch uses the libc_ifunc macro to create already existing ifunc function
system_ifunc if HAVE_IFUNC is defined.
ChangeLog:
* nptl/pt-system.c (system_ifunc): Use libc_ifunc macro.
---
nptl/pt-system.c | 19 ++++---------------
1 file changed, 4 insertions(+), 15 deletions(-)
diff --git a/nptl/pt-system.c b/nptl/pt-system.c
index 56f2a89..cc415da 100644
--- a/nptl/pt-system.c
+++ b/nptl/pt-system.c
@@ -32,21 +32,10 @@
# if HAVE_IFUNC
-static __typeof (system) *
-__attribute__ ((used))
-system_resolve (void)
-{
- return &__libc_system;
-}
-
-asm (".globl system_ifunc\n"
- ".type system_ifunc, %gnu_indirect_function");
-
-# ifdef HAVE_ASM_SET_DIRECTIVE
-asm (".set system_ifunc, system_resolve");
-# else
-asm ("system_ifunc = system_resolve");
-# endif
+extern __typeof(system) system_ifunc;
+# undef INIT_ARCH
+# define INIT_ARCH()
+libc_ifunc (system_ifunc, &__libc_system)
# else /* !HAVE_IFUNC */
--
2.5.5