This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[glibc] nptl: Add default pthreadtypes-arch.h


https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=94a62cc55a3175fd375081d9b4366479371ed2ab

commit 94a62cc55a3175fd375081d9b4366479371ed2ab
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Tue Nov 14 19:10:13 2017 -0200

    nptl: Add default pthreadtypes-arch.h
    
    This patch adds a default pthreadtypes-arch.h, the idea is to simpify
    new ports inclusion and an override is required only if the architecture
    adds some arch-specific extensions or requirement.
    
    The default values on the new generic header are based on current
    architecture define value and they are not optimal compared to current
    code requirements as below.
    
      - On 64 bits __SIZEOF_PTHREAD_BARRIER_T is defined as 32 while is
        sizeof (struct pthread_barrier) is 20 bytes.
    
      - On 32 bits __SIZEOF_PTHREAD_ATTR_T is defined as 36 while
        sizeof (struct pthread_attr) is 32.
    
    The default values are not changed so the generic header could be
    used by some architectures.
    
    Checked with a build on affected abis.
    
    Change-Id: Ie0cd586258a2650f715c1af0c9fe4e7063b0409a

Diff:
---
 sysdeps/alpha/nptl/bits/pthreadtypes-arch.h      | 35 ------------------
 sysdeps/arm/nptl/bits/pthreadtypes-arch.h        | 36 -------------------
 sysdeps/csky/nptl/bits/pthreadtypes-arch.h       | 37 -------------------
 sysdeps/ia64/nptl/bits/pthreadtypes-arch.h       | 35 ------------------
 sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h | 37 -------------------
 sysdeps/{s390 => }/nptl/bits/pthreadtypes-arch.h | 32 +++++++++--------
 sysdeps/powerpc/nptl/bits/pthreadtypes-arch.h    | 44 -----------------------
 sysdeps/sh/nptl/bits/pthreadtypes-arch.h         | 36 -------------------
 sysdeps/sparc/nptl/bits/pthreadtypes-arch.h      | 45 ------------------------
 9 files changed, 17 insertions(+), 320 deletions(-)

diff --git a/sysdeps/alpha/nptl/bits/pthreadtypes-arch.h b/sysdeps/alpha/nptl/bits/pthreadtypes-arch.h
deleted file mode 100644
index 09692ab..0000000
--- a/sysdeps/alpha/nptl/bits/pthreadtypes-arch.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Machine-specific pthread type layouts.  Alpha version.
-   Copyright (C) 2003-2019 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
-   <https://www.gnu.org/licenses/>.  */
-
-#ifndef _BITS_PTHREADTYPES_ARCH_H
-#define _BITS_PTHREADTYPES_ARCH_H	1
-
-#define __SIZEOF_PTHREAD_ATTR_T		56
-#define __SIZEOF_PTHREAD_MUTEX_T	40
-#define __SIZEOF_PTHREAD_MUTEXATTR_T	4
-#define __SIZEOF_PTHREAD_COND_T		48
-#define __SIZEOF_PTHREAD_CONDATTR_T	4
-#define __SIZEOF_PTHREAD_RWLOCK_T	56
-#define __SIZEOF_PTHREAD_RWLOCKATTR_T	8
-#define __SIZEOF_PTHREAD_BARRIER_T	32
-#define __SIZEOF_PTHREAD_BARRIERATTR_T	4
-
-#define __LOCK_ALIGNMENT
-#define __ONCE_ALIGNMENT
-
-#endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/arm/nptl/bits/pthreadtypes-arch.h b/sysdeps/arm/nptl/bits/pthreadtypes-arch.h
deleted file mode 100644
index 339956c..0000000
--- a/sysdeps/arm/nptl/bits/pthreadtypes-arch.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright (C) 2002-2019 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
-   <https://www.gnu.org/licenses/>.  */
-
-#ifndef _BITS_PTHREADTYPES_ARCH_H
-#define _BITS_PTHREADTYPES_ARCH_H	1
-
-#include <bits/endian.h>
-
-#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_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
-
-#define __LOCK_ALIGNMENT
-#define __ONCE_ALIGNMENT
-
-#endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/csky/nptl/bits/pthreadtypes-arch.h b/sysdeps/csky/nptl/bits/pthreadtypes-arch.h
deleted file mode 100644
index 4bcc8d7..0000000
--- a/sysdeps/csky/nptl/bits/pthreadtypes-arch.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Machine-specific pthread type layouts.  C-SKY version.
-   Copyright (C) 2018-2019 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
-   <https://www.gnu.org/licenses/>.  */
-
-#ifndef _BITS_PTHREADTYPES_ARCH_H
-#define _BITS_PTHREADTYPES_ARCH_H	1
-
-#include <bits/endian.h>
-
-#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_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
-
-#define __LOCK_ALIGNMENT
-#define __ONCE_ALIGNMENT
-
-#endif /* bits/pthreadtypes.h */
diff --git a/sysdeps/ia64/nptl/bits/pthreadtypes-arch.h b/sysdeps/ia64/nptl/bits/pthreadtypes-arch.h
deleted file mode 100644
index e3b8175..0000000
--- a/sysdeps/ia64/nptl/bits/pthreadtypes-arch.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 2003-2019 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
-
-   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
-   <https://www.gnu.org/licenses/>.  */
-
-#ifndef _BITS_PTHREADTYPES_ARCH_H
-#define _BITS_PTHREADTYPES_ARCH_H	1
-
-#define __SIZEOF_PTHREAD_ATTR_T 56
-#define __SIZEOF_PTHREAD_MUTEX_T 40
-#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
-#define __SIZEOF_PTHREAD_COND_T 48
-#define __SIZEOF_PTHREAD_CONDATTR_T 4
-#define __SIZEOF_PTHREAD_RWLOCK_T 56
-#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
-#define __SIZEOF_PTHREAD_BARRIER_T 32
-#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
-
-#define __LOCK_ALIGNMENT
-#define __ONCE_ALIGNMENT
-
-#endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h b/sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h
deleted file mode 100644
index ed2852a..0000000
--- a/sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright (C) 2002-2019 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
-   <https://www.gnu.org/licenses/>.  */
-
-#ifndef _BITS_PTHREADTYPES_ARCH_H
-# define _BITS_PTHREADTYPES_ARCH_H	1
-
-# include <bits/endian.h>
-
-# 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_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
-
-#define __LOCK_ALIGNMENT
-#define __ONCE_ALIGNMENT
-
-#endif	/* bits/pthreadtypes.h.  */
diff --git a/sysdeps/s390/nptl/bits/pthreadtypes-arch.h b/sysdeps/nptl/bits/pthreadtypes-arch.h
similarity index 56%
rename from sysdeps/s390/nptl/bits/pthreadtypes-arch.h
rename to sysdeps/nptl/bits/pthreadtypes-arch.h
index 99f27d3..373dd2b 100644
--- a/sysdeps/s390/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/nptl/bits/pthreadtypes-arch.h
@@ -1,4 +1,6 @@
-/* Copyright (C) 2003-2019 Free Software Foundation, Inc.
+/* Machine-specific pthread type layouts.  Generic version.
+   Copyright (C) 2019 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
@@ -13,7 +15,7 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, see
-   <https://www.gnu.org/licenses/>.  */
+   <http://www.gnu.org/licenses/>.  */
 
 #ifndef _BITS_PTHREADTYPES_ARCH_H
 #define _BITS_PTHREADTYPES_ARCH_H	1
@@ -21,21 +23,21 @@
 #include <bits/wordsize.h>
 
 #if __WORDSIZE == 64
-# define __SIZEOF_PTHREAD_ATTR_T 56
-# define __SIZEOF_PTHREAD_MUTEX_T 40
-# define __SIZEOF_PTHREAD_RWLOCK_T 56
-# define __SIZEOF_PTHREAD_BARRIER_T 32
+# define __SIZEOF_PTHREAD_ATTR_T        56
+# define __SIZEOF_PTHREAD_MUTEX_T       40
+# define __SIZEOF_PTHREAD_RWLOCK_T      56
+# define __SIZEOF_PTHREAD_BARRIER_T     32
 #else
-# define __SIZEOF_PTHREAD_ATTR_T 36
-# define __SIZEOF_PTHREAD_MUTEX_T 24
-# define __SIZEOF_PTHREAD_RWLOCK_T 32
-# define __SIZEOF_PTHREAD_BARRIER_T 20
+# define __SIZEOF_PTHREAD_ATTR_T        36
+# define __SIZEOF_PTHREAD_MUTEX_T       24
+# define __SIZEOF_PTHREAD_RWLOCK_T      32
+# define __SIZEOF_PTHREAD_BARRIER_T     20
 #endif
-#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
-#define __SIZEOF_PTHREAD_CONDATTR_T 4
-#define __SIZEOF_PTHREAD_COND_T 48
-#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
-#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
+#define __SIZEOF_PTHREAD_MUTEXATTR_T     4
+#define __SIZEOF_PTHREAD_RWLOCKATTR_T    8
+#define __SIZEOF_PTHREAD_BARRIERATTR_T   4
+#define __SIZEOF_PTHREAD_COND_T         48
+#define __SIZEOF_PTHREAD_CONDATTR_T      4
 
 #define __LOCK_ALIGNMENT
 #define __ONCE_ALIGNMENT
diff --git a/sysdeps/powerpc/nptl/bits/pthreadtypes-arch.h b/sysdeps/powerpc/nptl/bits/pthreadtypes-arch.h
deleted file mode 100644
index eff60d6..0000000
--- a/sysdeps/powerpc/nptl/bits/pthreadtypes-arch.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Machine-specific pthread type layouts.  PowerPC version.
-   Copyright (C) 2003-2019 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
-   <https://www.gnu.org/licenses/>.  */
-
-#ifndef _BITS_PTHREADTYPES_ARCH_H
-#define _BITS_PTHREADTYPES_ARCH_H	1
-
-#include <bits/wordsize.h>
-
-#if __WORDSIZE == 64
-# define __SIZEOF_PTHREAD_MUTEX_T 40
-# define __SIZEOF_PTHREAD_ATTR_T 56
-# define __SIZEOF_PTHREAD_RWLOCK_T 56
-# define __SIZEOF_PTHREAD_BARRIER_T 32
-#else
-# define __SIZEOF_PTHREAD_MUTEX_T 24
-# define __SIZEOF_PTHREAD_ATTR_T 36
-# define __SIZEOF_PTHREAD_RWLOCK_T 32
-# define __SIZEOF_PTHREAD_BARRIER_T 20
-#endif
-#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
-#define __SIZEOF_PTHREAD_COND_T 48
-#define __SIZEOF_PTHREAD_CONDATTR_T 4
-#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
-#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
-
-#define __LOCK_ALIGNMENT
-#define __ONCE_ALIGNMENT
-
-#endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/sh/nptl/bits/pthreadtypes-arch.h b/sysdeps/sh/nptl/bits/pthreadtypes-arch.h
deleted file mode 100644
index dd70a5d..0000000
--- a/sysdeps/sh/nptl/bits/pthreadtypes-arch.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright (C) 2002-2019 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
-   <https://www.gnu.org/licenses/>.  */
-
-#ifndef _BITS_PTHREADTYPES_ARCH_H
-#define _BITS_PTHREADTYPES_ARCH_H	1
-
-#include <bits/endian.h>
-
-#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_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
-
-#define __LOCK_ALIGNMENT
-#define __ONCE_ALIGNMENT
-
-#endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/sparc/nptl/bits/pthreadtypes-arch.h b/sysdeps/sparc/nptl/bits/pthreadtypes-arch.h
deleted file mode 100644
index 8ea295d..0000000
--- a/sysdeps/sparc/nptl/bits/pthreadtypes-arch.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Machine-specific pthread type layouts.  SPARC version.
-   Copyright (C) 2003-2019 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
-   <https://www.gnu.org/licenses/>.  */
-
-#ifndef _BITS_PTHREADTYPES_ARCH_H
-#define _BITS_PTHREADTYPES_ARCH_H	1
-
-#include <bits/wordsize.h>
-
-#if __WORDSIZE == 64
-# define __SIZEOF_PTHREAD_ATTR_T 56
-# define __SIZEOF_PTHREAD_MUTEX_T 40
-# define __SIZEOF_PTHREAD_CONDATTR_T 4
-# define __SIZEOF_PTHREAD_RWLOCK_T 56
-# define __SIZEOF_PTHREAD_BARRIER_T 32
-#else
-# define __SIZEOF_PTHREAD_ATTR_T 36
-# define __SIZEOF_PTHREAD_MUTEX_T 24
-# define __SIZEOF_PTHREAD_CONDATTR_T 4
-# define __SIZEOF_PTHREAD_RWLOCK_T 32
-# define __SIZEOF_PTHREAD_BARRIER_T 20
-#endif
-#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
-#define __SIZEOF_PTHREAD_COND_T 48
-#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
-#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
-
-#define __LOCK_ALIGNMENT
-#define __ONCE_ALIGNMENT
-
-#endif	/* bits/pthreadtypes.h */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]