This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.19-465-gbc89e96


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  bc89e9625fc0d638c4bb43c91fac01db181f1b31 (commit)
       via  e2fa4bc2bbba75a8244d11da46ab2154e22cdabd (commit)
       via  279b24e2e5207f568d2d47b856f2227d884efd11 (commit)
       via  132c7f5f01fe17f3161be7d03c7b1f07ae46b98b (commit)
      from  b72592e75fdecb34e2ac5f931730409a1fb68e8a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=bc89e9625fc0d638c4bb43c91fac01db181f1b31

commit bc89e9625fc0d638c4bb43c91fac01db181f1b31
Author: Richard Henderson <rth@twiddle.net>
Date:   Thu May 22 08:51:13 2014 -0700

    alpha: Move remaining files out of sysdeps/unix/sysv/linux/alpha/nptl/

diff --git a/ChangeLog b/ChangeLog
index faee2f5..4a53317 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,67 @@
 2014-05-23  Richard Henderson  <rth@twiddle.net>
 
+	* sysdeps/unix/sysv/linux/alpha/nptl/Makefile: Merge into...
+	* sysdeps/unix/sysv/linux/alpha/Makefile: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/Versions: Merge into...
+	* sysdeps/unix/sysv/linux/alpha/Versions: ... here.
+
+	* sysdeps/unix/sysv/linux/alpha/nptl/aio_cancel.c: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/aio_cancel.c: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/bits/local_lim.h: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/bits/local_lim.h: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/bits/pthreadtypes.h: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/bits/semaphore.h: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/bits/semaphore.h: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/c++-types.data: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/c++-types.data: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/createthread.c: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/createthread.c: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/ld.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/ld.abilist: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/libBrokenLocale.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/libBrokenLocale.abilist: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/libanl.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/libanl.abilist: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/libc.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/libc.abilist: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/libcrypt.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/libcrypt.abilist: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/libdl.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/libdl.abilist: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/libm.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/libm.abilist: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/libnsl.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/libnsl.abilist: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/libpthread.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/libpthread.abilist: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/libresolv.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/libresolv.abilist: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/librt.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/librt.abilist: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/libthread_db.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/libthread_db.abilist: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/libutil.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/libutil.abilist: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/localplt.data: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/localplt.data: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/lowlevellock.h: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/lowlevellock.h: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/sem_post.c: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/sem_post.c: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/sysdep-cancel.h: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/timer_create.c: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/timer_create.c: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/timer_delete.c: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/timer_delete.c: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/timer_getoverr.c: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/timer_getoverr.c: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/timer_gettime.c: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/timer_gettime.c: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/timer_settime.c: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/timer_settime.c: ... here.
+
 	* sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove vfork.
 	* sysdeps/unix/sysv/linux/alpha/nptl/vfork.S: Move file ...
 	* sysdeps/unix/sysv/linux/alpha/vfork.S: ... here.  Restore PID
diff --git a/sysdeps/unix/sysv/linux/alpha/Makefile b/sysdeps/unix/sysv/linux/alpha/Makefile
index 9676fee..3769bef 100644
--- a/sysdeps/unix/sysv/linux/alpha/Makefile
+++ b/sysdeps/unix/sysv/linux/alpha/Makefile
@@ -37,3 +37,8 @@ ifeq ($(subdir),math)
 # Provide these routines here as well.
 libm-routines += multc3 divtc3
 endif   # math
+
+ifeq ($(subdir),nptl)
+# pull in __syscall_error routine, __sigprocmask, __syscall_rt_sigaction
+libpthread-routines += ptw-sysdep ptw-sigprocmask ptw-rt_sigaction
+endif
diff --git a/sysdeps/unix/sysv/linux/alpha/Versions b/sysdeps/unix/sysv/linux/alpha/Versions
index b3cec3a..29b82f9 100644
--- a/sysdeps/unix/sysv/linux/alpha/Versions
+++ b/sysdeps/unix/sysv/linux/alpha/Versions
@@ -94,9 +94,20 @@ ld {
     __libc_alpha_cache_shape;
   }
 }
+libpthread {
+  GLIBC_2.3.3 {
+    # Changed PTHREAD_STACK_MIN.
+    pthread_attr_setstack; pthread_attr_setstacksize;
+  }
+}
 librt {
   GLIBC_2.3 {
     # AIO functions.
     aio_cancel; aio_cancel64;
   }
+  GLIBC_2.3.3 {
+    # Changed timer_t.
+    timer_create; timer_delete; timer_getoverrun; timer_gettime;
+    timer_settime;
+  }
 }
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/aio_cancel.c b/sysdeps/unix/sysv/linux/alpha/aio_cancel.c
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/aio_cancel.c
rename to sysdeps/unix/sysv/linux/alpha/aio_cancel.c
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/bits/local_lim.h b/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/bits/local_lim.h
rename to sysdeps/unix/sysv/linux/alpha/bits/local_lim.h
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/bits/pthreadtypes.h b/sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/bits/pthreadtypes.h
rename to sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/bits/semaphore.h b/sysdeps/unix/sysv/linux/alpha/bits/semaphore.h
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/bits/semaphore.h
rename to sysdeps/unix/sysv/linux/alpha/bits/semaphore.h
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/c++-types.data b/sysdeps/unix/sysv/linux/alpha/c++-types.data
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/c++-types.data
rename to sysdeps/unix/sysv/linux/alpha/c++-types.data
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/createthread.c b/sysdeps/unix/sysv/linux/alpha/createthread.c
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/createthread.c
rename to sysdeps/unix/sysv/linux/alpha/createthread.c
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/ld.abilist b/sysdeps/unix/sysv/linux/alpha/ld.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/ld.abilist
rename to sysdeps/unix/sysv/linux/alpha/ld.abilist
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/libBrokenLocale.abilist b/sysdeps/unix/sysv/linux/alpha/libBrokenLocale.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/libBrokenLocale.abilist
rename to sysdeps/unix/sysv/linux/alpha/libBrokenLocale.abilist
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/libanl.abilist b/sysdeps/unix/sysv/linux/alpha/libanl.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/libanl.abilist
rename to sysdeps/unix/sysv/linux/alpha/libanl.abilist
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/libc.abilist
rename to sysdeps/unix/sysv/linux/alpha/libc.abilist
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/libcrypt.abilist b/sysdeps/unix/sysv/linux/alpha/libcrypt.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/libcrypt.abilist
rename to sysdeps/unix/sysv/linux/alpha/libcrypt.abilist
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/libdl.abilist b/sysdeps/unix/sysv/linux/alpha/libdl.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/libdl.abilist
rename to sysdeps/unix/sysv/linux/alpha/libdl.abilist
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/libm.abilist
rename to sysdeps/unix/sysv/linux/alpha/libm.abilist
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/libnsl.abilist b/sysdeps/unix/sysv/linux/alpha/libnsl.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/libnsl.abilist
rename to sysdeps/unix/sysv/linux/alpha/libnsl.abilist
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/libpthread.abilist
rename to sysdeps/unix/sysv/linux/alpha/libpthread.abilist
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/libresolv.abilist b/sysdeps/unix/sysv/linux/alpha/libresolv.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/libresolv.abilist
rename to sysdeps/unix/sysv/linux/alpha/libresolv.abilist
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/librt.abilist b/sysdeps/unix/sysv/linux/alpha/librt.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/librt.abilist
rename to sysdeps/unix/sysv/linux/alpha/librt.abilist
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/libthread_db.abilist b/sysdeps/unix/sysv/linux/alpha/libthread_db.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/libthread_db.abilist
rename to sysdeps/unix/sysv/linux/alpha/libthread_db.abilist
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/libutil.abilist b/sysdeps/unix/sysv/linux/alpha/libutil.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/libutil.abilist
rename to sysdeps/unix/sysv/linux/alpha/libutil.abilist
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/localplt.data b/sysdeps/unix/sysv/linux/alpha/localplt.data
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/localplt.data
rename to sysdeps/unix/sysv/linux/alpha/localplt.data
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/lowlevellock.h b/sysdeps/unix/sysv/linux/alpha/lowlevellock.h
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/lowlevellock.h
rename to sysdeps/unix/sysv/linux/alpha/lowlevellock.h
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/Makefile b/sysdeps/unix/sysv/linux/alpha/nptl/Makefile
deleted file mode 100644
index 8c80840..0000000
--- a/sysdeps/unix/sysv/linux/alpha/nptl/Makefile
+++ /dev/null
@@ -1,2 +0,0 @@
-# pull in __syscall_error routine, __sigprocmask, __syscall_rt_sigaction
-libpthread-routines += ptw-sysdep ptw-sigprocmask ptw-rt_sigaction
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/Versions b/sysdeps/unix/sysv/linux/alpha/nptl/Versions
deleted file mode 100644
index 437c4da..0000000
--- a/sysdeps/unix/sysv/linux/alpha/nptl/Versions
+++ /dev/null
@@ -1,13 +0,0 @@
-libpthread {
-  GLIBC_2.3.3 {
-    # Changed PTHREAD_STACK_MIN.
-    pthread_attr_setstack; pthread_attr_setstacksize;
-  }
-}
-librt {
-  GLIBC_2.3.3 {
-    # Changed timer_t.
-    timer_create; timer_delete; timer_getoverrun; timer_gettime;
-    timer_settime;
-  }
-}
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/sem_post.c b/sysdeps/unix/sysv/linux/alpha/sem_post.c
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/sem_post.c
rename to sysdeps/unix/sysv/linux/alpha/sem_post.c
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/sysdep-cancel.h b/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/sysdep-cancel.h
rename to sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/timer_create.c b/sysdeps/unix/sysv/linux/alpha/timer_create.c
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/timer_create.c
rename to sysdeps/unix/sysv/linux/alpha/timer_create.c
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/timer_delete.c b/sysdeps/unix/sysv/linux/alpha/timer_delete.c
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/timer_delete.c
rename to sysdeps/unix/sysv/linux/alpha/timer_delete.c
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/timer_getoverr.c b/sysdeps/unix/sysv/linux/alpha/timer_getoverr.c
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/timer_getoverr.c
rename to sysdeps/unix/sysv/linux/alpha/timer_getoverr.c
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/timer_gettime.c b/sysdeps/unix/sysv/linux/alpha/timer_gettime.c
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/timer_gettime.c
rename to sysdeps/unix/sysv/linux/alpha/timer_gettime.c
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/timer_settime.c b/sysdeps/unix/sysv/linux/alpha/timer_settime.c
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/timer_settime.c
rename to sysdeps/unix/sysv/linux/alpha/timer_settime.c

http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=e2fa4bc2bbba75a8244d11da46ab2154e22cdabd

commit e2fa4bc2bbba75a8244d11da46ab2154e22cdabd
Author: Richard Henderson <rth@twiddle.net>
Date:   Wed May 21 20:31:38 2014 -0700

    alpha: Consolidate NPTL/non versions of vfork

diff --git a/ChangeLog b/ChangeLog
index 83b3599..faee2f5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2014-05-23  Richard Henderson  <rth@twiddle.net>
 
+	* sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove vfork.
+	* sysdeps/unix/sysv/linux/alpha/nptl/vfork.S: Move file ...
+	* sysdeps/unix/sysv/linux/alpha/vfork.S: ... here.  Restore PID
+	before exiting on error.
+	(__libc_vfork): New strong alias.
+	* sysdeps/unix/sysv/linux/alpha/nptl/pt-vfork.S: Remove file.
+	* sysdeps/unix/sysv/linux/alpha/pt-vfork.S: New file.
+
 	* sysdeps/unix/sysv/linux/alpha/clone.S: Deconditionalize the code
 	that was previously under [RESET_PID].
 	* sysdeps/unix/sysv/linux/alpha/nptl/clone.S: File removed.
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/pt-vfork.S b/sysdeps/unix/sysv/linux/alpha/nptl/pt-vfork.S
deleted file mode 100644
index 769826e..0000000
--- a/sysdeps/unix/sysv/linux/alpha/nptl/pt-vfork.S
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright (C) 2003-2014 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <sysdep.h>
-#include <tcb-offsets.h>
-
-#undef PSEUDO_PREPARE_ARGS
-#define PSEUDO_PREPARE_ARGS						\
-	/* Load the current cached pid value across the vfork.  */	\
-	rduniq;								\
-	ldl	a2, PID_OFFSET(v0);					\
-	mov	v0, a1;							\
-	/* Write back its negation, to indicate that the pid value is	\
-	   uninitialized in the child, and in the window between	\
-	   here and the point at which we restore the value.  */	\
-	negl	a2, t0;							\
-	stl	t0, PID_OFFSET(v0);
-
-PSEUDO (__vfork, vfork, 0)
-
-	/* If we're back in the parent, restore the saved pid.  */
-	beq	v0, 1f
-	stl	a2, PID_OFFSET(a1)
-1:	ret
-
-PSEUDO_END (__vfork)
-
-weak_alias (__vfork, vfork)
diff --git a/sysdeps/unix/sysv/linux/alpha/pt-vfork.S b/sysdeps/unix/sysv/linux/alpha/pt-vfork.S
new file mode 100644
index 0000000..1d13736
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/alpha/pt-vfork.S
@@ -0,0 +1,34 @@
+/* vfork ABI-compatibility entry points for libpthread.
+   Copyright (C) 2014 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <shlib-compat.h>
+
+/* libpthread used to have its own vfork implementation that differed
+   from libc's only in having a pointless micro-optimization.  There
+   is no longer any use to having a separate copy in libpthread, but
+   the historical ABI requires it.  For static linking, there is no
+   need to provide anything here--the libc version will be linked in.
+   For shared library ABI compatibility, there must be __vfork and
+   vfork symbols in libpthread.so.  */
+
+#if (SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_20) \
+     || SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_20))
+
+#include <vfork.S>
+
+#endif
diff --git a/sysdeps/unix/sysv/linux/alpha/syscalls.list b/sysdeps/unix/sysv/linux/alpha/syscalls.list
index 319ca90..cad1fc3 100644
--- a/sysdeps/unix/sysv/linux/alpha/syscalls.list
+++ b/sysdeps/unix/sysv/linux/alpha/syscalls.list
@@ -14,7 +14,6 @@ semget		-	semget		i:iii	__semget	semget
 oldsemctl	EXTRA	semctl		i:iiii	__old_semctl	semctl@GLIBC_2.0
 
 sigstack	-	sigstack	2	sigstack
-vfork		-	vfork		0	__vfork		vfork
 
 getpriority	-	getpriority	i:ii	__getpriority	getpriority
 
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/vfork.S b/sysdeps/unix/sysv/linux/alpha/vfork.S
similarity index 56%
rename from sysdeps/unix/sysv/linux/alpha/nptl/vfork.S
rename to sysdeps/unix/sysv/linux/alpha/vfork.S
index 083b341..0507d35 100644
--- a/sysdeps/unix/sysv/linux/alpha/nptl/vfork.S
+++ b/sysdeps/unix/sysv/linux/alpha/vfork.S
@@ -18,28 +18,40 @@
 #include <sysdep.h>
 #include <tcb-offsets.h>
 
-#undef PSEUDO_PREPARE_ARGS
-#define PSEUDO_PREPARE_ARGS						\
-	/* Load the current cached pid value across the vfork.  */	\
-	rduniq;								\
-	ldl	a2, PID_OFFSET(v0);					\
-	mov	v0, a1;							\
-	/* If the cached value is initialized (nonzero), then write	\
-	   back its negation, or INT_MIN, to indicate that the pid	\
-	   value is uninitialized in the child, and in the window	\
-	   between here and the point at which we restore the value.  */ \
-	ldah	t0, -0x8000;						\
-	negl	a2, t1;							\
-	cmovne	a2, t1, t0;						\
+ENTRY(__vfork)
+	PSEUDO_PROLOGUE
+
+	/* Load the thread pointer value in A1 across the vfork.  */
+	rduniq
+	mov	v0, a1
+
+	/* Save the TCB-cached PID away in A2, and then negate the TCB
+           field.  But if it's zero, set it to 0x80000000 instead.  See
+           raise.c for the logic that relies on this value.  */
+	ldl	a2, PID_OFFSET(v0)
+	ldah	t0, -0x8000
+	negl	a2, t1
+	cmovne	a2, t1, t0
 	stl	t0, PID_OFFSET(v0);
 
-PSEUDO (__vfork, vfork, 0)
+	lda	v0, SYS_ify(vfork)
+	call_pal PAL_callsys
 
-	/* If we're back in the parent, restore the saved pid.  */
+	/* Restore the original value of the TCB cache of the PID, if we're
+	   the parent.  But in the child (syscall return value equals zero),
+	   leave things as they are.  */
 	beq	v0, 1f
 	stl	a2, PID_OFFSET(a1)
-1:	ret
+1:
+	/* Normal error check and return.  */
+	bne	a3, SYSCALL_ERROR_LABEL
+	ret
 
 PSEUDO_END (__vfork)
 libc_hidden_def (__vfork)
+
 weak_alias (__vfork, vfork)
+
+#if !NOT_IN_libc
+strong_alias (__vfork, __libc_vfork)
+#endif

http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=279b24e2e5207f568d2d47b856f2227d884efd11

commit 279b24e2e5207f568d2d47b856f2227d884efd11
Author: Richard Henderson <rth@twiddle.net>
Date:   Wed May 21 14:36:45 2014 -0700

    alpha: Merge standard and nptl clone.S

diff --git a/ChangeLog b/ChangeLog
index 689613e..83b3599 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2014-05-23  Richard Henderson  <rth@twiddle.net>
 
+	* sysdeps/unix/sysv/linux/alpha/clone.S: Deconditionalize the code
+	that was previously under [RESET_PID].
+	* sysdeps/unix/sysv/linux/alpha/nptl/clone.S: File removed.
+
 	* sysdeps/unix/sysv/linux/alpha/nptl/fork.c: Remove file.
 
 2014-05-23  Joseph Myers  <joseph@codesourcery.com>
diff --git a/sysdeps/unix/sysv/linux/alpha/clone.S b/sysdeps/unix/sysv/linux/alpha/clone.S
index c5c3300..f4e2e1c 100644
--- a/sysdeps/unix/sysv/linux/alpha/clone.S
+++ b/sysdeps/unix/sysv/linux/alpha/clone.S
@@ -57,9 +57,7 @@ __clone:
 	subq	a1, 32, a1
 	stq	a0, 0(a1)
 	stq	a3, 8(a1)
-#ifdef RESET_PID
 	stq	a2, 16(a1)
-#endif
 
 	/* The syscall is of the form clone(flags, usp, ptid, ctid, tls).
 	   Shift the flags, ptid, ctid, tls arguments into place; the
@@ -86,6 +84,7 @@ PSEUDO_END(__clone)
    its own function so that we can terminate the stack trace with our
    debug info.  */
 
+	.align	4
 	.ent thread_start
 	cfi_startproc
 thread_start:
@@ -93,14 +92,12 @@ thread_start:
 	cfi_def_cfa_register(fp)
 	cfi_undefined(ra)
 
-#ifdef RESET_PID
 	/* Check and see if we need to reset the PID.  */
 	ldq	t0, 16(sp)
 	lda	t1, CLONE_THREAD
 	and	t0, t1, t2
 	beq	t2, 2f
 1:
-#endif
 
 	/* Load up the arguments.  */
 	ldq	pv, 0(sp)
@@ -120,9 +117,10 @@ thread_start:
 #endif
 
 	/* Die horribly.  */
+	.align	4
 	halt
 
-#ifdef RESET_PID
+	.align	4
 2:
 	rduniq
 	lda	t1, CLONE_VM
@@ -136,7 +134,6 @@ thread_start:
 	stl	v0, PID_OFFSET(s0)
 	stl	v0, TID_OFFSET(s0)
 	br	1b
-#endif
 	cfi_endproc
 	.end thread_start
 
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/clone.S b/sysdeps/unix/sysv/linux/alpha/nptl/clone.S
deleted file mode 100644
index 675a997..0000000
--- a/sysdeps/unix/sysv/linux/alpha/nptl/clone.S
+++ /dev/null
@@ -1,9 +0,0 @@
-/* We want an #include_next, but we are the main source file.
-   So, #include ourselves and in that incarnation we can use #include_next.  */
-#ifndef INCLUDED_SELF
-# define INCLUDED_SELF
-# include <clone.S>
-#else
-# define RESET_PID
-# include_next <clone.S>
-#endif

http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=132c7f5f01fe17f3161be7d03c7b1f07ae46b98b

commit 132c7f5f01fe17f3161be7d03c7b1f07ae46b98b
Author: Richard Henderson <rth@twiddle.net>
Date:   Wed May 21 11:58:13 2014 -0700

    alpha: Remove nptl/fork.c
    
    The merge at ab21431318d99c94e644606dee1e6a4545d98007 failed
    to properly remove the file.

diff --git a/ChangeLog b/ChangeLog
index c035c9f..689613e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2014-05-23  Richard Henderson  <rth@twiddle.net>
+
+	* sysdeps/unix/sysv/linux/alpha/nptl/fork.c: Remove file.
+
 2014-05-23  Joseph Myers  <joseph@codesourcery.com>
 
 	[BZ #16977]
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/fork.c b/sysdeps/unix/sysv/linux/alpha/nptl/fork.c
deleted file mode 100644
index 72ea3cc..0000000
--- a/sysdeps/unix/sysv/linux/alpha/nptl/fork.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright (C) 2003-2014 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <sched.h>
-#include <signal.h>
-#include <sysdep.h>
-#include <tls.h>
-
-
-#define ARCH_FORK()							\
-  INLINE_SYSCALL (clone, 5,						\
-		  CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD,	\
-		  NULL, NULL, &THREAD_SELF->tid, NULL)
-
-#include <sysdeps/unix/sysv/linux/fork.c>

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |   78 ++++++++++++++++++++
 sysdeps/unix/sysv/linux/alpha/Makefile             |    5 +
 sysdeps/unix/sysv/linux/alpha/Versions             |   11 +++
 .../unix/sysv/linux/alpha/{nptl => }/aio_cancel.c  |    0
 .../sysv/linux/alpha/{nptl => }/bits/local_lim.h   |    0
 .../linux/alpha/{nptl => }/bits/pthreadtypes.h     |    0
 .../sysv/linux/alpha/{nptl => }/bits/semaphore.h   |    0
 .../sysv/linux/alpha/{nptl => }/c++-types.data     |    0
 sysdeps/unix/sysv/linux/alpha/clone.S              |    9 +--
 .../sysv/linux/alpha/{nptl => }/createthread.c     |    0
 .../unix/sysv/linux/alpha/{nptl => }/ld.abilist    |    0
 .../linux/alpha/{nptl => }/libBrokenLocale.abilist |    0
 .../sysv/linux/alpha/{nptl => }/libanl.abilist     |    0
 .../unix/sysv/linux/alpha/{nptl => }/libc.abilist  |    0
 .../sysv/linux/alpha/{nptl => }/libcrypt.abilist   |    0
 .../unix/sysv/linux/alpha/{nptl => }/libdl.abilist |    0
 .../unix/sysv/linux/alpha/{nptl => }/libm.abilist  |    0
 .../sysv/linux/alpha/{nptl => }/libnsl.abilist     |    0
 .../sysv/linux/alpha/{nptl => }/libpthread.abilist |    0
 .../sysv/linux/alpha/{nptl => }/libresolv.abilist  |    0
 .../unix/sysv/linux/alpha/{nptl => }/librt.abilist |    0
 .../linux/alpha/{nptl => }/libthread_db.abilist    |    0
 .../sysv/linux/alpha/{nptl => }/libutil.abilist    |    0
 .../unix/sysv/linux/alpha/{nptl => }/localplt.data |    0
 .../sysv/linux/alpha/{nptl => }/lowlevellock.h     |    0
 sysdeps/unix/sysv/linux/alpha/nptl/Makefile        |    2 -
 sysdeps/unix/sysv/linux/alpha/nptl/Versions        |   13 ---
 sysdeps/unix/sysv/linux/alpha/nptl/clone.S         |    9 --
 sysdeps/unix/sysv/linux/alpha/nptl/fork.c          |   29 -------
 sysdeps/unix/sysv/linux/alpha/nptl/pt-vfork.S      |   42 -----------
 .../sysv/linux/alpha/pt-vfork.S}                   |   29 ++++----
 .../unix/sysv/linux/alpha/{nptl => }/sem_post.c    |    0
 sysdeps/unix/sysv/linux/alpha/syscalls.list        |    1 -
 .../sysv/linux/alpha/{nptl => }/sysdep-cancel.h    |    0
 .../sysv/linux/alpha/{nptl => }/timer_create.c     |    0
 .../sysv/linux/alpha/{nptl => }/timer_delete.c     |    0
 .../sysv/linux/alpha/{nptl => }/timer_getoverr.c   |    0
 .../sysv/linux/alpha/{nptl => }/timer_gettime.c    |    0
 .../sysv/linux/alpha/{nptl => }/timer_settime.c    |    0
 sysdeps/unix/sysv/linux/alpha/{nptl => }/vfork.S   |   44 +++++++----
 40 files changed, 139 insertions(+), 133 deletions(-)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/aio_cancel.c (100%)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/bits/local_lim.h (100%)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/bits/pthreadtypes.h (100%)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/bits/semaphore.h (100%)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/c++-types.data (100%)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/createthread.c (100%)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/ld.abilist (100%)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/libBrokenLocale.abilist (100%)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/libanl.abilist (100%)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/libc.abilist (100%)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/libcrypt.abilist (100%)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/libdl.abilist (100%)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/libm.abilist (100%)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/libnsl.abilist (100%)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/libpthread.abilist (100%)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/libresolv.abilist (100%)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/librt.abilist (100%)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/libthread_db.abilist (100%)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/libutil.abilist (100%)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/localplt.data (100%)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/lowlevellock.h (100%)
 delete mode 100644 sysdeps/unix/sysv/linux/alpha/nptl/Makefile
 delete mode 100644 sysdeps/unix/sysv/linux/alpha/nptl/Versions
 delete mode 100644 sysdeps/unix/sysv/linux/alpha/nptl/clone.S
 delete mode 100644 sysdeps/unix/sysv/linux/alpha/nptl/fork.c
 delete mode 100644 sysdeps/unix/sysv/linux/alpha/nptl/pt-vfork.S
 copy sysdeps/{arm/gcc-compat.h => unix/sysv/linux/alpha/pt-vfork.S} (54%)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/sem_post.c (100%)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/sysdep-cancel.h (100%)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/timer_create.c (100%)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/timer_delete.c (100%)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/timer_getoverr.c (100%)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/timer_gettime.c (100%)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/timer_settime.c (100%)
 rename sysdeps/unix/sysv/linux/alpha/{nptl => }/vfork.S (56%)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]