about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--sysdeps/unix/sysv/linux/alpha/pt-vfork.S9
-rw-r--r--sysdeps/unix/sysv/linux/alpha/vfork.S11
3 files changed, 21 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 271e31d45d..a126a4ac5b 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 1d137365b2..18bf338b9f 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 0507d3523e..befcd78e60 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