r5373 - in glibc-package/branches/eglibc-2.16/debian: . patches/hurd-i386
Author: aurel32
Date: 2012-11-14 13:28:10 +0000 (Wed, 14 Nov 2012)
New Revision: 5373
Removed:
glibc-package/branches/eglibc-2.16/debian/patches/hurd-i386/cvs-catch-signal.diff
glibc-package/branches/eglibc-2.16/debian/patches/hurd-i386/cvs-dup3.diff
Modified:
glibc-package/branches/eglibc-2.16/debian/changelog
Log:
Fix wrong changelog entries and leftover patches
Modified: glibc-package/branches/eglibc-2.16/debian/changelog
===================================================================
--- glibc-package/branches/eglibc-2.16/debian/changelog 2012-11-13 16:08:24 UTC (rev 5372)
+++ glibc-package/branches/eglibc-2.16/debian/changelog 2012-11-14 13:28:10 UTC (rev 5373)
@@ -226,9 +226,6 @@
* Add patches/alpha/cvs-fp_control-plt.diff to fix testsuite on alpha.
* Add patches/alpha/local-string-functions.diff to remove some broken
alpha specific string version, and pass the testsuite.
- * Add patches/hurd-i386/hurd-i386/submitted-kernel-features_h.diff,
- patches/hurd-i386/submitted-hidden-nolink.diff and
- patches/hurd-i386/submitted-libio.diff to fix FTBFS on hurd.
* Update debian/sysdeps/mips.mk, debian/sysdeps/mipsel.mk to force
build without MIPS PLT.
* Build with GCC 4.6. Closes: bug#654744.
Deleted: glibc-package/branches/eglibc-2.16/debian/patches/hurd-i386/cvs-catch-signal.diff
===================================================================
--- glibc-package/branches/eglibc-2.16/debian/patches/hurd-i386/cvs-catch-signal.diff 2012-11-13 16:08:24 UTC (rev 5372)
+++ glibc-package/branches/eglibc-2.16/debian/patches/hurd-i386/cvs-catch-signal.diff 2012-11-14 13:28:10 UTC (rev 5373)
@@ -1,49 +0,0 @@
-commit ecd0de9a955fd14e825a666ea6785842e1579326
-Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
-Date: Thu May 10 12:59:00 2012 -0700
-
- Hurd: Fix signal-catching functions.
-
----
- hurd/catch-signal.c | 13 ++++++++-----
- 1 file changed, 8 insertions(+), 5 deletions(-)
-
---- a/hurd/catch-signal.c
-+++ b/hurd/catch-signal.c
-@@ -1,5 +1,5 @@
- /* Convenience function to catch expected signals during an operation.
-- Copyright (C) 1996 Free Software Foundation, Inc.
-+ Copyright (C) 1996-2012 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
-@@ -28,9 +28,12 @@
- error_t (*operate) (struct hurd_signal_preemptor *),
- sighandler_t handler)
- {
-- jmp_buf buf;
-+ /* We need to restore the signal mask, because otherwise the
-+ signal-handling code will have blocked the caught signal and for
-+ instance calling hurd_catch_signal again would then dump core. */
-+ sigjmp_buf buf;
- void throw (int signo, long int sigcode, struct sigcontext *scp)
-- { longjmp (buf, scp->sc_error ?: EGRATUITOUS); }
-+ { siglongjmp (buf, scp->sc_error ?: EGRATUITOUS); }
-
- struct hurd_signal_preemptor preemptor =
- {
-@@ -41,12 +44,12 @@
- struct hurd_sigstate *const ss = _hurd_self_sigstate ();
- error_t error;
-
-- if (handler == SIG_ERR)
-+ if (handler != SIG_ERR)
- /* Not our handler; don't bother saving state. */
- error = 0;
- else
- /* This returns again with nonzero value when we preempt a signal. */
-- error = setjmp (buf);
-+ error = sigsetjmp (buf, 1);
-
- if (error == 0)
- {
Deleted: glibc-package/branches/eglibc-2.16/debian/patches/hurd-i386/cvs-dup3.diff
===================================================================
--- glibc-package/branches/eglibc-2.16/debian/patches/hurd-i386/cvs-dup3.diff 2012-11-13 16:08:24 UTC (rev 5372)
+++ glibc-package/branches/eglibc-2.16/debian/patches/hurd-i386/cvs-dup3.diff 2012-11-14 13:28:10 UTC (rev 5373)
@@ -1,319 +0,0 @@
-commit 5aa3a74a59916b489e9cf7c4dce9eb149e106c6c
-Author: Thomas Schwinge <thomas@schwinge.name>
-Date: Thu May 10 13:15:40 2012 -0700
-
- Hurd: dup3
-
----
- include/unistd.h | 2
- sysdeps/mach/hurd/dup2.c | 114 ++---------------------------
- sysdeps/mach/hurd/dup3.c | 141 ++++++++++++++++++++++++++++++++++++
- sysdeps/mach/hurd/kernel-features.h | 10 --
- 4 files changed, 153 insertions(+), 114 deletions(-)
-
---- a/include/unistd.h
-+++ b/include/unistd.h
-@@ -79,6 +79,8 @@
- extern int __dup (int __fd);
- extern int __dup2 (int __fd, int __fd2);
- libc_hidden_proto (__dup2)
-+extern int __dup3 (int __fd, int __fd2, int flags);
-+libc_hidden_proto (__dup3)
- extern int __execve (__const char *__path, char *__const __argv[],
- char *__const __envp[]);
- extern long int __pathconf (__const char *__path, int __name);
---- a/sysdeps/mach/hurd/dup2.c
-+++ b/sysdeps/mach/hurd/dup2.c
-@@ -1,4 +1,5 @@
--/* Copyright (C) 1991, 92, 93, 94, 95, 97, 2002 Free Software Foundation, Inc.
-+/* Copyright (C) 1991-2012 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
-@@ -16,119 +17,20 @@
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
--#include <errno.h>
--#include <fcntl.h>
- #include <unistd.h>
--#include <hurd.h>
--#include <hurd/fd.h>
-
- /* Duplicate FD to FD2, closing the old FD2 and making FD2 be
- open on the same file as FD is. Return FD2 or -1. */
- int
--__dup2 (fd, fd2)
-- int fd;
-- int fd2;
-+__dup2 (int fd, int fd2)
- {
-- struct hurd_fd *d;
--
-- /* Extract the ports and flags from FD. */
-- d = _hurd_fd_get (fd);
-- if (d == NULL)
-- {
-- errno = EBADF;
-- return -1;
-- }
--
-- HURD_CRITICAL_BEGIN;
--
-- __spin_lock (&d->port.lock);
-- if (d->port.port == MACH_PORT_NULL)
-- {
-- __spin_unlock (&d->port.lock);
-- errno = EBADF;
-- fd2 = -1;
-- }
-- else if (fd2 == fd)
-- /* FD is valid and FD2 is already the same; just return it. */
-- __spin_unlock (&d->port.lock);
-- else
-- {
-- struct hurd_userlink ulink, ctty_ulink;
-- int flags = d->flags;
-- io_t ctty = _hurd_port_get (&d->ctty, &ctty_ulink);
-- io_t port = _hurd_port_locked_get (&d->port, &ulink); /* Unlocks D. */
--
-- if (fd2 < 0)
-- {
-- errno = EBADF;
-- fd2 = -1;
-- }
-- else
-- {
-- /* Get a hold of the destination descriptor. */
-- struct hurd_fd *d2;
--
-- if (fd2 >= _hurd_dtablesize)
-- {
-- /* The table is not large enough to hold the destination
-- descriptor. Enlarge it as necessary to allocate this
-- descriptor. */
-- __mutex_unlock (&_hurd_dtable_lock);
-- /* We still hold FD1's lock, but this is safe because
-- _hurd_alloc_fd will only examine the cells starting
-- at FD2. */
-- d2 = _hurd_alloc_fd (NULL, fd2);
-- if (d2)
-- __spin_unlock (&d2->port.lock);
-- __mutex_lock (&_hurd_dtable_lock);
-- }
-- else
-- {
-- d2 = _hurd_dtable[fd2];
-- if (d2 == NULL)
-- {
-- /* Must allocate a new one. We don't initialize the port
-- cells with this call so that if it fails (out of
-- memory), we will not have already added user
-- references for the ports, which we would then have to
-- deallocate. */
-- d2 = _hurd_dtable[fd2] = _hurd_new_fd (MACH_PORT_NULL,
-- MACH_PORT_NULL);
-- }
-- }
--
-- if (d2 == NULL)
-- {
-- fd2 = -1;
-- if (errno == EINVAL)
-- errno = EBADF; /* POSIX.1-1990 6.2.1.2 ll 54-55. */
-- }
-- else
-- {
-- /* Give the ports each a user ref for the new descriptor. */
-- __mach_port_mod_refs (__mach_task_self (), port,
-- MACH_PORT_RIGHT_SEND, 1);
-- if (ctty != MACH_PORT_NULL)
-- __mach_port_mod_refs (__mach_task_self (), ctty,
-- MACH_PORT_RIGHT_SEND, 1);
--
-- /* Install the ports and flags in the new descriptor slot. */
-- __spin_lock (&d2->port.lock);
-- d2->flags = flags & ~FD_CLOEXEC; /* Dup clears FD_CLOEXEC. */
-- _hurd_port_set (&d2->ctty, ctty);
-- _hurd_port_locked_set (&d2->port, port); /* Unlocks D2. */
-- }
-- }
-- __mutex_unlock (&_hurd_dtable_lock);
--
-- _hurd_port_free (&d->port, &ulink, port);
-- if (ctty != MACH_PORT_NULL)
-- _hurd_port_free (&d->ctty, &ctty_ulink, port);
-- }
-+ int flags = 0;
-
-- HURD_CRITICAL_END;
-+ if (fd2 == fd)
-+ /* See the comment in dup3. */
-+ flags = -1;
-
-- return fd2;
-+ return __dup3 (fd, fd2, flags);
- }
- libc_hidden_def (__dup2)
- weak_alias (__dup2, dup2)
---- /dev/null
-+++ b/sysdeps/mach/hurd/dup3.c
-@@ -0,0 +1,141 @@
-+/* Duplicate a file descriptor to a given number, with flags. Hurd version.
-+ Copyright (C) 1991-2012 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, write to the Free
-+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+ 02111-1307 USA. */
-+
-+#include <errno.h>
-+#include <fcntl.h>
-+#include <unistd.h>
-+#include <hurd.h>
-+#include <hurd/fd.h>
-+
-+/* Duplicate FD to FD2, closing the old FD2 and making FD2 be
-+ open on the same file as FD is, and setting FD2's flags according to FLAGS.
-+ Return FD2 or -1. */
-+int
-+__dup3 (int fd, int fd2, int flags)
-+{
-+ struct hurd_fd *d;
-+
-+ /* Both passing flags different from O_CLOEXEC and FD2 being the same as FD
-+ are invalid. */
-+ if ((flags & ~O_CLOEXEC
-+ || fd2 == fd)
-+ /* ... with the exception in case that dup2 behavior is requested: if FD
-+ is valid and FD2 is already the same then just return it. */
-+ && ! (flags == -1
-+ && fd2 == fd))
-+ return __hurd_fail (EINVAL);
-+
-+ /* Extract the ports and flags from FD. */
-+ d = _hurd_fd_get (fd);
-+ if (d == NULL)
-+ return __hurd_fail (EBADF);
-+
-+ HURD_CRITICAL_BEGIN;
-+
-+ __spin_lock (&d->port.lock);
-+ if (d->port.port == MACH_PORT_NULL)
-+ {
-+ __spin_unlock (&d->port.lock);
-+ fd2 = __hurd_fail (EBADF);
-+ }
-+ else if (fd2 == fd)
-+ __spin_unlock (&d->port.lock);
-+ else
-+ {
-+ struct hurd_userlink ulink, ctty_ulink;
-+ int d_flags = d->flags;
-+ io_t ctty = _hurd_port_get (&d->ctty, &ctty_ulink);
-+ io_t port = _hurd_port_locked_get (&d->port, &ulink); /* Unlocks D. */
-+
-+ if (fd2 < 0)
-+ fd2 = __hurd_fail (EBADF);
-+ else
-+ {
-+ /* Get a hold of the destination descriptor. */
-+ struct hurd_fd *d2;
-+
-+ if (fd2 >= _hurd_dtablesize)
-+ {
-+ /* The table is not large enough to hold the destination
-+ descriptor. Enlarge it as necessary to allocate this
-+ descriptor. */
-+ __mutex_unlock (&_hurd_dtable_lock);
-+ /* We still hold FD1's lock, but this is safe because
-+ _hurd_alloc_fd will only examine the cells starting
-+ at FD2. */
-+ d2 = _hurd_alloc_fd (NULL, fd2);
-+ if (d2)
-+ __spin_unlock (&d2->port.lock);
-+ __mutex_lock (&_hurd_dtable_lock);
-+ }
-+ else
-+ {
-+ d2 = _hurd_dtable[fd2];
-+ if (d2 == NULL)
-+ {
-+ /* Must allocate a new one. We don't initialize the port
-+ cells with this call so that if it fails (out of
-+ memory), we will not have already added user
-+ references for the ports, which we would then have to
-+ deallocate. */
-+ d2 = _hurd_dtable[fd2] = _hurd_new_fd (MACH_PORT_NULL,
-+ MACH_PORT_NULL);
-+ }
-+ }
-+
-+ if (d2 == NULL)
-+ {
-+ fd2 = -1;
-+ if (errno == EINVAL)
-+ errno = EBADF; /* POSIX.1-1990 6.2.1.2 ll 54-55. */
-+ }
-+ else
-+ {
-+ /* Give the ports each a user ref for the new descriptor. */
-+ __mach_port_mod_refs (__mach_task_self (), port,
-+ MACH_PORT_RIGHT_SEND, 1);
-+ if (ctty != MACH_PORT_NULL)
-+ __mach_port_mod_refs (__mach_task_self (), ctty,
-+ MACH_PORT_RIGHT_SEND, 1);
-+
-+ /* Install the ports and flags in the new descriptor slot. */
-+ __spin_lock (&d2->port.lock);
-+ if (flags & O_CLOEXEC)
-+ d2->flags = d_flags | FD_CLOEXEC;
-+ else
-+ /* dup clears FD_CLOEXEC. */
-+ d2->flags = d_flags & ~FD_CLOEXEC;
-+ _hurd_port_set (&d2->ctty, ctty);
-+ _hurd_port_locked_set (&d2->port, port); /* Unlocks D2. */
-+ }
-+ }
-+ __mutex_unlock (&_hurd_dtable_lock);
-+
-+ _hurd_port_free (&d->port, &ulink, port);
-+ if (ctty != MACH_PORT_NULL)
-+ _hurd_port_free (&d->ctty, &ctty_ulink, port);
-+ }
-+
-+ HURD_CRITICAL_END;
-+
-+ return fd2;
-+}
-+libc_hidden_def (__dup3)
-+weak_alias (__dup3, dup3)
---- a/sysdeps/mach/hurd/kernel-features.h
-+++ b/sysdeps/mach/hurd/kernel-features.h
-@@ -21,11 +21,5 @@
- Almost none of these are used outside of sysdeps/unix/sysv/linux code.
- But those referring to POSIX-level features like O_* flags can be. */
-
--#include <fcntl.h>
--
--/* If a system defines the O_CLOEXEC constant but it is sometimes ignored,
-- it must override this file to define __ASSUME_O_CLOEXEC conditionally
-- (or not at all) to indicate when O_CLOEXEC actually works. */
--#ifdef O_CLOEXEC
--# define __ASSUME_O_CLOEXEC 1
--#endif
-+#define __ASSUME_O_CLOEXEC 1
-+#define __ASSUME_DUP3 1
Reply to: