aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2014-05-25 09:04:54 -0700
committerRichard Henderson <rth@twiddle.net>2014-05-25 09:04:54 -0700
commit82aab97cbf74d03ff7eab70f918548e14fe0a370 (patch)
treeb8d4ef8b3e7c156a5f533a991a1e5b0820ef23b1
parent900e445fad9bf301a42c0d0008cce504ad94050e (diff)
downloadglibc-82aab97cbf74d03ff7eab70f918548e14fe0a370.zip
glibc-82aab97cbf74d03ff7eab70f918548e14fe0a370.tar.gz
glibc-82aab97cbf74d03ff7eab70f918548e14fe0a370.tar.bz2
alpha: Do non-default symbols in pt-vfork.S
-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 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