From 0e20515a17445ec961a05b14a7355b79fc421564 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Wed, 30 May 2012 17:29:22 -0700 Subject: [PATCH] Use x86-64 bits/pthreadtypes.h/semaphore.h for i386/x86-64 --- nptl/ChangeLog | 14 ++ nptl/sysdeps/unix/sysv/linux/i386/Implies | 1 + .../unix/sysv/linux/i386/bits/pthreadtypes.h | 176 --------------------- nptl/sysdeps/unix/sysv/linux/i386/bits/semaphore.h | 35 ---- .../sysv/linux/{x86_64 => x86}/bits/pthreadtypes.h | 0 .../sysv/linux/{x86_64 => x86}/bits/semaphore.h | 0 nptl/sysdeps/unix/sysv/linux/x86_64/Implies | 1 + 7 files changed, 16 insertions(+), 211 deletions(-) create mode 100644 nptl/sysdeps/unix/sysv/linux/i386/Implies delete mode 100644 nptl/sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h delete mode 100644 nptl/sysdeps/unix/sysv/linux/i386/bits/semaphore.h rename nptl/sysdeps/unix/sysv/linux/{x86_64 => x86}/bits/pthreadtypes.h (100%) rename nptl/sysdeps/unix/sysv/linux/{x86_64 => x86}/bits/semaphore.h (100%) create mode 100644 nptl/sysdeps/unix/sysv/linux/x86_64/Implies diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 4c56f13..f966467 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,17 @@ +2012-05-30 H.J. Lu + + [BZ #14117] + * sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Removed. + * sysdeps/unix/sysv/linux/i386/bits/semaphore.h: Likewise. + * sysdeps/unix/sysv/linux/i386/Implies: New file. + * sysdeps/unix/sysv/linux/x86_64/Implies: Likewise. + * sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Renamed + to ... + * sysdeps/unix/sysv/linux/x86/bits/pthreadtypes.h: This. + * sysdeps/unix/sysv/linux/x86_64/bits/semaphore.h: Renamed + to ... + * sysdeps/unix/sysv/linux/x86/bits/semaphore.h: This. + 2012-05-30 Andreas Schwab [BZ #14132] diff --git a/nptl/sysdeps/unix/sysv/linux/i386/Implies b/nptl/sysdeps/unix/sysv/linux/i386/Implies new file mode 100644 index 0000000..ccc7eaa --- /dev/null +++ b/nptl/sysdeps/unix/sysv/linux/i386/Implies @@ -0,0 +1 @@ +unix/sysv/linux/x86 diff --git a/nptl/sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h b/nptl/sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h deleted file mode 100644 index 5952454..0000000 --- a/nptl/sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h +++ /dev/null @@ -1,176 +0,0 @@ -/* Copyright (C) 2002-2007, 2012 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, see - . */ - -#ifndef _BITS_PTHREADTYPES_H -#define _BITS_PTHREADTYPES_H 1 - -#define __SIZEOF_PTHREAD_ATTR_T 36 -#define __SIZEOF_PTHREAD_MUTEX_T 24 -#define __SIZEOF_PTHREAD_MUTEXATTR_T 4 -#define __SIZEOF_PTHREAD_COND_T 48 -#define __SIZEOF_PTHREAD_COND_COMPAT_T 12 -#define __SIZEOF_PTHREAD_CONDATTR_T 4 -#define __SIZEOF_PTHREAD_RWLOCK_T 32 -#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8 -#define __SIZEOF_PTHREAD_BARRIER_T 20 -#define __SIZEOF_PTHREAD_BARRIERATTR_T 4 - - -/* Thread identifiers. The structure of the attribute type is not - exposed on purpose. */ -typedef unsigned long int pthread_t; - - -union pthread_attr_t -{ - char __size[__SIZEOF_PTHREAD_ATTR_T]; - long int __align; -}; -#ifndef __have_pthread_attr_t -typedef union pthread_attr_t pthread_attr_t; -# define __have_pthread_attr_t 1 -#endif - - -typedef struct __pthread_internal_slist -{ - struct __pthread_internal_slist *__next; -} __pthread_slist_t; - - -/* Data structures for mutex handling. The structure of the attribute - type is not exposed on purpose. */ -typedef union -{ - struct __pthread_mutex_s - { - int __lock; - unsigned int __count; - int __owner; - /* KIND must stay at this position in the structure to maintain - binary compatibility. */ - int __kind; - unsigned int __nusers; - __extension__ union - { - int __spins; - __pthread_slist_t __list; - }; - } __data; - char __size[__SIZEOF_PTHREAD_MUTEX_T]; - long int __align; -} pthread_mutex_t; - -typedef union -{ - char __size[__SIZEOF_PTHREAD_MUTEXATTR_T]; - long int __align; -} pthread_mutexattr_t; - - -/* Data structure for conditional variable handling. The structure of - the attribute type is not exposed on purpose. */ -typedef union -{ - struct - { - int __lock; - unsigned int __futex; - __extension__ unsigned long long int __total_seq; - __extension__ unsigned long long int __wakeup_seq; - __extension__ unsigned long long int __woken_seq; - void *__mutex; - unsigned int __nwaiters; - unsigned int __broadcast_seq; - } __data; - char __size[__SIZEOF_PTHREAD_COND_T]; - __extension__ long long int __align; -} pthread_cond_t; - -typedef union -{ - char __size[__SIZEOF_PTHREAD_CONDATTR_T]; - long int __align; -} pthread_condattr_t; - - -/* Keys for thread-specific data */ -typedef unsigned int pthread_key_t; - - -/* Once-only execution */ -typedef int pthread_once_t; - - -#if defined __USE_UNIX98 || defined __USE_XOPEN2K -/* Data structure for read-write lock variable handling. The - structure of the attribute type is not exposed on purpose. */ -typedef union -{ - struct - { - int __lock; - unsigned int __nr_readers; - unsigned int __readers_wakeup; - unsigned int __writer_wakeup; - unsigned int __nr_readers_queued; - unsigned int __nr_writers_queued; - /* FLAGS must stay at this position in the structure to maintain - binary compatibility. */ - unsigned char __flags; - unsigned char __shared; - unsigned char __pad1; - unsigned char __pad2; - int __writer; - } __data; - char __size[__SIZEOF_PTHREAD_RWLOCK_T]; - long int __align; -} pthread_rwlock_t; - -typedef union -{ - char __size[__SIZEOF_PTHREAD_RWLOCKATTR_T]; - long int __align; -} pthread_rwlockattr_t; -#endif - - -#ifdef __USE_XOPEN2K -/* POSIX spinlock data type. */ -typedef volatile int pthread_spinlock_t; - - -/* POSIX barriers data type. The structure of the type is - deliberately not exposed. */ -typedef union -{ - char __size[__SIZEOF_PTHREAD_BARRIER_T]; - long int __align; -} pthread_barrier_t; - -typedef union -{ - char __size[__SIZEOF_PTHREAD_BARRIERATTR_T]; - int __align; -} pthread_barrierattr_t; -#endif - - -/* Extra attributes for the cleanup functions. */ -#define __cleanup_fct_attribute __attribute__ ((__regparm__ (1))) - -#endif /* bits/pthreadtypes.h */ diff --git a/nptl/sysdeps/unix/sysv/linux/i386/bits/semaphore.h b/nptl/sysdeps/unix/sysv/linux/i386/bits/semaphore.h deleted file mode 100644 index 9da293a..0000000 --- a/nptl/sysdeps/unix/sysv/linux/i386/bits/semaphore.h +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (C) 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 2002. - - 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, see - . */ - -#ifndef _SEMAPHORE_H -# error "Never use directly; include instead." -#endif - - -#define __SIZEOF_SEM_T 16 - - -/* Value returned if `sem_open' failed. */ -#define SEM_FAILED ((sem_t *) 0) - - -typedef union -{ - char __size[__SIZEOF_SEM_T]; - long int __align; -} sem_t; diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h b/nptl/sysdeps/unix/sysv/linux/x86/bits/pthreadtypes.h similarity index 100% rename from nptl/sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h rename to nptl/sysdeps/unix/sysv/linux/x86/bits/pthreadtypes.h diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/bits/semaphore.h b/nptl/sysdeps/unix/sysv/linux/x86/bits/semaphore.h similarity index 100% rename from nptl/sysdeps/unix/sysv/linux/x86_64/bits/semaphore.h rename to nptl/sysdeps/unix/sysv/linux/x86/bits/semaphore.h diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/Implies b/nptl/sysdeps/unix/sysv/linux/x86_64/Implies new file mode 100644 index 0000000..ccc7eaa --- /dev/null +++ b/nptl/sysdeps/unix/sysv/linux/x86_64/Implies @@ -0,0 +1 @@ +unix/sysv/linux/x86 -- 2.7.4