From d0369fb8a9c86f4aefbfaca422c35a56a97dbf36 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 12 Mar 2003 20:03:07 +0000 Subject: Update. 2003-03-12 Ulrich Drepper * 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. --- nptl/sysdeps/x86_64/Makefile | 21 +++++++++++++++++++++ nptl/sysdeps/x86_64/tcb-offsets.sym | 6 ++++++ nptl/sysdeps/x86_64/tls.h | 2 ++ 3 files changed, 29 insertions(+) create mode 100644 nptl/sysdeps/x86_64/Makefile create mode 100644 nptl/sysdeps/x86_64/tcb-offsets.sym (limited to 'nptl/sysdeps/x86_64') 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 +#include + +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 #endif -- cgit v1.1