about summary refs log tree commit diff
path: root/sysdeps/nptl
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2017-11-14 19:10:38 -0200
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2019-11-26 13:53:36 +0000
commit7ddac7f265d3db6888c68b04b86e265d15859ce5 (patch)
tree2e43201ade07f3ff4afdb3e92007415e649b0d5b /sysdeps/nptl
parent94a62cc55a3175fd375081d9b4366479371ed2ab (diff)
downloadglibc-7ddac7f265d3db6888c68b04b86e265d15859ce5.tar.gz
glibc-7ddac7f265d3db6888c68b04b86e265d15859ce5.tar.xz
glibc-7ddac7f265d3db6888c68b04b86e265d15859ce5.zip
nptl: Add default pthread-offsets.h
This patch adds a default pthread-offsets.h based on default
thread definitions from struct_mutex.h and struct_rwlock.h.
The idea is to simplify new ports inclusion.

Checked with a build on affected abis.

Change-Id: I7785a9581e651feb80d1413b9e03b5ac0452668a
Diffstat (limited to 'sysdeps/nptl')
-rw-r--r--sysdeps/nptl/pthread-offsets.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/sysdeps/nptl/pthread-offsets.h b/sysdeps/nptl/pthread-offsets.h
new file mode 100644
index 0000000000..a399608aa1
--- /dev/null
+++ b/sysdeps/nptl/pthread-offsets.h
@@ -0,0 +1,26 @@
+#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_FLAGS_OFFSET          48
+#else
+# if __BYTE_ORDER == __BIG_ENDIAN
+#  define __PTHREAD_RWLOCK_FLAGS_OFFSET         27
+# else
+#  define __PTHREAD_RWLOCK_FLAGS_OFFSET         24
+# endif
+#endif