[glibc] 01/01: hurd: fix a series of thread linkspace issues
This is an automated email from the git hooks/post-receive script.
sthibault pushed a commit to branch glibc-2.26
in repository glibc.
commit b5a3017a4647d098f9936cee9e700e9f0b7562cf
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Sun Sep 24 21:31:41 2017 +0000
hurd: fix a series of thread linkspace issues
- patches/hurd-i386/cvs-libpthread.diff: Update.
- patches/hurd-i386/tg-thread-linkspace.diff: New patch.
- testsuite-xfail-debian.mk: Update.
---
debian/changelog | 1 +
debian/patches/hurd-i386/cvs-libpthread.diff | 120 +++++++++++-------
debian/patches/hurd-i386/tg-thread-linkspace.diff | 147 ++++++++++++++++++++++
debian/patches/series | 1 +
debian/testsuite-xfail-debian.mk | 146 +--------------------
5 files changed, 224 insertions(+), 191 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index db2d59a..9165786 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -82,6 +82,7 @@ glibc (2.26-0experimental0) UNRELEASED; urgency=medium
- patches/hurd-i386/git-hidden-def.diff-2: New patch.
- patches/hurd-i386/git-dl-sysdep-check.diff: New patch.
- patches/hurd-i386/git-socket-limit.diff: New patch.
+ - patches/hurd-i386/tg-thread-linkspace.diff: New patch.
- testsuite-xfail-debian.mk: Update for hurd-i386.
-- Adam Conrad <adconrad@0c3.net> Sat, 02 Sep 2017 12:15:10 -0600
diff --git a/debian/patches/hurd-i386/cvs-libpthread.diff b/debian/patches/hurd-i386/cvs-libpthread.diff
index ec90ed2..dd677f5 100644
--- a/debian/patches/hurd-i386/cvs-libpthread.diff
+++ b/debian/patches/hurd-i386/cvs-libpthread.diff
@@ -1,17 +1,16 @@
-git diff empty --patch-with-stat --src-prefix=glibc/libpthread/ --dst-prefix=glibc/libpthread/ 4c9332bfdc9ccd793b6ded3168602195913cedb3
+git diff empty --patch-with-stat --src-prefix=glibc/libpthread/ --dst-prefix=glibc/libpthread/ f881f17267506f3ced17259a066a4d95bffb57f0
from git.savannah.gnu.org:/srv/git/hurd/libpthread.git/
thus by construction only libpthread/ files, thus hurd-only
-Date: Sun Sep 17 21:44:09 2017 +0200
+Date: Sun Sep 24 23:09:59 2017 +0200
ChangeLog | 6 +
- Makeconfig | 13 +
+ Makeconfig | 20 +
Makefile | 371 ++++++++++++
TODO | 131 ++++
- Versions | 147 +++++
+ Versions | 155 +++++
configure | 2 +
configure.in | 4 +
- forward.c | 280 +++++++++
- include/pthread.h | 7 +
+ forward.c | 281 +++++++++
include/pthread/pthread.h | 835 ++++++++++++++++++++++++++
include/pthread/pthreadtypes.h | 125 ++++
libc_pthread_init.c | 35 ++
@@ -21,7 +20,7 @@ Date: Sun Sep 17 21:44:09 2017 +0200
not-in-libc.h | 12 +
pthread/Versions | 15 +
pthread/alloca_cutoff.c | 27 +
- pthread/cthreads-compat.c | 101 ++++
+ pthread/cthreads-compat.c | 102 ++++
pthread/pt-alloc.c | 219 +++++++
pthread/pt-cancel.c | 63 ++
pthread/pt-cleanup.c | 28 +
@@ -29,7 +28,7 @@ Date: Sun Sep 17 21:44:09 2017 +0200
pthread/pt-dealloc.c | 69 +++
pthread/pt-detach.c | 80 +++
pthread/pt-exit.c | 112 ++++
- pthread/pt-getattr.c | 51 ++
+ pthread/pt-getattr.c | 52 ++
pthread/pt-initialize.c | 88 +++
pthread/pt-internal.h | 330 ++++++++++
pthread/pt-join.c | 76 +++
@@ -52,7 +51,7 @@ Date: Sun Sep 17 21:44:09 2017 +0200
sysdeps/generic/pt-attr-getschedparam.c | 34 ++
sysdeps/generic/pt-attr-getschedpolicy.c | 31 +
sysdeps/generic/pt-attr-getscope.c | 31 +
- sysdeps/generic/pt-attr-getstack.c | 31 +
+ sysdeps/generic/pt-attr-getstack.c | 32 +
sysdeps/generic/pt-attr-getstackaddr.c | 29 +
sysdeps/generic/pt-attr-getstacksize.c | 29 +
sysdeps/generic/pt-attr-init.c | 29 +
@@ -91,7 +90,7 @@ Date: Sun Sep 17 21:44:09 2017 +0200
sysdeps/generic/pt-equal.c | 31 +
sysdeps/generic/pt-getconcurrency.c | 27 +
sysdeps/generic/pt-getcpuclockid.c | 35 ++
- sysdeps/generic/pt-getschedparam.c | 31 +
+ sysdeps/generic/pt-getschedparam.c | 32 +
sysdeps/generic/pt-getspecific.c | 27 +
sysdeps/generic/pt-init-specific.c | 27 +
sysdeps/generic/pt-key-create.c | 30 +
@@ -160,6 +159,7 @@ Date: Sun Sep 17 21:44:09 2017 +0200
sysdeps/hurd/pt-setspecific.c | 48 ++
sysdeps/i386/bits/memory.h | 40 ++
sysdeps/i386/bits/pt-atomic.h | 66 ++
+ sysdeps/i386/bits/pthreadtypes-arch.h | 21 +
sysdeps/i386/machine-sp.h | 30 +
sysdeps/i386/pt-machdep.h | 29 +
sysdeps/mach/bits/spin-lock-inline.h | 90 +++
@@ -200,17 +200,19 @@ Date: Sun Sep 17 21:44:09 2017 +0200
sysdeps/pthread/bits/once.h | 34 ++
sysdeps/pthread/bits/pthread-np.h | 27 +
sysdeps/pthread/bits/pthread.h | 38 ++
- sysdeps/pthread/bits/pthreadtypes.h | 29 +
+ sysdeps/pthread/bits/pthreadtypes.h | 30 +
sysdeps/pthread/bits/rwlock-attr.h | 32 +
sysdeps/pthread/bits/rwlock.h | 46 ++
sysdeps/pthread/bits/semaphore.h | 44 ++
sysdeps/pthread/bits/thread-attr.h | 47 ++
+ sysdeps/pthread/bits/thread-shared-types.h | 24 +
sysdeps/pthread/bits/thread-specific.h | 25 +
sysdeps/pthread/flockfile.c | 32 +
sysdeps/pthread/ftrylockfile.c | 35 ++
sysdeps/pthread/funlockfile.c | 33 +
sysdeps/pthread/libc-lockP.h | 158 +++++
sysdeps/pthread/pthread-functions.h | 141 +++++
+ sysdeps/pthread/pthread.h | 22 +
sysdeps/pthread/semaphore.h | 81 +++
tests/.cvsignore | 1 +
tests/Makefile | 40 ++
@@ -233,7 +235,7 @@ Date: Sun Sep 17 21:44:09 2017 +0200
tests/test-8.c | 60 ++
tests/test-9.c | 88 +++
tests/test-__pthread_destroy_specific-skip.c | 83 +++
- 230 files changed, 13152 insertions(+)
+ 232 files changed, 13233 insertions(+)
diff --git glibc/libpthread/ChangeLog glibc/libpthread/ChangeLog
new file mode 100644
@@ -249,7 +251,7 @@ index 0000000..e991eac
+ $ git show 51839d398b0f9885a17ab5c0768b8dec4dd9eb79:ChangeLog
diff --git glibc/libpthread/Makeconfig glibc/libpthread/Makeconfig
new file mode 100644
-index 0000000..e90f5f7
+index 0000000..a8ef68e
--- /dev/null
+++ glibc/libpthread/Makeconfig
@@ -0,0 +1,20 @@
@@ -789,10 +791,10 @@ index 0000000..979c38c
+ http://sources.redhat.com/ml/libc-alpha/2002-08/msg00278.html.
diff --git glibc/libpthread/Versions glibc/libpthread/Versions
new file mode 100644
-index 0000000..4ad3c3e
+index 0000000..67c6032
--- /dev/null
+++ glibc/libpthread/Versions
-@@ -0,0 +1,147 @@
+@@ -0,0 +1,155 @@
+libc {
+ GLIBC_2.13 {
+ pthread_attr_destroy; pthread_attr_getdetachstate;
@@ -938,6 +940,14 @@ index 0000000..4ad3c3e
+ GLIBC_PRIVATE {
+ __shm_directory;
+ __pthread_threads;
++
++ __cthread_detach;
++ __cthread_fork;
++ __cthread_keycreate;
++ __cthread_getspecific;
++ __cthread_setspecific;
++ __pthread_getattr_np;
++ __pthread_attr_getstack;
+ }
+}
diff --git glibc/libpthread/configure glibc/libpthread/configure
@@ -960,7 +970,7 @@ index 0000000..4e140b1
+libc_add_on_subdirs=.
diff --git glibc/libpthread/forward.c glibc/libpthread/forward.c
new file mode 100644
-index 0000000..c819357
+index 0000000..0ee84a0
--- /dev/null
+++ glibc/libpthread/forward.c
@@ -0,0 +1,281 @@
@@ -1247,20 +1257,35 @@ index 0000000..c819357
+}
diff --git glibc/libpthread/sysdeps/pthread/pthread.h glibc/libpthread/sysdeps/pthread/pthread.h
new file mode 100644
-index 0000000..1d4d3c7
+index 0000000..8e65b05
--- /dev/null
+++ glibc/libpthread/sysdeps/pthread/pthread.h
-@@ -0,0 +1,7 @@
+@@ -0,0 +1,22 @@
+#ifndef _PTHREAD_H
+#include <pthread/pthread.h>
+
++/* These represent the interface used by glibc itself. */
++
+extern int __pthread_mutex_lock (pthread_mutex_t *__mutex);
+extern int __pthread_mutex_unlock (pthread_mutex_t *__mutex);
+
++typedef struct __cthread *__cthread_t;
++typedef int __cthread_key_t;
++typedef void * (*__cthread_fn_t)(void *__arg);
++
++__cthread_t __cthread_fork (__cthread_fn_t, void *);
++void __cthread_detach (__cthread_t);
++int __cthread_keycreate (__cthread_key_t *);
++int __cthread_getspecific (__cthread_key_t, void **);
++int __cthread_setspecific (__cthread_key_t, void *);
++
++int __pthread_getattr_np (pthread_t, pthread_attr_t *);
++int __pthread_attr_getstack (const pthread_attr_t *, void **, size_t *);
++
+#endif
diff --git glibc/libpthread/include/pthread/pthread.h glibc/libpthread/include/pthread/pthread.h
new file mode 100644
-index 0000000..3aa6a93
+index 0000000..350a673
--- /dev/null
+++ glibc/libpthread/include/pthread/pthread.h
@@ -0,0 +1,835 @@
@@ -2472,10 +2497,10 @@ index 0000000..ec54d8f
+libc_hidden_def (__libc_alloca_cutoff)
diff --git glibc/libpthread/pthread/cthreads-compat.c glibc/libpthread/pthread/cthreads-compat.c
new file mode 100644
-index 0000000..1a0971b
+index 0000000..cd845ed
--- /dev/null
+++ glibc/libpthread/pthread/cthreads-compat.c
-@@ -0,0 +1,101 @@
+@@ -0,0 +1,102 @@
+/* Compatibility routines for cthreads.
+ Copyright (C) 2000, 2002, 2008 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
@@ -2498,23 +2523,20 @@ index 0000000..1a0971b
+#include <assert.h>
+#include <pthread.h>
+
-+typedef void *cthread_t;
-+typedef void *(*cthread_fn_t) (void *arg);
-+typedef int cthread_key_t;
-+
-+#define CTHREAD_KEY_INVALID (cthread_key_t) -1
++#define CTHREAD_KEY_INVALID (__cthread_key_t) -1
+
+void
-+cthread_detach (cthread_t thread)
++__cthread_detach (__cthread_t thread)
+{
+ int err;
+
+ err = pthread_detach ((pthread_t) thread);
+ assert_perror (err);
+}
++weak_alias (__cthread_detach, cthread_detach)
+
-+cthread_t
-+cthread_fork (cthread_fn_t func, void *arg)
++__cthread_t
++__cthread_fork (__cthread_fn_t func, void *arg)
+{
+ pthread_t thread;
+ int err;
@@ -2522,11 +2544,12 @@ index 0000000..1a0971b
+ err = pthread_create (&thread, NULL, func, arg);
+ assert_perror (err);
+
-+ return (cthread_t) thread;
++ return (__cthread_t) thread;
+}
++weak_alias (__cthread_fork, cthread_fork)
+
+int
-+cthread_keycreate (cthread_key_t *key)
++__cthread_keycreate (__cthread_key_t *key)
+{
+ error_t err;
+
@@ -2540,16 +2563,18 @@ index 0000000..1a0971b
+
+ return err;
+}
++weak_alias (__cthread_keycreate, cthread_keycreate)
+
+int
-+cthread_getspecific (cthread_key_t key, void **val)
++__cthread_getspecific (__cthread_key_t key, void **val)
+{
+ *val = pthread_getspecific (key);
+ return 0;
+}
++weak_alias (__cthread_getspecific, cthread_getspecific)
+
+int
-+cthread_setspecific (cthread_key_t key, void *val)
++__cthread_setspecific (__cthread_key_t key, void *val)
+{
+ error_t err;
+
@@ -2562,6 +2587,7 @@ index 0000000..1a0971b
+
+ return err;
+}
++weak_alias (__cthread_setspecific, cthread_setspecific)
+
+void
+__mutex_lock_solid (void *lock)
@@ -3446,10 +3472,10 @@ index 0000000..af75937
+strong_alias (__pthread_exit, pthread_exit);
diff --git glibc/libpthread/pthread/pt-getattr.c glibc/libpthread/pthread/pt-getattr.c
new file mode 100644
-index 0000000..574420a
+index 0000000..0b86c66
--- /dev/null
+++ glibc/libpthread/pthread/pt-getattr.c
-@@ -0,0 +1,51 @@
+@@ -0,0 +1,52 @@
+/* Thread attributes retrieval.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
@@ -3479,7 +3505,7 @@ index 0000000..574420a
+ already running thread THREAD. It shall be called on an uninitialized ATTR
+ and destroyed with pthread_attr_destroy when no longer needed. */
+int
-+pthread_getattr_np (pthread_t thread, pthread_attr_t *attr)
++__pthread_getattr_np (pthread_t thread, pthread_attr_t *attr)
+{
+ struct __pthread *pthread;
+
@@ -3501,6 +3527,7 @@ index 0000000..574420a
+
+ return 0;
+}
++weak_alias (__pthread_getattr_np, pthread_getattr_np)
diff --git glibc/libpthread/pthread/pt-initialize.c glibc/libpthread/pthread/pt-initialize.c
new file mode 100644
index 0000000..4435a36
@@ -4719,10 +4746,10 @@ index 0000000..5e0c1a0
+strong_alias (__pthread_attr_getscope, pthread_attr_getscope);
diff --git glibc/libpthread/sysdeps/generic/pt-attr-getstack.c glibc/libpthread/sysdeps/generic/pt-attr-getstack.c
new file mode 100644
-index 0000000..7beb79f
+index 0000000..5ab821e
--- /dev/null
+++ glibc/libpthread/sysdeps/generic/pt-attr-getstack.c
-@@ -0,0 +1,31 @@
+@@ -0,0 +1,32 @@
+/* pthread_attr_getstack. Generic version.
+ Copyright (C) 2002 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
@@ -4746,7 +4773,7 @@ index 0000000..7beb79f
+#include <pt-internal.h>
+
+int
-+pthread_attr_getstack (const pthread_attr_t *attr,
++__pthread_attr_getstack (const pthread_attr_t *attr,
+ void **stackaddr,
+ size_t *stacksize)
+{
@@ -4754,6 +4781,7 @@ index 0000000..7beb79f
+ pthread_attr_getstacksize (attr, stacksize);
+ return 0;
+}
++weak_alias (__pthread_attr_getstack, pthread_attr_getstack)
diff --git glibc/libpthread/sysdeps/generic/pt-attr-getstackaddr.c glibc/libpthread/sysdeps/generic/pt-attr-getstackaddr.c
new file mode 100644
index 0000000..0360701
@@ -5261,7 +5289,7 @@ index 0000000..da754d7
+}
diff --git glibc/libpthread/sysdeps/generic/pt-attr.c glibc/libpthread/sysdeps/generic/pt-attr.c
new file mode 100644
-index 0000000..064b6ea
+index 0000000..48d8323
--- /dev/null
+++ glibc/libpthread/sysdeps/generic/pt-attr.c
@@ -0,0 +1,41 @@
@@ -6497,7 +6525,7 @@ index 0000000..03868d3
+}
diff --git glibc/libpthread/sysdeps/generic/pt-getschedparam.c glibc/libpthread/sysdeps/generic/pt-getschedparam.c
new file mode 100644
-index 0000000..00974cf
+index 0000000..5b20421
--- /dev/null
+++ glibc/libpthread/sysdeps/generic/pt-getschedparam.c
@@ -0,0 +1,32 @@
@@ -10183,11 +10211,11 @@ index 0000000..0dfc1f6
+}
+
+#endif
-diff --git a/libpthread/sysdeps/i386/bits/pthreadtypes-arch.h b/libpthread/sysdeps/i386/bits/pthreadtypes-arch.h
+diff --git glibc/libpthread/sysdeps/i386/bits/pthreadtypes-arch.h glibc/libpthread/sysdeps/i386/bits/pthreadtypes-arch.h
new file mode 100644
index 0000000..7e7a311
--- /dev/null
-+++ b/libpthread/sysdeps/i386/bits/pthreadtypes-arch.h
++++ glibc/libpthread/sysdeps/i386/bits/pthreadtypes-arch.h
@@ -0,0 +1,21 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
@@ -10210,11 +10238,11 @@ index 0000000..7e7a311
+#define _BITS_PTHREADTYPES_ARCH_H 1
+
+#endif /* bits/pthreadtypes.h */
-diff --git a/libpthread/sysdeps/pthread/bits/thread-shared-types.h b/libpthread/sysdeps/pthread/bits/thread-shared-types.h
+diff --git glibc/libpthread/sysdeps/pthread/bits/thread-shared-types.h glibc/libpthread/sysdeps/pthread/bits/thread-shared-types.h
new file mode 100644
index 0000000..369fead
--- /dev/null
-+++ b/libpthread/sysdeps/pthread/bits/thread-shared-types.h
++++ glibc/libpthread/sysdeps/pthread/bits/thread-shared-types.h
@@ -0,0 +1,24 @@
+/* Common threading primitives definitions for both POSIX and C11.
+ Copyright (C) 2017 Free Software Foundation, Inc.
@@ -12642,7 +12670,7 @@ index 0000000..80e6b09
+#endif /* bits/pthread.h */
diff --git glibc/libpthread/sysdeps/pthread/bits/pthreadtypes.h glibc/libpthread/sysdeps/pthread/bits/pthreadtypes.h
new file mode 100644
-index 0000000..70368ff
+index 0000000..3e44d6b
--- /dev/null
+++ glibc/libpthread/sysdeps/pthread/bits/pthreadtypes.h
@@ -0,0 +1,30 @@
diff --git a/debian/patches/hurd-i386/tg-thread-linkspace.diff b/debian/patches/hurd-i386/tg-thread-linkspace.diff
new file mode 100644
index 0000000..0ee6c02
--- /dev/null
+++ b/debian/patches/hurd-i386/tg-thread-linkspace.diff
@@ -0,0 +1,147 @@
+From: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Subject: [PATCH] Fix thread linkspace
+
+Libc uses some thread functions, but should not expose the corresponding
+symbols, so call aliases.
+
+---
+ hurd/Versions | 6 +++---
+ hurd/hurdsig.c | 20 ++++++++++----------
+ sysdeps/mach/hurd/cthreads.c | 10 +++++-----
+ sysdeps/mach/libc-lock.h | 4 ++--
+ 4 files changed, 20 insertions(+), 20 deletions(-)
+
+diff --git a/hurd/Versions b/hurd/Versions
+index 414231b5b4..e040b49edc 100644
+--- a/hurd/Versions
++++ b/hurd/Versions
+@@ -143,14 +143,14 @@ libc {
+
+ HURD_CTHREADS_0.3 {
+ # weak refs to libthreads functions that libc calls iff libthreads in use
+- cthread_fork; cthread_detach;
+- pthread_getattr_np; pthread_attr_getstack;
++ __cthread_fork; __cthread_detach;
++ __pthread_getattr_np; __pthread_attr_getstack;
+
+ # variables used for detecting cthreads
+ _cthread_exit_routine; _cthread_init_routine;
+
+ # cthreads functions with stubs in libc
+- cthread_keycreate; cthread_getspecific; cthread_setspecific;
++ __cthread_keycreate; __cthread_getspecific; __cthread_setspecific;
+ __libc_getspecific;
+ }
+
+diff --git a/hurd/hurdsig.c b/hurd/hurdsig.c
+index fd787c6c1b..8584d5c631 100644
+--- a/hurd/hurdsig.c
++++ b/hurd/hurdsig.c
+@@ -1466,11 +1466,11 @@ _hurdsig_init (const int *intarray, size_t intarraysize)
+
+ /* Start the signal thread listening on the message port. */
+
+-#pragma weak cthread_fork
+-#pragma weak cthread_detach
+-#pragma weak pthread_getattr_np
+-#pragma weak pthread_attr_getstack
+- if (!cthread_fork)
++#pragma weak __cthread_fork
++#pragma weak __cthread_detach
++#pragma weak __pthread_getattr_np
++#pragma weak __pthread_attr_getstack
++ if (!__cthread_fork)
+ {
+ err = __thread_create (__mach_task_self (), &_hurd_msgport_thread);
+ assert_perror (err);
+@@ -1495,7 +1495,7 @@ _hurdsig_init (const int *intarray, size_t intarraysize)
+ }
+ else
+ {
+- cthread_t thread;
++ __cthread_t thread;
+ /* When cthreads is being used, we need to make the signal thread a
+ proper cthread. Otherwise it cannot use mutex_lock et al, which
+ will be the cthreads versions. Various of the message port RPC
+@@ -1505,17 +1505,17 @@ _hurdsig_init (const int *intarray, size_t intarraysize)
+ we'll let the signal thread's per-thread variables be found as for
+ any normal cthread, and just leave the magic __hurd_sigthread_*
+ values all zero so they'll be ignored. */
+- cthread_detach (thread = cthread_fork ((cthread_fn_t) &_hurd_msgport_receive, 0));
++ __cthread_detach (thread = __cthread_fork ((__cthread_fn_t) &_hurd_msgport_receive, 0));
+
+- if (pthread_getattr_np)
++ if (__pthread_getattr_np)
+ {
+ /* Record stack layout for fork() */
+ pthread_attr_t attr;
+ void *addr;
+ size_t size;
+
+- pthread_getattr_np ((pthread_t) thread, &attr);
+- pthread_attr_getstack (&attr, &addr, &size);
++ __pthread_getattr_np ((pthread_t) thread, &attr);
++ __pthread_attr_getstack (&attr, &addr, &size);
+ __hurd_sigthread_stack_base = (uintptr_t) addr;
+ __hurd_sigthread_stack_end = __hurd_sigthread_stack_base + size;
+ }
+diff --git a/sysdeps/mach/hurd/cthreads.c b/sysdeps/mach/hurd/cthreads.c
+index f223e00b12..0a3780b273 100644
+--- a/sysdeps/mach/hurd/cthreads.c
++++ b/sysdeps/mach/hurd/cthreads.c
+@@ -24,7 +24,7 @@ char __libc_lock_self0[0];
+ /* Placeholder for key creation routine from Hurd cthreads library. */
+ int
+ weak_function
+-cthread_keycreate (cthread_key_t *key)
++__cthread_keycreate (cthread_key_t *key)
+ {
+ __set_errno (ENOSYS);
+ *key = -1;
+@@ -34,7 +34,7 @@ cthread_keycreate (cthread_key_t *key)
+ /* Placeholder for key retrieval routine from Hurd cthreads library. */
+ int
+ weak_function
+-cthread_getspecific (cthread_key_t key, void **pval)
++__cthread_getspecific (cthread_key_t key, void **pval)
+ {
+ *pval = NULL;
+ __set_errno (ENOSYS);
+@@ -44,19 +44,19 @@ cthread_getspecific (cthread_key_t key, void **pval)
+ /* Placeholder for key setting routine from Hurd cthreads library. */
+ int
+ weak_function
+-cthread_setspecific (cthread_key_t key, void *val)
++__cthread_setspecific (cthread_key_t key, void *val)
+ {
+ __set_errno (ENOSYS);
+ return -1;
+ }
+
+-/* Call cthread_getspecific which gets a pointer to the return value instead
++/* Call __cthread_getspecific which gets a pointer to the return value instead
+ of just returning it. */
+ void *
+ weak_function
+ __libc_getspecific (cthread_key_t key)
+ {
+ void *val;
+- cthread_getspecific (key, &val);
++ __cthread_getspecific (key, &val);
+ return val;
+ }
+diff --git a/sysdeps/mach/libc-lock.h b/sysdeps/mach/libc-lock.h
+index f9f57a0a65..35233f797e 100644
+--- a/sysdeps/mach/libc-lock.h
++++ b/sysdeps/mach/libc-lock.h
+@@ -223,8 +223,8 @@ struct __libc_once
+ used as argument to __libc_cleanup_region_start. */
+ #define __libc_mutex_unlock __libc_lock_unlock
+
+-#define __libc_key_create(KEY,DEST) cthread_keycreate (KEY)
+-#define __libc_setspecific(KEY,VAL) cthread_setspecific (KEY, VAL)
++#define __libc_key_create(KEY,DEST) __cthread_keycreate (KEY)
++#define __libc_setspecific(KEY,VAL) __cthread_setspecific (KEY, VAL)
+ void *__libc_getspecific (__libc_key_t key);
+
+ /* Hide the definitions which are only supposed to be used inside libc in
diff --git a/debian/patches/series b/debian/patches/series
index e154e32..6a45ce6 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -161,6 +161,7 @@ hurd-i386/git-hidden-def.diff
hurd-i386/git-hidden-def-2.diff
hurd-i386/git-dl-sysdep-check.diff
hurd-i386/git-socket-limit.diff
+hurd-i386/tg-thread-linkspace.diff
i386/local-biarch.diff
i386/unsubmitted-quiet-ldconfig.diff
diff --git a/debian/testsuite-xfail-debian.mk b/debian/testsuite-xfail-debian.mk
index 24edf53..f26521e 100644
--- a/debian/testsuite-xfail-debian.mk
+++ b/debian/testsuite-xfail-debian.mk
@@ -238,42 +238,8 @@ test-xfail-XPG4/sys/resource.h/conform = yes
test-xfail-XPG4/sys/statvfs.h/conform = yes
test-xfail-XPG4/sys/un.h/conform = yes
-test-xfail-ISO11/assert.h/linknamespace = yes
-test-xfail-ISO11/complex.h/linknamespace = yes
-test-xfail-ISO11/fenv.h/linknamespace = yes
-test-xfail-ISO11/locale.h/linknamespace = yes
-test-xfail-ISO11/math.h/linknamespace = yes
-test-xfail-ISO11/setjmp.h/linknamespace = yes
-test-xfail-ISO11/signal.h/linknamespace = yes
-test-xfail-ISO11/stdio.h/linknamespace = yes
-test-xfail-ISO11/stdlib.h/linknamespace = yes
-test-xfail-ISO11/string.h/linknamespace = yes
-test-xfail-ISO11/tgmath.h/linknamespace = yes
test-xfail-ISO11/time.h/linknamespace = yes
-test-xfail-ISO11/uchar.h/linknamespace = yes
-test-xfail-ISO11/wchar.h/linknamespace = yes
-test-xfail-ISO99/assert.h/linknamespace = yes
-test-xfail-ISO99/complex.h/linknamespace = yes
-test-xfail-ISO99/fenv.h/linknamespace = yes
-test-xfail-ISO99/locale.h/linknamespace = yes
-test-xfail-ISO99/math.h/linknamespace = yes
-test-xfail-ISO99/setjmp.h/linknamespace = yes
-test-xfail-ISO99/signal.h/linknamespace = yes
-test-xfail-ISO99/stdio.h/linknamespace = yes
-test-xfail-ISO99/stdlib.h/linknamespace = yes
-test-xfail-ISO99/string.h/linknamespace = yes
-test-xfail-ISO99/tgmath.h/linknamespace = yes
-test-xfail-ISO99/time.h/linknamespace = yes
-test-xfail-ISO99/wchar.h/linknamespace = yes
-test-xfail-ISO/assert.h/linknamespace = yes
-test-xfail-ISO/locale.h/linknamespace = yes
-test-xfail-ISO/math.h/linknamespace = yes
-test-xfail-ISO/setjmp.h/linknamespace = yes
-test-xfail-ISO/signal.h/linknamespace = yes
-test-xfail-ISO/stdio.h/linknamespace = yes
-test-xfail-ISO/stdlib.h/linknamespace = yes
-test-xfail-ISO/string.h/linknamespace = yes
-test-xfail-ISO/time.h/linknamespace = yes
+
test-xfail-POSIX2008/aio.h/linknamespace = yes
test-xfail-POSIX2008/arpa/inet.h/linknamespace = yes
test-xfail-POSIX2008/assert.h/linknamespace = yes
@@ -478,71 +444,20 @@ test-xfail-XOPEN2K/ulimit.h/linknamespace = yes
test-xfail-XOPEN2K/utime.h/linknamespace = yes
test-xfail-XOPEN2K/utmpx.h/linknamespace = yes
test-xfail-XOPEN2K/wchar.h/linknamespace = yes
-test-xfail-XPG3/assert.h/linknamespace = yes
-test-xfail-XPG3/dirent.h/linknamespace = yes
-test-xfail-XPG3/fcntl.h/linknamespace = yes
-test-xfail-XPG3/ftw.h/linknamespace = yes
-test-xfail-XPG3/grp.h/linknamespace = yes
-test-xfail-XPG3/iconv.h/linknamespace = yes
-test-xfail-XPG3/langinfo.h/linknamespace = yes
-test-xfail-XPG3/locale.h/linknamespace = yes
-test-xfail-XPG3/math.h/linknamespace = yes
-test-xfail-XPG3/monetary.h/linknamespace = yes
-test-xfail-XPG3/nl_types.h/linknamespace = yes
-test-xfail-XPG3/pwd.h/linknamespace = yes
-test-xfail-XPG3/setjmp.h/linknamespace = yes
-test-xfail-XPG3/signal.h/linknamespace = yes
-test-xfail-XPG3/string.h/linknamespace = yes
-test-xfail-XPG3/sys/ipc.h/linknamespace = yes
-test-xfail-XPG3/sys/msg.h/linknamespace = yes
-test-xfail-XPG3/sys/sem.h/linknamespace = yes
-test-xfail-XPG3/sys/shm.h/linknamespace = yes
-test-xfail-XPG3/sys/stat.h/linknamespace = yes
-test-xfail-XPG3/sys/times.h/linknamespace = yes
-test-xfail-XPG3/sys/utsname.h/linknamespace = yes
-test-xfail-XPG3/sys/wait.h/linknamespace = yes
-test-xfail-XPG3/termios.h/linknamespace = yes
-test-xfail-XPG3/time.h/linknamespace = yes
-test-xfail-XPG3/ulimit.h/linknamespace = yes
-test-xfail-XPG3/utime.h/linknamespace = yes
test-xfail-XPG4/arpa/inet.h/linknamespace = yes
-test-xfail-XPG4/assert.h/linknamespace = yes
-test-xfail-XPG4/dirent.h/linknamespace = yes
-test-xfail-XPG4/fcntl.h/linknamespace = yes
test-xfail-XPG4/ftw.h/linknamespace = yes
-test-xfail-XPG4/grp.h/linknamespace = yes
-test-xfail-XPG4/iconv.h/linknamespace = yes
-test-xfail-XPG4/langinfo.h/linknamespace = yes
-test-xfail-XPG4/locale.h/linknamespace = yes
-test-xfail-XPG4/math.h/linknamespace = yes
-test-xfail-XPG4/monetary.h/linknamespace = yes
test-xfail-XPG4/netinet/in.h/linknamespace = yes
-test-xfail-XPG4/nl_types.h/linknamespace = yes
test-xfail-XPG4/poll.h/linknamespace = yes
-test-xfail-XPG4/pwd.h/linknamespace = yes
-test-xfail-XPG4/setjmp.h/linknamespace = yes
test-xfail-XPG4/signal.h/linknamespace = yes
-test-xfail-XPG4/string.h/linknamespace = yes
test-xfail-XPG4/stropts.h/linknamespace = yes
-test-xfail-XPG4/sys/ipc.h/linknamespace = yes
test-xfail-XPG4/sys/mman.h/linknamespace = yes
-test-xfail-XPG4/sys/msg.h/linknamespace = yes
test-xfail-XPG4/sys/resource.h/linknamespace = yes
-test-xfail-XPG4/sys/sem.h/linknamespace = yes
test-xfail-XPG4/sys/shm.h/linknamespace = yes
test-xfail-XPG4/sys/socket.h/linknamespace = yes
-test-xfail-XPG4/sys/stat.h/linknamespace = yes
test-xfail-XPG4/sys/statvfs.h/linknamespace = yes
test-xfail-XPG4/sys/time.h/linknamespace = yes
-test-xfail-XPG4/sys/times.h/linknamespace = yes
test-xfail-XPG4/sys/uio.h/linknamespace = yes
-test-xfail-XPG4/sys/utsname.h/linknamespace = yes
-test-xfail-XPG4/sys/wait.h/linknamespace = yes
-test-xfail-XPG4/termios.h/linknamespace = yes
-test-xfail-XPG4/time.h/linknamespace = yes
test-xfail-XPG4/ucontext.h/linknamespace = yes
-test-xfail-XPG4/ulimit.h/linknamespace = yes
-test-xfail-XPG4/utime.h/linknamespace = yes
test-xfail-XPG4/utmpx.h/linknamespace = yes
# new in 2.22
@@ -576,9 +491,6 @@ test-xfail-XOPEN2K/sys/resource.h/conform = yes
test-xfail-XOPEN2K/sys/shm.h/conform = yes
test-xfail-XOPEN2K/sys/statvfs.h/conform = yes
test-xfail-XOPEN2K/sys/un.h/conform = yes
-test-xfail-XPG3/sys/ipc.h/conform = yes
-test-xfail-XPG3/sys/msg.h/conform = yes
-test-xfail-XPG3/sys/shm.h/conform = yes
test-xfail-XPG4/sys/ipc.h/conform = yes
test-xfail-XPG4/sys/msg.h/conform = yes
test-xfail-XPG4/sys/shm.h/conform = yes
@@ -638,22 +550,9 @@ test-xfail-XOPEN2K/sys/wait.h/linknamespace = yes
test-xfail-XOPEN2K/ucontext.h/linknamespace = yes
test-xfail-XOPEN2K/unistd.h/linknamespace = yes
test-xfail-XOPEN2K/wordexp.h/linknamespace = yes
-test-xfail-XPG3/fnmatch.h/linknamespace = yes
-test-xfail-XPG3/glob.h/linknamespace = yes
-test-xfail-XPG3/regex.h/linknamespace = yes
-test-xfail-XPG3/search.h/linknamespace = yes
-test-xfail-XPG3/stdio.h/linknamespace = yes
-test-xfail-XPG3/stdlib.h/linknamespace = yes
-test-xfail-XPG3/unistd.h/linknamespace = yes
-test-xfail-XPG3/wordexp.h/linknamespace = yes
test-xfail-XPG4/fmtmsg.h/linknamespace = yes
-test-xfail-XPG4/fnmatch.h/linknamespace = yes
test-xfail-XPG4/glob.h/linknamespace = yes
test-xfail-XPG4/netdb.h/linknamespace = yes
-test-xfail-XPG4/regex.h/linknamespace = yes
-test-xfail-XPG4/search.h/linknamespace = yes
-test-xfail-XPG4/stdio.h/linknamespace = yes
-test-xfail-XPG4/stdlib.h/linknamespace = yes
test-xfail-XPG4/syslog.h/linknamespace = yes
test-xfail-XPG4/sys/timeb.h/linknamespace = yes
test-xfail-XPG4/unistd.h/linknamespace = yes
@@ -685,9 +584,6 @@ test-xfail-XOPEN2K/fcntl.h/conform = yes
test-xfail-XOPEN2K/mqueue.h/conform = yes
test-xfail-XOPEN2K/termios.h/conform = yes
test-xfail-XOPEN2K8/termios.h/conform = yes
-test-xfail-XPG3/fcntl.h/conform = yes
-test-xfail-XPG3/sys/stat.h/conform = yes
-test-xfail-XPG3/termios.h/conform = yes
test-xfail-XPG4/fcntl.h/conform = yes
test-xfail-XPG4/sys/stat.h/conform = yes
test-xfail-XPG4/termios.h/conform = yes
@@ -746,55 +642,15 @@ test-xfail-XPG42/sys/un.h/conform = yes
test-xfail-XPG42/termios.h/conform = yes
test-xfail-XPG42/arpa/inet.h/linknamespace = yes
-test-xfail-XPG42/assert.h/linknamespace = yes
-test-xfail-XPG42/dirent.h/linknamespace = yes
-test-xfail-XPG42/fcntl.h/linknamespace = yes
-test-xfail-XPG42/fmtmsg.h/linknamespace = yes
-test-xfail-XPG42/fnmatch.h/linknamespace = yes
test-xfail-XPG42/ftw.h/linknamespace = yes
test-xfail-XPG42/glob.h/linknamespace = yes
-test-xfail-XPG42/grp.h/linknamespace = yes
-test-xfail-XPG42/iconv.h/linknamespace = yes
-test-xfail-XPG42/langinfo.h/linknamespace = yes
-test-xfail-XPG42/locale.h/linknamespace = yes
-test-xfail-XPG42/math.h/linknamespace = yes
-test-xfail-XPG42/monetary.h/linknamespace = yes
test-xfail-XPG42/netdb.h/linknamespace = yes
test-xfail-XPG42/netinet/in.h/linknamespace = yes
-test-xfail-XPG42/nl_types.h/linknamespace = yes
-test-xfail-XPG42/poll.h/linknamespace = yes
-test-xfail-XPG42/pwd.h/linknamespace = yes
-test-xfail-XPG42/regex.h/linknamespace = yes
-test-xfail-XPG42/search.h/linknamespace = yes
-test-xfail-XPG42/setjmp.h/linknamespace = yes
test-xfail-XPG42/signal.h/linknamespace = yes
-test-xfail-XPG42/stdio.h/linknamespace = yes
test-xfail-XPG42/stdlib.h/linknamespace = yes
-test-xfail-XPG42/string.h/linknamespace = yes
-test-xfail-XPG42/stropts.h/linknamespace = yes
-test-xfail-XPG42/sys/ipc.h/linknamespace = yes
-test-xfail-XPG42/sys/mman.h/linknamespace = yes
-test-xfail-XPG42/sys/msg.h/linknamespace = yes
-test-xfail-XPG42/sys/resource.h/linknamespace = yes
-test-xfail-XPG42/sys/sem.h/linknamespace = yes
-test-xfail-XPG42/sys/shm.h/linknamespace = yes
test-xfail-XPG42/sys/socket.h/linknamespace = yes
-test-xfail-XPG42/sys/stat.h/linknamespace = yes
-test-xfail-XPG42/sys/statvfs.h/linknamespace = yes
-test-xfail-XPG42/sys/time.h/linknamespace = yes
-test-xfail-XPG42/sys/timeb.h/linknamespace = yes
-test-xfail-XPG42/sys/times.h/linknamespace = yes
-test-xfail-XPG42/sys/uio.h/linknamespace = yes
-test-xfail-XPG42/sys/utsname.h/linknamespace = yes
test-xfail-XPG42/sys/wait.h/linknamespace = yes
-test-xfail-XPG42/syslog.h/linknamespace = yes
-test-xfail-XPG42/termios.h/linknamespace = yes
-test-xfail-XPG42/time.h/linknamespace = yes
-test-xfail-XPG42/ucontext.h/linknamespace = yes
-test-xfail-XPG42/ulimit.h/linknamespace = yes
test-xfail-XPG42/unistd.h/linknamespace = yes
-test-xfail-XPG42/utime.h/linknamespace = yes
-test-xfail-XPG42/utmpx.h/linknamespace = yes
test-xfail-XPG42/wordexp.h/linknamespace = yes
endif
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-glibc/glibc.git
Reply to: