[COMMITTED] alpha: Do non-default symbols in pt-vfork.S

Message ID 1401033690-23110-1-git-send-email-rth@twiddle.net
State Committed
Headers

Commit Message

Richard Henderson May 25, 2014, 4:01 p.m. UTC
  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(-)
  

Patch

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