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: