[review] nptl: Add default pthread-offsets.h
Adhemerval Zanella (Code Review)
gerrit@gnutoolchain-gerrit.osci.io
Thu Nov 7 14:25:00 GMT 2019
Change URL: https://gnutoolchain-gerrit.osci.io/r/c/glibc/+/521
......................................................................
nptl: Add default pthread-offsets.h
This patch adds a default pthread-offsets.h based on default
thread definitions from mutex-internal.h and rwlock-internal.h.
The idea is to simpify new ports inclusion.
Checked with a build on affected abis.
Change-Id: I7785a9581e651feb80d1413b9e03b5ac0452668a
---
D sysdeps/aarch64/nptl/pthread-offsets.h
D sysdeps/alpha/nptl/pthread-offsets.h
D sysdeps/arm/nptl/pthread-offsets.h
D sysdeps/csky/nptl/pthread-offsets.h
D sysdeps/ia64/nptl/pthread-offsets.h
D sysdeps/m68k/nptl/pthread-offsets.h
D sysdeps/microblaze/nptl/pthread-offsets.h
D sysdeps/nios2/nptl/pthread-offsets.h
A sysdeps/nptl/pthread-offsets.h
D sysdeps/riscv/nptl/pthread-offsets.h
D sysdeps/sh/nptl/pthread-offsets.h
D sysdeps/sparc/nptl/pthread-offsets.h
12 files changed, 39 insertions(+), 197 deletions(-)
diff --git a/sysdeps/aarch64/nptl/pthread-offsets.h b/sysdeps/aarch64/nptl/pthread-offsets.h
deleted file mode 100644
index 679cec5..0000000
--- a/sysdeps/aarch64/nptl/pthread-offsets.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#define __PTHREAD_MUTEX_NUSERS_OFFSET 12
-#define __PTHREAD_MUTEX_KIND_OFFSET 16
-#define __PTHREAD_MUTEX_SPINS_OFFSET 20
-#define __PTHREAD_MUTEX_ELISION_OFFSET 22
-#define __PTHREAD_MUTEX_LIST_OFFSET 24
-
-#define __PTHREAD_RWLOCK_READERS_OFFSET 0
-#define __PTHREAD_RWLOCK_WRITERS_OFFSET 4
-#define __PTHREAD_RWLOCK_WRPHASE_FUTEX_OFFSET 8
-#define __PTHREAD_RWLOCK_WRITERS_FUTEX_OFFSET 12
-#define __PTHREAD_RWLOCK_CUR_WRITER_OFFSET 24
-#define __PTHREAD_RWLOCK_SHARED_OFFSET 28
-#define __PTHREAD_RWLOCK_FLAGS_OFFSET 48
diff --git a/sysdeps/alpha/nptl/pthread-offsets.h b/sysdeps/alpha/nptl/pthread-offsets.h
deleted file mode 100644
index 679cec5..0000000
--- a/sysdeps/alpha/nptl/pthread-offsets.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#define __PTHREAD_MUTEX_NUSERS_OFFSET 12
-#define __PTHREAD_MUTEX_KIND_OFFSET 16
-#define __PTHREAD_MUTEX_SPINS_OFFSET 20
-#define __PTHREAD_MUTEX_ELISION_OFFSET 22
-#define __PTHREAD_MUTEX_LIST_OFFSET 24
-
-#define __PTHREAD_RWLOCK_READERS_OFFSET 0
-#define __PTHREAD_RWLOCK_WRITERS_OFFSET 4
-#define __PTHREAD_RWLOCK_WRPHASE_FUTEX_OFFSET 8
-#define __PTHREAD_RWLOCK_WRITERS_FUTEX_OFFSET 12
-#define __PTHREAD_RWLOCK_CUR_WRITER_OFFSET 24
-#define __PTHREAD_RWLOCK_SHARED_OFFSET 28
-#define __PTHREAD_RWLOCK_FLAGS_OFFSET 48
diff --git a/sysdeps/arm/nptl/pthread-offsets.h b/sysdeps/arm/nptl/pthread-offsets.h
deleted file mode 100644
index cc2a939..0000000
--- a/sysdeps/arm/nptl/pthread-offsets.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#define __PTHREAD_MUTEX_NUSERS_OFFSET 16
-#define __PTHREAD_MUTEX_KIND_OFFSET 12
-#define __PTHREAD_MUTEX_SPINS_OFFSET 20
-#define __PTHREAD_MUTEX_ELISION_OFFSET 22
-#define __PTHREAD_MUTEX_LIST_OFFSET 20
-
-#define __PTHREAD_RWLOCK_READERS_OFFSET 0
-#define __PTHREAD_RWLOCK_WRITERS_OFFSET 4
-#define __PTHREAD_RWLOCK_WRPHASE_FUTEX_OFFSET 8
-#define __PTHREAD_RWLOCK_WRITERS_FUTEX_OFFSET 12
-#define __PTHREAD_RWLOCK_CUR_WRITER_OFFSET 28
-#if __BYTE_ORDER == __BIG_ENDIAN
-# define __PTHREAD_RWLOCK_SHARED_OFFSET 26
-# define __PTHREAD_RWLOCK_FLAGS_OFFSET 27
-#else
-# define __PTHREAD_RWLOCK_SHARED_OFFSET 25
-# define __PTHREAD_RWLOCK_FLAGS_OFFSET 24
-#endif
diff --git a/sysdeps/csky/nptl/pthread-offsets.h b/sysdeps/csky/nptl/pthread-offsets.h
deleted file mode 100644
index a0eea7a..0000000
--- a/sysdeps/csky/nptl/pthread-offsets.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#define __PTHREAD_MUTEX_NUSERS_OFFSET 16
-#define __PTHREAD_MUTEX_KIND_OFFSET 12
-#define __PTHREAD_MUTEX_SPINS_OFFSET 20
-#define __PTHREAD_MUTEX_ELISION_OFFSET 22
-#define __PTHREAD_MUTEX_LIST_OFFSET 20
-
-#define __PTHREAD_RWLOCK_READERS_OFFSET 0
-#define __PTHREAD_RWLOCK_WRITERS_OFFSET 4
-#define __PTHREAD_RWLOCK_WRPHASE_FUTEX_OFFSET 8
-#define __PTHREAD_RWLOCK_WRITERS_FUTEX_OFFSET 12
-#define __PTHREAD_RWLOCK_CUR_WRITER_OFFSET 28
-#define __PTHREAD_RWLOCK_SHARED_OFFSET 25
-#define __PTHREAD_RWLOCK_FLAGS_OFFSET 24
diff --git a/sysdeps/ia64/nptl/pthread-offsets.h b/sysdeps/ia64/nptl/pthread-offsets.h
deleted file mode 100644
index 679cec5..0000000
--- a/sysdeps/ia64/nptl/pthread-offsets.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#define __PTHREAD_MUTEX_NUSERS_OFFSET 12
-#define __PTHREAD_MUTEX_KIND_OFFSET 16
-#define __PTHREAD_MUTEX_SPINS_OFFSET 20
-#define __PTHREAD_MUTEX_ELISION_OFFSET 22
-#define __PTHREAD_MUTEX_LIST_OFFSET 24
-
-#define __PTHREAD_RWLOCK_READERS_OFFSET 0
-#define __PTHREAD_RWLOCK_WRITERS_OFFSET 4
-#define __PTHREAD_RWLOCK_WRPHASE_FUTEX_OFFSET 8
-#define __PTHREAD_RWLOCK_WRITERS_FUTEX_OFFSET 12
-#define __PTHREAD_RWLOCK_CUR_WRITER_OFFSET 24
-#define __PTHREAD_RWLOCK_SHARED_OFFSET 28
-#define __PTHREAD_RWLOCK_FLAGS_OFFSET 48
diff --git a/sysdeps/m68k/nptl/pthread-offsets.h b/sysdeps/m68k/nptl/pthread-offsets.h
deleted file mode 100644
index 14d66ac..0000000
--- a/sysdeps/m68k/nptl/pthread-offsets.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#define __PTHREAD_MUTEX_NUSERS_OFFSET 16
-#define __PTHREAD_MUTEX_KIND_OFFSET 12
-#define __PTHREAD_MUTEX_SPINS_OFFSET 20
-#define __PTHREAD_MUTEX_ELISION_OFFSET 22
-#define __PTHREAD_MUTEX_LIST_OFFSET 20
-
-#define __PTHREAD_RWLOCK_READERS_OFFSET 0
-#define __PTHREAD_RWLOCK_WRITERS_OFFSET 4
-#define __PTHREAD_RWLOCK_WRPHASE_FUTEX_OFFSET 8
-#define __PTHREAD_RWLOCK_WRITERS_FUTEX_OFFSET 12
-#define __PTHREAD_RWLOCK_CUR_WRITER_OFFSET 28
-#define __PTHREAD_RWLOCK_SHARED_OFFSET 26
-#define __PTHREAD_RWLOCK_FLAGS_OFFSET 27
diff --git a/sysdeps/microblaze/nptl/pthread-offsets.h b/sysdeps/microblaze/nptl/pthread-offsets.h
deleted file mode 100644
index cc2a939..0000000
--- a/sysdeps/microblaze/nptl/pthread-offsets.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#define __PTHREAD_MUTEX_NUSERS_OFFSET 16
-#define __PTHREAD_MUTEX_KIND_OFFSET 12
-#define __PTHREAD_MUTEX_SPINS_OFFSET 20
-#define __PTHREAD_MUTEX_ELISION_OFFSET 22
-#define __PTHREAD_MUTEX_LIST_OFFSET 20
-
-#define __PTHREAD_RWLOCK_READERS_OFFSET 0
-#define __PTHREAD_RWLOCK_WRITERS_OFFSET 4
-#define __PTHREAD_RWLOCK_WRPHASE_FUTEX_OFFSET 8
-#define __PTHREAD_RWLOCK_WRITERS_FUTEX_OFFSET 12
-#define __PTHREAD_RWLOCK_CUR_WRITER_OFFSET 28
-#if __BYTE_ORDER == __BIG_ENDIAN
-# define __PTHREAD_RWLOCK_SHARED_OFFSET 26
-# define __PTHREAD_RWLOCK_FLAGS_OFFSET 27
-#else
-# define __PTHREAD_RWLOCK_SHARED_OFFSET 25
-# define __PTHREAD_RWLOCK_FLAGS_OFFSET 24
-#endif
diff --git a/sysdeps/nios2/nptl/pthread-offsets.h b/sysdeps/nios2/nptl/pthread-offsets.h
deleted file mode 100644
index a0eea7a..0000000
--- a/sysdeps/nios2/nptl/pthread-offsets.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#define __PTHREAD_MUTEX_NUSERS_OFFSET 16
-#define __PTHREAD_MUTEX_KIND_OFFSET 12
-#define __PTHREAD_MUTEX_SPINS_OFFSET 20
-#define __PTHREAD_MUTEX_ELISION_OFFSET 22
-#define __PTHREAD_MUTEX_LIST_OFFSET 20
-
-#define __PTHREAD_RWLOCK_READERS_OFFSET 0
-#define __PTHREAD_RWLOCK_WRITERS_OFFSET 4
-#define __PTHREAD_RWLOCK_WRPHASE_FUTEX_OFFSET 8
-#define __PTHREAD_RWLOCK_WRITERS_FUTEX_OFFSET 12
-#define __PTHREAD_RWLOCK_CUR_WRITER_OFFSET 28
-#define __PTHREAD_RWLOCK_SHARED_OFFSET 25
-#define __PTHREAD_RWLOCK_FLAGS_OFFSET 24
diff --git a/sysdeps/nptl/pthread-offsets.h b/sysdeps/nptl/pthread-offsets.h
new file mode 100644
index 0000000..eb87d51
--- /dev/null
+++ b/sysdeps/nptl/pthread-offsets.h
@@ -0,0 +1,39 @@
+#include <bits/wordsize.h>
+
+/* These values are based on internal generic types from
+ mutex-internal.h and rwlock-internal.h. */
+
+#if __WORDSIZE == 64
+# define __PTHREAD_MUTEX_NUSERS_OFFSET 12
+# define __PTHREAD_MUTEX_KIND_OFFSET 16
+# define __PTHREAD_MUTEX_SPINS_OFFSET 20
+# define __PTHREAD_MUTEX_LIST_OFFSET 24
+#else
+# define __PTHREAD_MUTEX_NUSERS_OFFSET 16
+# define __PTHREAD_MUTEX_KIND_OFFSET 12
+# define __PTHREAD_MUTEX_SPINS_OFFSET 20
+# define __PTHREAD_MUTEX_LIST_OFFSET 20
+#endif
+
+#if __WORDSIZE == 64
+# define __PTHREAD_RWLOCK_READERS_OFFSET 0
+# define __PTHREAD_RWLOCK_WRITERS_OFFSET 4
+# define __PTHREAD_RWLOCK_WRPHASE_FUTEX_OFFSET 8
+# define __PTHREAD_RWLOCK_WRITERS_FUTEX_OFFSET 12
+# define __PTHREAD_RWLOCK_CUR_WRITER_OFFSET 24
+# define __PTHREAD_RWLOCK_SHARED_OFFSET 28
+# define __PTHREAD_RWLOCK_FLAGS_OFFSET 48
+#else
+# define __PTHREAD_RWLOCK_READERS_OFFSET 0
+# define __PTHREAD_RWLOCK_WRITERS_OFFSET 4
+# define __PTHREAD_RWLOCK_WRPHASE_FUTEX_OFFSET 8
+# define __PTHREAD_RWLOCK_WRITERS_FUTEX_OFFSET 12
+# define __PTHREAD_RWLOCK_CUR_WRITER_OFFSET 28
+# if __BYTE_ORDER == __BIG_ENDIAN
+# define __PTHREAD_RWLOCK_SHARED_OFFSET 26
+# define __PTHREAD_RWLOCK_FLAGS_OFFSET 27
+# else
+# define __PTHREAD_RWLOCK_SHARED_OFFSET 25
+# define __PTHREAD_RWLOCK_FLAGS_OFFSET 24
+# endif
+#endif
diff --git a/sysdeps/riscv/nptl/pthread-offsets.h b/sysdeps/riscv/nptl/pthread-offsets.h
deleted file mode 100644
index f93af00..0000000
--- a/sysdeps/riscv/nptl/pthread-offsets.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* RISC-V pthread offsets
- Copyright (C) 2017-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/>. */
-
-#define __PTHREAD_MUTEX_NUSERS_OFFSET 12
-#define __PTHREAD_MUTEX_KIND_OFFSET 16
-#define __PTHREAD_MUTEX_SPINS_OFFSET 20
-#define __PTHREAD_MUTEX_ELISION_OFFSET 22
-#define __PTHREAD_MUTEX_LIST_OFFSET 24
-
-#define __PTHREAD_RWLOCK_READERS_OFFSET 0
-#define __PTHREAD_RWLOCK_WRITERS_OFFSET 4
-#define __PTHREAD_RWLOCK_WRPHASE_FUTEX_OFFSET 8
-#define __PTHREAD_RWLOCK_WRITERS_FUTEX_OFFSET 12
-#define __PTHREAD_RWLOCK_CUR_WRITER_OFFSET 24
-#define __PTHREAD_RWLOCK_SHARED_OFFSET 28
-#define __PTHREAD_RWLOCK_FLAGS_OFFSET 48
diff --git a/sysdeps/sh/nptl/pthread-offsets.h b/sysdeps/sh/nptl/pthread-offsets.h
deleted file mode 100644
index cc2a939..0000000
--- a/sysdeps/sh/nptl/pthread-offsets.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#define __PTHREAD_MUTEX_NUSERS_OFFSET 16
-#define __PTHREAD_MUTEX_KIND_OFFSET 12
-#define __PTHREAD_MUTEX_SPINS_OFFSET 20
-#define __PTHREAD_MUTEX_ELISION_OFFSET 22
-#define __PTHREAD_MUTEX_LIST_OFFSET 20
-
-#define __PTHREAD_RWLOCK_READERS_OFFSET 0
-#define __PTHREAD_RWLOCK_WRITERS_OFFSET 4
-#define __PTHREAD_RWLOCK_WRPHASE_FUTEX_OFFSET 8
-#define __PTHREAD_RWLOCK_WRITERS_FUTEX_OFFSET 12
-#define __PTHREAD_RWLOCK_CUR_WRITER_OFFSET 28
-#if __BYTE_ORDER == __BIG_ENDIAN
-# define __PTHREAD_RWLOCK_SHARED_OFFSET 26
-# define __PTHREAD_RWLOCK_FLAGS_OFFSET 27
-#else
-# define __PTHREAD_RWLOCK_SHARED_OFFSET 25
-# define __PTHREAD_RWLOCK_FLAGS_OFFSET 24
-#endif
diff --git a/sysdeps/sparc/nptl/pthread-offsets.h b/sysdeps/sparc/nptl/pthread-offsets.h
deleted file mode 100644
index a9ce40d..0000000
--- a/sysdeps/sparc/nptl/pthread-offsets.h
+++ /dev/null
@@ -1,33 +0,0 @@
-#include <bits/wordsize.h>
-
-#if __WORDSIZE == 64
-# define __PTHREAD_MUTEX_NUSERS_OFFSET 12
-# define __PTHREAD_MUTEX_KIND_OFFSET 16
-# define __PTHREAD_MUTEX_SPINS_OFFSET 20
-# define __PTHREAD_MUTEX_ELISION_OFFSET 22
-# define __PTHREAD_MUTEX_LIST_OFFSET 24
-#else
-# define __PTHREAD_MUTEX_NUSERS_OFFSET 16
-# define __PTHREAD_MUTEX_KIND_OFFSET 12
-# define __PTHREAD_MUTEX_SPINS_OFFSET 20
-# define __PTHREAD_MUTEX_ELISION_OFFSET 22
-# define __PTHREAD_MUTEX_LIST_OFFSET 20
-#endif
-
-#if __WORDSIZE == 64
-# define __PTHREAD_RWLOCK_READERS_OFFSET 0
-# define __PTHREAD_RWLOCK_WRITERS_OFFSET 4
-# define __PTHREAD_RWLOCK_WRPHASE_FUTEX_OFFSET 8
-# define __PTHREAD_RWLOCK_WRITERS_FUTEX_OFFSET 12
-# define __PTHREAD_RWLOCK_CUR_WRITER_OFFSET 24
-# define __PTHREAD_RWLOCK_SHARED_OFFSET 28
-# define __PTHREAD_RWLOCK_FLAGS_OFFSET 48
-#else
-# define __PTHREAD_RWLOCK_READERS_OFFSET 0
-# define __PTHREAD_RWLOCK_WRITERS_OFFSET 4
-# define __PTHREAD_RWLOCK_WRPHASE_FUTEX_OFFSET 8
-# define __PTHREAD_RWLOCK_WRITERS_FUTEX_OFFSET 12
-# define __PTHREAD_RWLOCK_CUR_WRITER_OFFSET 28
-# define __PTHREAD_RWLOCK_SHARED_OFFSET 26
-# define __PTHREAD_RWLOCK_FLAGS_OFFSET 27
-#endif
--
Gerrit-Project: glibc
Gerrit-Branch: master
Gerrit-Change-Id: I7785a9581e651feb80d1413b9e03b5ac0452668a
Gerrit-Change-Number: 521
Gerrit-PatchSet: 1
Gerrit-Owner: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Gerrit-MessageType: newchange
More information about the Libc-alpha
mailing list