diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-03-12 20:03:07 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-03-12 20:03:07 +0000 |
commit | d0369fb8a9c86f4aefbfaca422c35a56a97dbf36 (patch) | |
tree | 6fe6eaae672b5810ce7dbf259022b2bd31719117 /nptl/sysdeps/x86_64 | |
parent | 6aebe7340d0ca3137949c790f84dd4b542a1c1a2 (diff) | |
download | glibc-d0369fb8a9c86f4aefbfaca422c35a56a97dbf36.zip glibc-d0369fb8a9c86f4aefbfaca422c35a56a97dbf36.tar.gz glibc-d0369fb8a9c86f4aefbfaca422c35a56a97dbf36.tar.bz2 |
Update.
2003-03-12 Ulrich Drepper <drepper@redhat.com>
* sysdeps/x86_64/tls.h [__ASSEMBLER__]: Include tcb-offsets.h.
* sysdeps/x86_64/tcb-offsets.sym: New file.
* sysdeps/x86_64/Makefile: New file.
* sysdeps/i386/tcb-offsets.sym: Add SELF.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Use SELF
to access own pthread_t in TCB.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S:
Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S:
Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S: New
file.
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S: New
file.
* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h
(pthread_cond_t): Add padding.
Diffstat (limited to 'nptl/sysdeps/x86_64')
-rw-r--r-- | nptl/sysdeps/x86_64/Makefile | 21 | ||||
-rw-r--r-- | nptl/sysdeps/x86_64/tcb-offsets.sym | 6 | ||||
-rw-r--r-- | nptl/sysdeps/x86_64/tls.h | 2 |
3 files changed, 29 insertions, 0 deletions
diff --git a/nptl/sysdeps/x86_64/Makefile b/nptl/sysdeps/x86_64/Makefile new file mode 100644 index 0000000..24990a2 --- /dev/null +++ b/nptl/sysdeps/x86_64/Makefile @@ -0,0 +1,21 @@ +# Copyright (C) 2002, 2003 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. + +ifeq ($(subdir),csu) +gen-as-const-headers += tcb-offsets.sym +endif diff --git a/nptl/sysdeps/x86_64/tcb-offsets.sym b/nptl/sysdeps/x86_64/tcb-offsets.sym new file mode 100644 index 0000000..046ad5b --- /dev/null +++ b/nptl/sysdeps/x86_64/tcb-offsets.sym @@ -0,0 +1,6 @@ +#include <sysdep.h> +#include <tls.h> + +SELF offsetof (tcbhead_t, self) +CLEANUP offsetof (struct pthread, cleanup) +CLEANUP_PREV offsetof (struct _pthread_cleanup_buffer, __prev) diff --git a/nptl/sysdeps/x86_64/tls.h b/nptl/sysdeps/x86_64/tls.h index 66ae0f3f..69c8bc5 100644 --- a/nptl/sysdeps/x86_64/tls.h +++ b/nptl/sysdeps/x86_64/tls.h @@ -42,6 +42,8 @@ typedef struct dtv_t *dtv; void *self; /* Pointer to the thread descriptor. */ } tcbhead_t; +#else /* __ASSEMBLER__ */ +# include <tcb-offsets.h> #endif |