This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[COMMITTED] alpha: Do non-default symbols in pt-vfork.S
- From: Richard Henderson <rth at twiddle dot net>
- To: libc-alpha at sourceware dot org
- Date: Sun, 25 May 2014 09:01:30 -0700
- Subject: [COMMITTED] alpha: Do non-default symbols in pt-vfork.S
- Authentication-results: sourceware.org; auth=none
Match up with the generic changes from Friday.
r~
---
ChangeLog | 7 +++++++
sysdeps/unix/sysv/linux/alpha/pt-vfork.S | 9 +++++++++
sysdeps/unix/sysv/linux/alpha/vfork.S | 11 +++++------
3 files changed, 21 insertions(+), 6 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 271e31d..a126a4a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2014-05-25 Richard Henderson <rth@twiddle.net>
+
+ * sysdeps/unix/sysv/linux/alpha/vfork.S (vfork, __vfork): Only
+ define if !NOT_IN_libc.
+ * sysdeps/unix/sysv/linux/alpha/pt-vfork.S (vfork, __vfork): Only
+ define with non-default symbol versions.
+
2014-05-23 Richard Henderson <rth@twiddle.net>
* nptl/pt-vfork.c (vfork_resolve): Rename from vfork_ifunc.
diff --git a/sysdeps/unix/sysv/linux/alpha/pt-vfork.S b/sysdeps/unix/sysv/linux/alpha/pt-vfork.S
index 1d13736..18bf338 100644
--- a/sysdeps/unix/sysv/linux/alpha/pt-vfork.S
+++ b/sysdeps/unix/sysv/linux/alpha/pt-vfork.S
@@ -32,3 +32,12 @@
#include <vfork.S>
#endif
+
+#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_20)
+compat_symbol (libpthread, __libc_vfork, vfork, GLIBC_2_0);
+#endif
+
+#if SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_20)
+strong_alias (__libc_vfork, __vfork_compat)
+compat_symbol (libpthread, __vfork_compat, __vfork, GLIBC_2_1_2);
+#endif
diff --git a/sysdeps/unix/sysv/linux/alpha/vfork.S b/sysdeps/unix/sysv/linux/alpha/vfork.S
index 0507d35..befcd78 100644
--- a/sysdeps/unix/sysv/linux/alpha/vfork.S
+++ b/sysdeps/unix/sysv/linux/alpha/vfork.S
@@ -18,7 +18,7 @@
#include <sysdep.h>
#include <tcb-offsets.h>
-ENTRY(__vfork)
+ENTRY(__libc_vfork)
PSEUDO_PROLOGUE
/* Load the thread pointer value in A1 across the vfork. */
@@ -47,11 +47,10 @@ ENTRY(__vfork)
bne a3, SYSCALL_ERROR_LABEL
ret
-PSEUDO_END (__vfork)
-libc_hidden_def (__vfork)
-
-weak_alias (__vfork, vfork)
+PSEUDO_END (__libc_vfork)
#if !NOT_IN_libc
-strong_alias (__vfork, __libc_vfork)
+weak_alias (__libc_vfork, vfork)
+strong_alias (__libc_vfork, __vfork)
+libc_hidden_def (__vfork)
#endif
--
1.9.0