[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

r6486 - in glibc-package/branches/glibc-2.21/debian: . patches patches/hurd-i386



Author: sthibault
Date: 2015-08-27 19:39:51 +0000 (Thu, 27 Aug 2015)
New Revision: 6486

Added:
   glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/cvs-libpthread_build.diff
   glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/cvs-libpthread_clean2.diff
Modified:
   glibc-package/branches/glibc-2.21/debian/changelog
   glibc-package/branches/glibc-2.21/debian/patches/series
Log:
backport r6485 from trunk

  * patches/hurd-i386/cvs-libpthread_clean2.diff: New patch to drop spurious
    code getting in the way for stage1.
  * patches/hurd-i386/cvs-libpthread_build.diff: New patch to fix build of
    generic libpthread code.


Modified: glibc-package/branches/glibc-2.21/debian/changelog
===================================================================
--- glibc-package/branches/glibc-2.21/debian/changelog	2015-08-27 19:39:11 UTC (rev 6485)
+++ glibc-package/branches/glibc-2.21/debian/changelog	2015-08-27 19:39:51 UTC (rev 6486)
@@ -231,6 +231,10 @@
   * sysdeps/hurd-i386.mk: Fix stage1 about xen packages for hurd-i386 too.
   * patches/hurd-i386/tg-sysheaders.diff: New patch to fix stage1 finding hurd
     headers.
+  * patches/hurd-i386/cvs-libpthread_clean2.diff: New patch to drop spurious
+    code getting in the way for stage1.
+  * patches/hurd-i386/cvs-libpthread_build.diff: New patch to fix build of
+    generic libpthread code.
 
  -- Samuel Thibault <sthibault@debian.org>  Sun, 09 Aug 2015 20:00:16 +0000
 

Copied: glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/cvs-libpthread_build.diff (from rev 6485, glibc-package/trunk/debian/patches/hurd-i386/cvs-libpthread_build.diff)
===================================================================
--- glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/cvs-libpthread_build.diff	                        (rev 0)
+++ glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/cvs-libpthread_build.diff	2015-08-27 19:39:51 UTC (rev 6486)
@@ -0,0 +1,54 @@
+commit 75b1f41bac0b70d9f87fbafde7cb94b9da3607c1
+Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date:   Thu Aug 20 23:30:14 2015 +0200
+
+    Fix raise.c build
+    
+    * sysdeps/generic/raise.c: Include <pthread.h> instead of non-existing
+    "sig-internal.h"
+
+commit 42889b484ae0cae466a63e13e25a117094732e75
+Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date:   Thu Aug 20 23:50:47 2015 +0200
+
+    Drop debugging statements
+    
+    * sysdeps/generic/raise.c (raise): Do not call debug.
+
+commit 8ffa76b6e9af0df8531278f15aa6301b1b5ba76f
+Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date:   Thu Aug 20 23:57:54 2015 +0200
+
+    Fix raise thread-aware implementation
+    
+    * sysdeps/generic/raise.c (pthread_kill): Make ref weak.
+    (raise): Only call pthread_kill when it is not NULL.  Call kill otherwise.
+
+--- a/libpthread/sysdeps/generic/raise.c
++++ b/libpthread/sysdeps/generic/raise.c
+@@ -18,8 +18,9 @@
+    License along with this program.  If not, see
+    <http://www.gnu.org/licenses/>.  */
+ 
+-#include "sig-internal.h"
++#include <pthread.h>
+ 
++#pragma weak pthread_kill
+ int
+ raise (int signo)
+ {
+@@ -27,9 +28,11 @@ raise (int signo)
+      "the effect of the raise() function shall be equivalent to
+      calling: pthread_kill(pthread_self(), sig);"  */
+ 
+-debug (0, "");
+-  int err = pthread_kill (pthread_self (), signo);
+-debug (0, "");
++  int err;
++  if (pthread_kill)
++    err = pthread_kill (pthread_self (), signo);
++  else
++    err = __kill (__getpid (), signo);
+   if (err)
+     {
+       errno = err;

Copied: glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/cvs-libpthread_clean2.diff (from rev 6485, glibc-package/trunk/debian/patches/hurd-i386/cvs-libpthread_clean2.diff)
===================================================================
--- glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/cvs-libpthread_clean2.diff	                        (rev 0)
+++ glibc-package/branches/glibc-2.21/debian/patches/hurd-i386/cvs-libpthread_clean2.diff	2015-08-27 19:39:51 UTC (rev 6486)
@@ -0,0 +1,375 @@
+commit 47916b2fb311a305ba31715c1e67462c7f2e1821
+Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date:   Thu Aug 20 23:27:46 2015 +0200
+
+    Remove more unused signals implementation
+    
+    * sysdeps/generic/killpg.c: Remove file.
+    * sysdeps/generic/sigaddset.c: Likewise.
+    * sysdeps/generic/sigdelset.c: Likewise.
+    * sysdeps/generic/sigemptyset.c: Likewise.
+    * sysdeps/generic/sigfillset.c: Likewise.
+    * sysdeps/generic/siginterrupt.c: Likewise.
+    * sysdeps/generic/sigismember.c: Likewise.
+    * sysdeps/generic/signal.c: Likewise.
+    * sysdeps/generic/sigwait.c: Likewise.
+
+diff --git a/libpthread/sysdeps/generic/killpg.c b/libpthread/sysdeps/generic/killpg.c
+deleted file mode 100644
+index 7f7ed87..0000000
+--- a/libpthread/sysdeps/generic/killpg.c
++++ /dev/null
+@@ -1,27 +0,0 @@
+-/* killpg.c - Generic killpg implementation.
+-   Copyright (C) 2008 Free Software Foundation, Inc.
+-   Written by Neal H. Walfield <neal@gnu.org>.
+-
+-   This file is part of the GNU Hurd.
+-
+-   The GNU Hurd 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 3 of
+-   the License, or (at your option) any later version.
+-
+-   The GNU Hurd 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 this program.  If not, see
+-   <http://www.gnu.org/licenses/>.  */
+-
+-#include "sig-internal.h"
+-
+-int
+-killpg (pid_t pid, int sig)
+-{
+-  return kill (-pid, sig);
+-}
+diff --git a/libpthread/sysdeps/generic/sigaddset.c b/libpthread/sysdeps/generic/sigaddset.c
+deleted file mode 100644
+index 14edb71..0000000
+--- a/libpthread/sysdeps/generic/sigaddset.c
++++ /dev/null
+@@ -1,35 +0,0 @@
+-/* sigaddset.c - Generic sigaddset implementation.
+-   Copyright (C) 2008 Free Software Foundation, Inc.
+-   Written by Neal H. Walfield <neal@gnu.org>.
+-
+-   This file is part of the GNU Hurd.
+-
+-   The GNU Hurd 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 3 of
+-   the License, or (at your option) any later version.
+-
+-   The GNU Hurd 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 this program.  If not, see
+-   <http://www.gnu.org/licenses/>.  */
+-
+-#include "sig-internal.h"
+-
+-int
+-sigaddset (sigset_t *sigset, int signo)
+-{
+-  if (signo <= 0 || signo >= NSIG)
+-    {
+-      errno = EINVAL;
+-      return -1;
+-    }
+-
+-  *sigset |= sigmask (signo);
+-  return 0;
+-}
+-
+diff --git a/libpthread/sysdeps/generic/sigdelset.c b/libpthread/sysdeps/generic/sigdelset.c
+deleted file mode 100644
+index 5456467..0000000
+--- a/libpthread/sysdeps/generic/sigdelset.c
++++ /dev/null
+@@ -1,35 +0,0 @@
+-/* sigdelset.c - Generic sigdelset implementation.
+-   Copyright (C) 2008 Free Software Foundation, Inc.
+-   Written by Neal H. Walfield <neal@gnu.org>.
+-
+-   This file is part of the GNU Hurd.
+-
+-   The GNU Hurd 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 3 of
+-   the License, or (at your option) any later version.
+-
+-   The GNU Hurd 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 this program.  If not, see
+-   <http://www.gnu.org/licenses/>.  */
+-
+-#include "sig-internal.h"
+-
+-int
+-sigdelset (sigset_t *sigset, int signo)
+-{
+-  if (signo <= 0 || signo >= NSIG)
+-    {
+-      errno = EINVAL;
+-      return -1;
+-    }
+-
+-  *sigset &= ~sigmask (signo);
+-  return 0;
+-}
+-
+diff --git a/libpthread/sysdeps/generic/sigemptyset.c b/libpthread/sysdeps/generic/sigemptyset.c
+deleted file mode 100644
+index 690c15b..0000000
+--- a/libpthread/sysdeps/generic/sigemptyset.c
++++ /dev/null
+@@ -1,29 +0,0 @@
+-/* sigemptyset.c - Generic sigemptyset implementation.
+-   Copyright (C) 2008 Free Software Foundation, Inc.
+-   Written by Neal H. Walfield <neal@gnu.org>.
+-
+-   This file is part of the GNU Hurd.
+-
+-   The GNU Hurd 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 3 of
+-   the License, or (at your option) any later version.
+-
+-   The GNU Hurd 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 this program.  If not, see
+-   <http://www.gnu.org/licenses/>.  */
+-
+-#include <signal.h>
+-
+-int
+-sigemptyset (sigset_t *sigset)
+-{
+-  *sigset = 0;
+-  return 0;
+-}
+-
+diff --git a/libpthread/sysdeps/generic/sigfillset.c b/libpthread/sysdeps/generic/sigfillset.c
+deleted file mode 100644
+index f0ac078..0000000
+--- a/libpthread/sysdeps/generic/sigfillset.c
++++ /dev/null
+@@ -1,29 +0,0 @@
+-/* sigfillset.c - Generic sigfillset implementation.
+-   Copyright (C) 2008 Free Software Foundation, Inc.
+-   Written by Neal H. Walfield <neal@gnu.org>.
+-
+-   This file is part of the GNU Hurd.
+-
+-   The GNU Hurd 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 3 of
+-   the License, or (at your option) any later version.
+-
+-   The GNU Hurd 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 this program.  If not, see
+-   <http://www.gnu.org/licenses/>.  */
+-
+-#include <signal.h>
+-
+-int
+-sigfillset (sigset_t *sigset)
+-{
+-  *sigset = (1ULL << (NSIG - 1)) - 1;
+-  return 0;
+-}
+-
+diff --git a/libpthread/sysdeps/generic/siginterrupt.c b/libpthread/sysdeps/generic/siginterrupt.c
+deleted file mode 100644
+index 0899efb..0000000
+--- a/libpthread/sysdeps/generic/siginterrupt.c
++++ /dev/null
+@@ -1,36 +0,0 @@
+-/* siginterrupt.c - Generic siginterrupt implementation.
+-   Copyright (C) 2008 Free Software Foundation, Inc.
+-   Written by Neal H. Walfield <neal@gnu.org>.
+-
+-   This file is part of the GNU Hurd.
+-
+-   The GNU Hurd 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 3 of
+-   the License, or (at your option) any later version.
+-
+-   The GNU Hurd 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 this program.  If not, see
+-   <http://www.gnu.org/licenses/>.  */
+-
+-#include "sig-internal.h"
+-
+-int
+-siginterrupt (int sig, int flag)
+-{
+-  int ret;
+-  struct sigaction act;
+-
+-  sigaction (sig, NULL, &act);
+-  if (flag)
+-    act.sa_flags &= ~SA_RESTART;
+-  else
+-    act.sa_flags |= SA_RESTART;
+-  ret = sigaction(sig, &act, NULL);
+-  return ret;
+-}
+diff --git a/libpthread/sysdeps/generic/sigismember.c b/libpthread/sysdeps/generic/sigismember.c
+deleted file mode 100644
+index b3d65c9..0000000
+--- a/libpthread/sysdeps/generic/sigismember.c
++++ /dev/null
+@@ -1,36 +0,0 @@
+-/* sigismember.c - Generic sigismember implementation.
+-   Copyright (C) 2008 Free Software Foundation, Inc.
+-   Written by Neal H. Walfield <neal@gnu.org>.
+-
+-   This file is part of the GNU Hurd.
+-
+-   The GNU Hurd 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 3 of
+-   the License, or (at your option) any later version.
+-
+-   The GNU Hurd 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 this program.  If not, see
+-   <http://www.gnu.org/licenses/>.  */
+-
+-#include "sig-internal.h"
+-
+-int
+-sigismember (const sigset_t *sigset, int signo)
+-{
+-  if (signo <= 0 || signo >= NSIG)
+-    {
+-      errno = EINVAL;
+-      return -1;
+-    }
+-
+-  if (*sigset & sigmask (signo))
+-    return 1;
+-  else
+-    return 0;
+-}
+diff --git a/libpthread/sysdeps/generic/signal.c b/libpthread/sysdeps/generic/signal.c
+deleted file mode 100644
+index 7555d0a..0000000
+--- a/libpthread/sysdeps/generic/signal.c
++++ /dev/null
+@@ -1,44 +0,0 @@
+-/* signal.c - Generic signal implementation.
+-   Copyright (C) 2008 Free Software Foundation, Inc.
+-   Written by Neal H. Walfield <neal@gnu.org>.
+-
+-   This file is part of the GNU Hurd.
+-
+-   The GNU Hurd 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 3 of
+-   the License, or (at your option) any later version.
+-
+-   The GNU Hurd 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 this program.  If not, see
+-   <http://www.gnu.org/licenses/>.  */
+-
+-#include "sig-internal.h"
+-
+-void (*signal (int sig, void (*handler)(int)))(int)
+-{
+-  struct sigaction sa;
+-
+-  sa.sa_handler = handler;
+-  sa.sa_flags = SA_RESTART;
+-
+-  if (sigemptyset (&sa.sa_mask) < 0
+-      || sigaddset (&sa.sa_mask, sig) < 0)
+-    return SIG_ERR;
+-
+-  struct sigaction osa;
+-  if (sigaction (sig, &sa, &osa) < 0)
+-    return SIG_ERR;
+-
+-  return osa.sa_handler;
+-}
+-
+-void (*bsd_signal (int sig, void (*func)(int)))(int)
+-{
+-  return signal (sig, func);
+-}
+diff --git a/libpthread/sysdeps/generic/sigwait.c b/libpthread/sysdeps/generic/sigwait.c
+deleted file mode 100644
+index 7d10bf8..0000000
+--- a/libpthread/sysdeps/generic/sigwait.c
++++ /dev/null
+@@ -1,34 +0,0 @@
+-/* sigwait.c - Generic sigwait implementation.
+-   Copyright (C) 2008 Free Software Foundation, Inc.
+-   Written by Neal H. Walfield <neal@gnu.org>.
+-
+-   This file is part of the GNU Hurd.
+-
+-   The GNU Hurd 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 3 of
+-   the License, or (at your option) any later version.
+-
+-   The GNU Hurd 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 this program.  If not, see
+-   <http://www.gnu.org/licenses/>.  */
+-
+-#include "sig-internal.h"
+-
+-int
+-sigwait (const sigset_t *restrict set, int *restrict signo)
+-{
+-  siginfo_t info;
+-
+-  if (sigwaitinfo (set, &info) < 0)
+-    return -1;
+-
+-  *signo = info.si_signo;
+-  return 0;
+-}
+-

Modified: glibc-package/branches/glibc-2.21/debian/patches/series
===================================================================
--- glibc-package/branches/glibc-2.21/debian/patches/series	2015-08-27 19:39:11 UTC (rev 6485)
+++ glibc-package/branches/glibc-2.21/debian/patches/series	2015-08-27 19:39:51 UTC (rev 6486)
@@ -96,6 +96,8 @@
 hurd-i386/libpthread_build.diff
 hurd-i386/libpthread_sigmask.diff
 hurd-i386/libpthread_clean.diff
+hurd-i386/cvs-libpthread_clean2.diff
+hurd-i386/cvs-libpthread_build.diff
 hurd-i386/tg-libpthread_depends.diff
 hurd-i386/libpthread_version.diff
 hurd-i386/tg-chflags.diff


Reply to: