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

r5580 - in glibc-package/trunk/debian: . patches patches/any



Author: ps-guest
Date: 2013-05-11 13:36:35 +0000 (Sat, 11 May 2013)
New Revision: 5580

Removed:
   glibc-package/trunk/debian/patches/any/local-linuxthreads-lowlevellock.diff
   glibc-package/trunk/debian/patches/any/local-linuxthreads-unwind.diff
Modified:
   glibc-package/trunk/debian/changelog
   glibc-package/trunk/debian/patches/series
Log:

drop obsolete any/local-linuxthreads-unwind.diff, any/local-linuxthreads-lowlevellock.diff



Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog	2013-05-10 22:46:12 UTC (rev 5579)
+++ glibc-package/trunk/debian/changelog	2013-05-11 13:36:35 UTC (rev 5580)
@@ -36,7 +36,9 @@
     changes in ctype initialization
   * reenable lost any/local-linuxthreads-XPG7.diff
                   any/local-linuxthreads-setclock.diff
-  * kfreebsd/local-sysdeps.diff: update to revision 4427 (from glibc-bsd).
+  * drop obsolete any/local-linuxthreads-unwind.diff
+                  any/local-linuxthreads-lowlevellock.diff
+  * kfreebsd/local-sysdeps.diff: update to revision 4428 (from glibc-bsd).
   * Add into testsuite-checking/expected-results-*-kfreebsd-gnu-*
     tst-timer5 test and new tst-backtrace[4-6] tests that are known to fail.
 

Deleted: glibc-package/trunk/debian/patches/any/local-linuxthreads-lowlevellock.diff
===================================================================
--- glibc-package/trunk/debian/patches/any/local-linuxthreads-lowlevellock.diff	2013-05-10 22:46:12 UTC (rev 5579)
+++ glibc-package/trunk/debian/patches/any/local-linuxthreads-lowlevellock.diff	2013-05-11 13:36:35 UTC (rev 5580)
@@ -1,160 +0,0 @@
----
- linuxthreads/sysdeps/unix/sysv/linux/rtld-lowlevel.h |  153 +++++++++++++++++++
- 1 file changed, 153 insertions(+)
-
---- /dev/null
-+++ b/linuxthreads/sysdeps/unix/sysv/linux/rtld-lowlevel.h
-@@ -0,0 +1,153 @@
-+/* Defintions for lowlevel handling in ld.so.
-+   Copyright (C) 2006 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.  */
-+
-+#ifndef _RTLD_LOWLEVEL_H
-+#define  _RTLD_LOWLEVEL_H 1
-+
-+#include <atomic.h>
-+#include <lowlevellock.h>
-+
-+
-+/* Special multi-reader lock used in ld.so.  */
-+#define __RTLD_MRLOCK_WRITER 1
-+#define __RTLD_MRLOCK_RWAIT 2
-+#define __RTLD_MRLOCK_WWAIT 4
-+#define __RTLD_MRLOCK_RBITS \
-+  ~(__RTLD_MRLOCK_WRITER | __RTLD_MRLOCK_RWAIT | __RTLD_MRLOCK_WWAIT)
-+#define __RTLD_MRLOCK_INC 8
-+#define __RTLD_MRLOCK_TRIES 5
-+
-+
-+typedef int __rtld_mrlock_t;
-+
-+
-+#define __rtld_mrlock_define(CLASS,NAME) \
-+  CLASS __rtld_mrlock_t NAME;
-+
-+
-+#define _RTLD_MRLOCK_INITIALIZER 0
-+#define __rtld_mrlock_initialize(NAME) \
-+  (void) ((NAME) = 0)
-+
-+
-+#define __rtld_mrlock_lock(lock) \
-+  do {									      \
-+    __label__ out;							      \
-+    while (1)								      \
-+      {									      \
-+	int oldval;							      \
-+	for (int tries = 0; tries < __RTLD_MRLOCK_TRIES; ++tries)	      \
-+	  {								      \
-+	    oldval = lock;						      \
-+	    while (__builtin_expect ((oldval				      \
-+				      & (__RTLD_MRLOCK_WRITER		      \
-+					 | __RTLD_MRLOCK_WWAIT))	      \
-+				     == 0, 1))				      \
-+	      {								      \
-+		int newval = ((oldval & __RTLD_MRLOCK_RBITS)		      \
-+			      + __RTLD_MRLOCK_INC);			      \
-+		int ret = atomic_compare_and_exchange_val_acq (&(lock),	      \
-+							       newval,	      \
-+							       oldval);	      \
-+		if (__builtin_expect (ret == oldval, 1))		      \
-+		  goto out;						      \
-+		oldval = ret;						      \
-+	      }								      \
-+	    atomic_delay ();						      \
-+	  }								      \
-+	if ((oldval & __RTLD_MRLOCK_RWAIT) == 0)			      \
-+	  {								      \
-+	    atomic_or (&(lock), __RTLD_MRLOCK_RWAIT);			      \
-+	    oldval |= __RTLD_MRLOCK_RWAIT;				      \
-+	  }								      \
-+	lll_futex_wait (lock, oldval);					      \
-+      }									      \
-+  out:;									      \
-+  } while (0)
-+
-+
-+#define __rtld_mrlock_unlock(lock) \
-+  do {									      \
-+    int oldval = atomic_exchange_and_add (&(lock), -__RTLD_MRLOCK_INC);	      \
-+    if (__builtin_expect ((oldval					      \
-+			   & (__RTLD_MRLOCK_RBITS | __RTLD_MRLOCK_WWAIT))     \
-+			  == (__RTLD_MRLOCK_INC | __RTLD_MRLOCK_WWAIT), 0))   \
-+      /* We have to wake all threads since there might be some queued	      \
-+	 readers already.  */						      \
-+      lll_futex_wake (&(lock), 0x7fffffff);				      \
-+  } while (0)
-+
-+
-+/* There can only ever be one thread trying to get the exclusive lock.  */
-+#define __rtld_mrlock_change(lock) \
-+  do {									      \
-+    __label__ out;							      \
-+    while (1)								      \
-+      {									      \
-+	int oldval;							      \
-+	for (int tries = 0; tries < __RTLD_MRLOCK_TRIES; ++tries)	      \
-+	  {								      \
-+	    oldval = lock;						      \
-+	    while (__builtin_expect ((oldval & __RTLD_MRLOCK_RBITS) == 0, 1)) \
-+	      {								      \
-+		int newval = ((oldval & __RTLD_MRLOCK_RWAIT)		      \
-+			      + __RTLD_MRLOCK_WRITER);			      \
-+		int ret = atomic_compare_and_exchange_val_acq (&(lock),	      \
-+							       newval,	      \
-+							       oldval);	      \
-+		if (__builtin_expect (ret == oldval, 1))		      \
-+		  goto out;						      \
-+		oldval = ret;						      \
-+	      }								      \
-+	    atomic_delay ();						      \
-+	  }								      \
-+	atomic_or (&(lock), __RTLD_MRLOCK_WWAIT);			      \
-+	oldval |= __RTLD_MRLOCK_WWAIT;					      \
-+	lll_futex_wait (lock, oldval);					      \
-+      }									      \
-+  out:;									      \
-+  } while (0)
-+
-+
-+#define __rtld_mrlock_done(lock) \
-+  do {				 \
-+    int oldval = atomic_exchange_and_add (&(lock), -__RTLD_MRLOCK_WRITER);    \
-+    if (__builtin_expect ((oldval & __RTLD_MRLOCK_RWAIT) != 0, 0))	      \
-+      lll_futex_wake (&(lock), 0x7fffffff);				      \
-+  } while (0)
-+
-+
-+/* Function to wait for variable become zero.  Used in ld.so for
-+   reference counters.  */
-+#define __rtld_waitzero(word) \
-+  do {									      \
-+    while (1)								      \
-+      {									      \
-+	int val = word;							      \
-+	if (val == 0)							      \
-+	  break;							      \
-+	lll_futex_wait (&(word), val);					      \
-+      }									      \
-+  } while (0)
-+
-+
-+#define __rtld_notify(word) \
-+  lll_futex_wake (&(word), 1)
-+
-+#endif

Deleted: glibc-package/trunk/debian/patches/any/local-linuxthreads-unwind.diff
===================================================================
--- glibc-package/trunk/debian/patches/any/local-linuxthreads-unwind.diff	2013-05-10 22:46:12 UTC (rev 5579)
+++ glibc-package/trunk/debian/patches/any/local-linuxthreads-unwind.diff	2013-05-11 13:36:35 UTC (rev 5580)
@@ -1,84 +0,0 @@
----
- linuxthreads/sysdeps/pthread/Makefile        |    6 ++
- linuxthreads/sysdeps/pthread/unwind-resume.c |   64 +++++++++++++++++++++++++++
- 2 files changed, 70 insertions(+)
-
---- /dev/null
-+++ b/linuxthreads/sysdeps/pthread/unwind-resume.c
-@@ -0,0 +1,64 @@
-+/* Copyright (C) 2003 Free Software Foundation, Inc.
-+   This file is part of the GNU C Library.
-+   Contributed by Jakub Jelinek <jakub@redhat.com>.
-+
-+   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; see the file COPYING.LIB.  If not,
-+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-+   Boston, MA 02111-1307, USA.  */
-+
-+#include <dlfcn.h>
-+#include <stdio.h>
-+#include <unwind.h>
-+
-+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
-+static _Unwind_Reason_Code (*libgcc_s_personality)
-+  (int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *,
-+   struct _Unwind_Context *);
-+
-+static void
-+init (void)
-+{
-+  void *resume, *personality;
-+  void *handle;
-+
-+  handle = __libc_dlopen ("libgcc_s.so.1");
-+
-+  if (handle == NULL
-+      || (resume = __libc_dlsym (handle, "_Unwind_Resume")) == NULL
-+      || (personality = __libc_dlsym (handle, "__gcc_personality_v0")) == NULL)
-+    __libc_fatal ("libgcc_s.so.1 must be installed for pthread_cancel to work\n");
-+
-+  libgcc_s_resume = resume;
-+  libgcc_s_personality = personality;
-+}
-+
-+void
-+_Unwind_Resume (struct _Unwind_Exception *exc)
-+{
-+  if (__builtin_expect (libgcc_s_resume == NULL, 0))
-+    init ();
-+  libgcc_s_resume (exc);
-+}
-+
-+_Unwind_Reason_Code
-+__gcc_personality_v0 (int version, _Unwind_Action actions,
-+		      _Unwind_Exception_Class exception_class,
-+                      struct _Unwind_Exception *ue_header,
-+                      struct _Unwind_Context *context)
-+{
-+  if (__builtin_expect (libgcc_s_personality == NULL, 0))
-+    init ();
-+  return libgcc_s_personality (version, actions, exception_class,
-+			       ue_header, context);
-+}
---- a/linuxthreads/sysdeps/pthread/Makefile
-+++ b/linuxthreads/sysdeps/pthread/Makefile
-@@ -1,3 +1,9 @@
-+ifeq ($(subdir),csu)
-+routines += unwind-resume
-+shared-only-routines += unwind-resume
-+CFLAGS-unwind-resume.c += -fexceptions -fasynchronous-unwind-tables
-+endif
-+
- ifeq ($(subdir),rt)
- librt-sysdep_routines += timer_routines
- CPPFLAGS += -DBROKEN_THREAD_SIGNALS

Modified: glibc-package/trunk/debian/patches/series
===================================================================
--- glibc-package/trunk/debian/patches/series	2013-05-10 22:46:12 UTC (rev 5579)
+++ glibc-package/trunk/debian/patches/series	2013-05-11 13:36:35 UTC (rev 5580)
@@ -186,14 +186,12 @@
 any/local-linuxthreads-fd.diff
 any/local-linuxthreads-gscope.diff
 any/local-linuxthreads-kill_other.diff
-any/local-linuxthreads-lowlevellock.diff
 any/local-linuxthreads-fatalprepare.diff
 any/local-linuxthreads-ptw.diff
 any/local-linuxthreads-semaphore_h.diff
 any/local-linuxthreads-signals.diff
 any/local-linuxthreads-stacksize.diff
 any/local-linuxthreads-tst-sighandler.diff
-any/local-linuxthreads-unwind.diff
 any/local-linuxthreads-weak.diff
 any/local-linuxthreads-XPG7.diff
 any/local-linuxthreads-setclock.diff


Reply to: