aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-12-28 22:19:04 +0000
committerUlrich Drepper <drepper@redhat.com>2002-12-28 22:19:04 +0000
commit3b7ed8712599efbecd92f4d68398fb7a593aef75 (patch)
treed8dea4cd2be3b50dd7706387988c3ddace21dd55
parentb25a62a8a36541b12e8452224bb2e71f83ade815 (diff)
downloadglibc-3b7ed8712599efbecd92f4d68398fb7a593aef75.zip
glibc-3b7ed8712599efbecd92f4d68398fb7a593aef75.tar.gz
glibc-3b7ed8712599efbecd92f4d68398fb7a593aef75.tar.bz2
Update.
2002-12-28 Ulrich Drepper <drepper@redhat.com> * misc/sys/cdefs.h (__attribute_deprecated__): New #define.
-rw-r--r--ChangeLog4
-rw-r--r--linuxthreads/ChangeLog33
-rw-r--r--linuxthreads/libc_pthread_init.c8
-rw-r--r--linuxthreads/pthread.c5
-rw-r--r--linuxthreads/sysdeps/i386/Makefile4
-rw-r--r--linuxthreads/sysdeps/i386/tcb-offsets.sym7
-rw-r--r--linuxthreads/sysdeps/i386/tls.h6
-rw-r--r--linuxthreads/sysdeps/ia64/Makefile3
-rw-r--r--linuxthreads/sysdeps/ia64/tcb-offsets.sym4
-rw-r--r--linuxthreads/sysdeps/ia64/tls.h3
-rw-r--r--linuxthreads/sysdeps/pthread/tcb-offsets.h1
-rw-r--r--linuxthreads/sysdeps/sparc/Makefile3
-rw-r--r--linuxthreads/sysdeps/sparc/sparc64/tls.h61
-rw-r--r--linuxthreads/sysdeps/sparc/tcb-offsets.sym4
-rw-r--r--linuxthreads/sysdeps/sparc/tls.h (renamed from linuxthreads/sysdeps/sparc/sparc32/tls.h)4
-rw-r--r--linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h8
-rw-r--r--linuxthreads/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h2
-rw-r--r--linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h2
-rw-r--r--linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h2
-rw-r--r--linuxthreads/tst-cancel-wrappers.sh4
-rw-r--r--misc/sys/cdefs.h7
-rw-r--r--nptl/ChangeLog19
-rw-r--r--nptl/sysdeps/i386/Makefile3
-rw-r--r--nptl/sysdeps/i386/tcb-offsets.sym5
-rw-r--r--nptl/sysdeps/i386/tls.h12
-rw-r--r--nptl/sysdeps/pthread/pthread.h5
-rw-r--r--nptl/sysdeps/pthread/tcb-offsets.h1
-rw-r--r--nptl/sysdeps/unix/sysv/linux/Versions5
-rw-r--r--nptl/sysdeps/unix/sysv/linux/libc_pthread_init.c19
29 files changed, 120 insertions, 124 deletions
diff --git a/ChangeLog b/ChangeLog
index dc70a60..5e109be 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2002-12-28 Ulrich Drepper <drepper@redhat.com>
+
+ * misc/sys/cdefs.h (__attribute_deprecated__): New #define.
+
2002-12-28 Andreas Jaeger <aj@suse.de>
* sysdeps/generic/readelflib.c (process_elf_file): Cast value to
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 3c50230..15a0974 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,36 @@
+2002-12-28 Jakub Jelinek <jakub@redhat.com>
+
+ * libc_pthread_init.c (__libc_pthread_init): Remove
+ MULTIPLE_THREADS_OFFSET check.
+ * sysdeps/i386/tls.h: Include tcb-offsets.h in assembler.
+ (SYSINFO_OFFSET): Remove.
+ * sysdeps/i386/Makefile [csu] (gen-as-const-headers): Add
+ tcb-offsets.sym.
+ * sysdeps/i386/tcb-offsets.sym: New file.
+ * sysdeps/pthread/tcb-offsets.h: New file.
+ * sysdeps/sparc/sparc32/tls.h: Removed.
+ * sysdeps/sparc/sparc64/tls.h: Move...
+ * sysdeps/sparc/tls.h: ...here. Include tcb-offsets.h in assembler.
+ * sysdeps/sparc/Makefile: New file.
+ * sysdeps/sparc/tcb-offsets.sym: New file.
+ * sysdeps/ia64/tls.h: Include tcb-offsets.h in assembler.
+ * sysdeps/ia64/Makefile: New file.
+ * sysdeps/ia64/tcb-offsets.sym: New file.
+ * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
+ (MULTIPLE_THREADS_OFFSET): Remove.
+ Replace defined MULTIPLE_THREADS_OFFSET
+ with defined FLOATING_STACKS && USE___THREAD.
+ * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h
+ (MULTIPLE_THREADS_OFFSET): Remove.
+ * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h
+ (MULTIPLE_THREADS_OFFSET): Remove.
+ * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h
+ (MULTIPLE_THREADS_OFFSET): Remove.
+ * pthread.c (__pthread_initialize_manager): Remove
+ MULTIPLE_THREADS_OFFSET cbeck.
+
+ * tst-cancel-wrappers.sh: Add line continuations.
+
2002-12-27 Jakub Jelinek <jakub@redhat.com>
* sysdeps/pthread/bits/libc-tsd.h: Include linuxthreads/descr.h
diff --git a/linuxthreads/libc_pthread_init.c b/linuxthreads/libc_pthread_init.c
index c952b22..99213a2 100644
--- a/linuxthreads/libc_pthread_init.c
+++ b/linuxthreads/libc_pthread_init.c
@@ -36,14 +36,6 @@ __libc_pthread_init (functions)
sizeof (__libc_pthread_functions));
#endif
-#ifdef MULTIPLE_THREADS_OFFSET
- /* We have a macro which is used in asm code describing data layout.
- Make sure it does not get out of date. */
- if (offsetof (struct _pthread_descr_struct, p_header.data.multiple_threads)
- != MULTIPLE_THREADS_OFFSET)
- abort ();
-#endif
-
#if !(USE_TLS && HAVE___THREAD)
/* Initialize thread-locale current locale to point to the global one.
With __thread support, the variable's initializer takes care of this. */
diff --git a/linuxthreads/pthread.c b/linuxthreads/pthread.c
index 6bd9de9..5cc5146 100644
--- a/linuxthreads/pthread.c
+++ b/linuxthreads/pthread.c
@@ -558,11 +558,6 @@ int __pthread_initialize_manager(void)
__pthread_multiple_threads = 1;
__pthread_main_thread->p_header.data.multiple_threads = 1;
* __libc_multiple_threads_ptr = 1;
-#ifdef MULTIPLE_THREADS_OFFSET
- if (offsetof(struct _pthread_descr_struct, p_header.data.multiple_threads)
- != MULTIPLE_THREADS_OFFSET)
- abort ();
-#endif
#ifndef HAVE_Z_NODELETE
if (__builtin_expect (&__dso_handle != NULL, 1))
diff --git a/linuxthreads/sysdeps/i386/Makefile b/linuxthreads/sysdeps/i386/Makefile
index d6c3514..b0051fb 100644
--- a/linuxthreads/sysdeps/i386/Makefile
+++ b/linuxthreads/sysdeps/i386/Makefile
@@ -16,3 +16,7 @@ CFLAGS-ptlongjmp.c += -fno-omit-frame-pointer
CFLAGS-semaphore.c += -fno-omit-frame-pointer
CFLAGS-sighandler.c += -fno-omit-frame-pointer
endif
+
+ifeq ($(subdir),csu)
+gen-as-const-headers += tcb-offsets.sym
+endif
diff --git a/linuxthreads/sysdeps/i386/tcb-offsets.sym b/linuxthreads/sysdeps/i386/tcb-offsets.sym
new file mode 100644
index 0000000..69a5018
--- /dev/null
+++ b/linuxthreads/sysdeps/i386/tcb-offsets.sym
@@ -0,0 +1,7 @@
+#include <sysdep.h>
+#include <tls.h>
+
+MULTIPLE_THREADS_OFFSET offsetof (tcbhead_t, multiple_threads)
+#ifdef NEED_DL_SYSINFO
+SYSINFO_OFFSET offsetof (tcbhead_t, sysinfo)
+#endif
diff --git a/linuxthreads/sysdeps/i386/tls.h b/linuxthreads/sysdeps/i386/tls.h
index 761a8ca..216ba55 100644
--- a/linuxthreads/sysdeps/i386/tls.h
+++ b/linuxthreads/sysdeps/i386/tls.h
@@ -46,11 +46,9 @@ typedef struct
uintptr_t sysinfo;
#endif
} tcbhead_t;
-#endif
-#ifdef NEED_DL_SYSINFO
-/* Offset of the SYSINFO element in tcbhead_t. */
-# define SYSINFO_OFFSET 24
+#else /* __ASSEMBLER__ */
+# include <tcb-offsets.h>
#endif
/* We can support TLS only if the floating-stack support is available.
diff --git a/linuxthreads/sysdeps/ia64/Makefile b/linuxthreads/sysdeps/ia64/Makefile
new file mode 100644
index 0000000..81bddf6
--- /dev/null
+++ b/linuxthreads/sysdeps/ia64/Makefile
@@ -0,0 +1,3 @@
+ifeq ($(subdir),csu)
+gen-as-const-headers += tcb-offsets.sym
+endif
diff --git a/linuxthreads/sysdeps/ia64/tcb-offsets.sym b/linuxthreads/sysdeps/ia64/tcb-offsets.sym
new file mode 100644
index 0000000..aee6be2
--- /dev/null
+++ b/linuxthreads/sysdeps/ia64/tcb-offsets.sym
@@ -0,0 +1,4 @@
+#include <sysdep.h>
+#include <tls.h>
+
+MULTIPLE_THREADS_OFFSET offsetof (tcbhead_t, multiple_threads)
diff --git a/linuxthreads/sysdeps/ia64/tls.h b/linuxthreads/sysdeps/ia64/tls.h
index c270795..544da6e 100644
--- a/linuxthreads/sysdeps/ia64/tls.h
+++ b/linuxthreads/sysdeps/ia64/tls.h
@@ -44,6 +44,9 @@ typedef struct
void *self; /* Pointer to the thread descriptor. */
int multiple_threads;
} tcbhead_t;
+
+#else /* __ASSEMBLER__ */
+# include <tcb-offsets.h>
#endif /* __ASSEMBLER__ */
#undef USE_TLS
diff --git a/linuxthreads/sysdeps/pthread/tcb-offsets.h b/linuxthreads/sysdeps/pthread/tcb-offsets.h
new file mode 100644
index 0000000..3fe1370
--- /dev/null
+++ b/linuxthreads/sysdeps/pthread/tcb-offsets.h
@@ -0,0 +1 @@
+/* This is overridden by generated tcb-offsets.h on arches which need it. */
diff --git a/linuxthreads/sysdeps/sparc/Makefile b/linuxthreads/sysdeps/sparc/Makefile
new file mode 100644
index 0000000..81bddf6
--- /dev/null
+++ b/linuxthreads/sysdeps/sparc/Makefile
@@ -0,0 +1,3 @@
+ifeq ($(subdir),csu)
+gen-as-const-headers += tcb-offsets.sym
+endif
diff --git a/linuxthreads/sysdeps/sparc/sparc64/tls.h b/linuxthreads/sysdeps/sparc/sparc64/tls.h
deleted file mode 100644
index 039ad2b..0000000
--- a/linuxthreads/sysdeps/sparc/sparc64/tls.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Definitions for thread-local data handling. linuxthreads/sparc64 version.
- Copyright (C) 2002 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 _TLS_H
-#define _TLS_H
-
-#ifndef __ASSEMBLER__
-
-# include <pt-machine.h>
-# include <stddef.h>
-
-/* Type for the dtv. */
-typedef union dtv
-{
- size_t counter;
- void *pointer;
-} dtv_t;
-
-typedef struct
-{
- void *tcb; /* Pointer to the TCB. Not necessary the
- thread descriptor used by libpthread. */
- dtv_t *dtv;
- void *self; /* Pointer to the thread descriptor. */
- int multiple_threads;
-} tcbhead_t;
-
-#endif /* __ASSEMBLER__ */
-
-#undef USE_TLS
-
-#if USE_TLS
-
-#else
-
-#define NONTLS_INIT_TP \
- do { \
- static const tcbhead_t nontls_init_tp \
- = { .multiple_threads = 0 }; \
- __thread_self = (__typeof (__thread_self)) &nontls_init_tp; \
- } while (0)
-
-#endif /* USE_TLS */
-
-#endif /* tls.h */
diff --git a/linuxthreads/sysdeps/sparc/tcb-offsets.sym b/linuxthreads/sysdeps/sparc/tcb-offsets.sym
new file mode 100644
index 0000000..aee6be2
--- /dev/null
+++ b/linuxthreads/sysdeps/sparc/tcb-offsets.sym
@@ -0,0 +1,4 @@
+#include <sysdep.h>
+#include <tls.h>
+
+MULTIPLE_THREADS_OFFSET offsetof (tcbhead_t, multiple_threads)
diff --git a/linuxthreads/sysdeps/sparc/sparc32/tls.h b/linuxthreads/sysdeps/sparc/tls.h
index 1b316d0..4571922 100644
--- a/linuxthreads/sysdeps/sparc/sparc32/tls.h
+++ b/linuxthreads/sysdeps/sparc/tls.h
@@ -1,4 +1,4 @@
-/* Definitions for thread-local data handling. linuxthreads/sparc32 version.
+/* Definitions for thread-local data handling. linuxthreads/sparc version.
Copyright (C) 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -41,6 +41,8 @@ typedef struct
int multiple_threads;
} tcbhead_t;
+#else /* __ASSEMBLER__ */
+# include <tcb-offsets.h>
#endif /* __ASSEMBLER__ */
#undef USE_TLS
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h b/linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
index d449527..c2455a7 100644
--- a/linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
+++ b/linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
@@ -24,10 +24,6 @@
# include <linuxthreads/internals.h>
#endif
-#if defined FLOATING_STACKS && USE___THREAD
-# define MULTIPLE_THREADS_OFFSET 20
-#endif
-
#if !defined NOT_IN_libc || defined IS_IN_libpthread
# undef PSEUDO
@@ -88,7 +84,7 @@
#endif
# ifndef ASSEMBLER
-# if defined MULTIPLE_THREADS_OFFSET && defined PIC
+# if defined FLOATING_STACKS && USE___THREAD && defined PIC
# define SINGLE_THREAD_P \
__builtin_expect (THREAD_GETMEM (THREAD_SELF, \
p_header.data.multiple_threads) == 0, 1)
@@ -99,7 +95,7 @@ extern int __local_multiple_threads attribute_hidden;
# else
# if !defined PIC
# define SINGLE_THREAD_P cmpl $0, __local_multiple_threads
-# elif defined MULTIPLE_THREADS_OFFSET
+# elif defined FLOATING_STACKS && USE___THREAD
# define SINGLE_THREAD_P cmpl $0, %gs:MULTIPLE_THREADS_OFFSET
# else
# if !defined HAVE_HIDDEN || !USE___THREAD
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h b/linuxthreads/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h
index d74c044..723c2e4 100644
--- a/linuxthreads/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h
+++ b/linuxthreads/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h
@@ -23,8 +23,6 @@
# include <linuxthreads/internals.h>
#endif
-#define MULTIPLE_THREADS_OFFSET 40
-
#if !defined NOT_IN_libc || defined IS_IN_libpthread
# undef PSEUDO
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h b/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h
index ff03f63..f6afb81 100644
--- a/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h
+++ b/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h
@@ -23,8 +23,6 @@
# include <linuxthreads/internals.h>
#endif
-#define MULTIPLE_THREADS_OFFSET 20
-
#if !defined NOT_IN_libc || defined IS_IN_libpthread
# undef PSEUDO
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h b/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h
index 8b9585d..d236bf3 100644
--- a/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h
+++ b/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h
@@ -23,8 +23,6 @@
# include <linuxthreads/internals.h>
#endif
-#define MULTIPLE_THREADS_OFFSET 40
-
#if !defined NOT_IN_libc || defined IS_IN_libpthread
# undef PSEUDO
diff --git a/linuxthreads/tst-cancel-wrappers.sh b/linuxthreads/tst-cancel-wrappers.sh
index 364b472..2de0238 100644
--- a/linuxthreads/tst-cancel-wrappers.sh
+++ b/linuxthreads/tst-cancel-wrappers.sh
@@ -70,8 +70,8 @@ C["__xpg_sigpause"]=1
# signals.c in linuxthreads does the cancellation checks not using
# *_{enable,disable}_asynccancel.
# Similarly pt-system.o* is allowed to call __libc_system directly.
- if ((!seen_enable || !seen_disable)
- && !(object ~ /^signals.o/)
+ if ((!seen_enable || !seen_disable) \
+ && !(object ~ /^signals.o/) \
&& !(object ~ /^pt-system.o/))
{
printf "in '$1'(%s) %s'\''s cancellation missing\n", object, seen
diff --git a/misc/sys/cdefs.h b/misc/sys/cdefs.h
index 72dbfde..1814305 100644
--- a/misc/sys/cdefs.h
+++ b/misc/sys/cdefs.h
@@ -196,6 +196,13 @@
# define __attribute_noinline__ /* Ignore */
#endif
+/* gcc allows marking deprecated functions. */
+#if __GNUC_PREREQ (3,2)
+# define __attribute_deprecated__ __attribute__ ((__deprecated__))
+#else
+# define __attribute_deprecated__ /* Ignore */
+#endif
+
/* At some point during the gcc 2.8 development the `format_arg' attribute
for functions was introduced. We don't want to use it unconditionally
(although this would be possible) since it generates warnings.
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 24c2fb6..24d9361 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,22 @@
+2002-12-28 Jakub Jelinek <jakub@redhat.com>
+
+ * sysdeps/i386/tls.h: Include tcb-offsets.h in assembler.
+ (SYSINFO_OFFSET, MULTIPLE_THREADS_OFFSET): Remove.
+ * sysdeps/i386/Makefile: New file.
+ * sysdeps/i386/tcb-offsets.sym: New file.
+ * sysdeps/pthread/tcb-offsets.h: New file.
+ * sysdeps/unix/sysv/linux/libc_pthread_init.c (__libc_pthread_init):
+ Remove MULTIPLE_THREADS_OFFSET and SYSINFO_OFFSET checks.
+
+ * sysdeps/unix/sysv/linux/Versions [libc] (GLIBC_PRIVATE): Move
+ __register_atfork...
+ (GLIBC_2.3.2): ...here.
+
+2002-12-28 Ulrich Drepper <drepper@redhat.com>
+
+ * sysdeps/pthread/pthread.h: Mark pthread_attr_getstackaddr and
+ pthread_attr_setstackaddr with __attribute_deprecated__.
+
2002-12-27 Jakub Jelinek <jakub@redhat.com>
* pt-system.c (system): Remove cancellation handling.
diff --git a/nptl/sysdeps/i386/Makefile b/nptl/sysdeps/i386/Makefile
new file mode 100644
index 0000000..81bddf6
--- /dev/null
+++ b/nptl/sysdeps/i386/Makefile
@@ -0,0 +1,3 @@
+ifeq ($(subdir),csu)
+gen-as-const-headers += tcb-offsets.sym
+endif
diff --git a/nptl/sysdeps/i386/tcb-offsets.sym b/nptl/sysdeps/i386/tcb-offsets.sym
new file mode 100644
index 0000000..d1d0a10
--- /dev/null
+++ b/nptl/sysdeps/i386/tcb-offsets.sym
@@ -0,0 +1,5 @@
+#include <sysdep.h>
+#include <tls.h>
+
+MULTIPLE_THREADS_OFFSET offsetof (tcbhead_t, multiple_threads)
+SYSINFO_OFFSET offsetof (tcbhead_t, sysinfo)
diff --git a/nptl/sysdeps/i386/tls.h b/nptl/sysdeps/i386/tls.h
index 4f8ddb2..f830db7 100644
--- a/nptl/sysdeps/i386/tls.h
+++ b/nptl/sysdeps/i386/tls.h
@@ -46,6 +46,9 @@ typedef struct
uintptr_t sysinfo;
list_t list;
} tcbhead_t;
+
+#else /* __ASSEMBLER__ */
+# include <tcb-offsets.h>
#endif
@@ -61,15 +64,6 @@ typedef struct
the SSE memory functions. */
#define STACK_ALIGN 16
-/* Offset of the MULTIPLE_THREADS element in tcbhead_t. */
-#define MULTIPLE_THREADS_OFFSET 12
-
-#ifdef NEED_DL_SYSINFO
-/* Offset of the SYSINFO element in tcbhead_t. */
-# define SYSINFO_OFFSET 16
-#endif
-
-
#ifndef __ASSEMBLER__
/* Get system call information. */
# include <sysdep.h>
diff --git a/nptl/sysdeps/pthread/pthread.h b/nptl/sysdeps/pthread/pthread.h
index d6b0966..aeb3ef5 100644
--- a/nptl/sysdeps/pthread/pthread.h
+++ b/nptl/sysdeps/pthread/pthread.h
@@ -272,14 +272,15 @@ extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope)
/* Return the previously set address for the stack. */
extern int pthread_attr_getstackaddr (__const pthread_attr_t *__restrict
__attr, void **__restrict __stackaddr)
- __THROW;
+ __THROW __attribute_deprecated__;
/* Set the starting address of the stack of the thread to be created.
Depending on whether the stack grows up or down the value must either
be higher or lower than all the address in the memory block. The
minimal size of the block must be PTHREAD_STACK_SIZE. */
extern int pthread_attr_setstackaddr (pthread_attr_t *__attr,
- void *__stackaddr) __THROW;
+ void *__stackaddr)
+ __THROW __attribute_deprecated__;
/* Return the currently used minimal stack size. */
extern int pthread_attr_getstacksize (__const pthread_attr_t *__restrict
diff --git a/nptl/sysdeps/pthread/tcb-offsets.h b/nptl/sysdeps/pthread/tcb-offsets.h
new file mode 100644
index 0000000..3fe1370
--- /dev/null
+++ b/nptl/sysdeps/pthread/tcb-offsets.h
@@ -0,0 +1 @@
+/* This is overridden by generated tcb-offsets.h on arches which need it. */
diff --git a/nptl/sysdeps/unix/sysv/linux/Versions b/nptl/sysdeps/unix/sysv/linux/Versions
index 8fea097..d182555 100644
--- a/nptl/sysdeps/unix/sysv/linux/Versions
+++ b/nptl/sysdeps/unix/sysv/linux/Versions
@@ -1,6 +1,9 @@
libc {
+ GLIBC_2.3.2 {
+ __register_atfork;
+ }
GLIBC_PRIVATE {
- __register_atfork; __libc_pthread_init;
+ __libc_pthread_init;
__libc_current_sigrtmin_private; __libc_current_sigrtmax_private;
__libc_allocate_rtsig_private;
}
diff --git a/nptl/sysdeps/unix/sysv/linux/libc_pthread_init.c b/nptl/sysdeps/unix/sysv/linux/libc_pthread_init.c
index 87c9734..fdda78b 100644
--- a/nptl/sysdeps/unix/sysv/linux/libc_pthread_init.c
+++ b/nptl/sysdeps/unix/sysv/linux/libc_pthread_init.c
@@ -52,23 +52,4 @@ __libc_pthread_init (ptr, reclaim, functions)
memcpy (&__libc_pthread_functions, functions,
sizeof (__libc_pthread_functions));
#endif
-
- /* We have a macro which is used in asm code describing data layout.
- Make sure it does not get out of date. */
- if (offsetof (struct pthread, header.data.multiple_threads)
- != MULTIPLE_THREADS_OFFSET)
- {
-#define str_n_len(str) str, sizeof (str) - 1
- __libc_write (STDERR_FILENO,
- str_n_len ("*** MULTIPLE_THREADS_OFFSET out of date\n"));
- _exit (1);
- }
-#ifdef SYSINFO_OFFSET
- if (offsetof (struct pthread, header.data.sysinfo) != SYSINFO_OFFSET)
- {
- __libc_write (STDERR_FILENO,
- str_n_len ("*** SYSINFO_OFFSET out of date\n"));
- _exit (1);
- }
-#endif
}