nptl: Document the reason why __kind in pthread_mutex_t is part of the ABI 2016-11-07 Florian Weimer * sysdeps/aarch64/nptl/bits/pthreadtypes.h (struct __pthread_mutex_s): Document ABI exposure of the __kind offset. * sysdeps/arm/nptl/bits/pthreadtypes.h (struct __pthread_mutex_s): Mention reason for the __kind offset exposure in the ABI. * sysdeps/hppa/nptl/bits/pthreadtypes.h (struct __pthread_mutex_s): Likewise. * sysdeps/ia64/nptl/bits/pthreadtypes.h (struct __pthread_mutex_s): Likewise. * sysdeps/m68k/nptl/bits/pthreadtypes.h (struct __pthread_mutex_s): Likewise. * sysdeps/microblaze/nptl/bits/pthreadtypes.h (struct __pthread_mutex_s): Likewise. * sysdeps/mips/nptl/bits/pthreadtypes.h (struct __pthread_mutex_s): Likewise. * sysdeps/nios2/nptl/bits/pthreadtypes.h (struct __pthread_mutex_s): Likewise. * sysdeps/s390/nptl/bits/pthreadtypes.h (struct __pthread_mutex_s): Likewise. * sysdeps/sh/nptl/bits/pthreadtypes.h (struct __pthread_mutex_s): Likewise. * sysdeps/sparc/nptl/bits/pthreadtypes.h (struct __pthread_mutex_s): Likewise. * sysdeps/tile/nptl/bits/pthreadtypes.h (struct __pthread_mutex_s): Likewise. * sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h (struct __pthread_mutex_s): Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h (struct __pthread_mutex_s): Likewise. * sysdeps/x86/bits/pthreadtypes.h (struct __pthread_mutex_s): Likewise. diff --git a/sysdeps/aarch64/nptl/bits/pthreadtypes.h b/sysdeps/aarch64/nptl/bits/pthreadtypes.h index 13984a7..c376e64 100644 --- a/sysdeps/aarch64/nptl/bits/pthreadtypes.h +++ b/sysdeps/aarch64/nptl/bits/pthreadtypes.h @@ -65,6 +65,8 @@ typedef union unsigned int __count; int __owner; unsigned int __nusers; + /* KIND must stay at this position in the structure to maintain + binary compatibility with static initializers. */ int __kind; int __spins; __pthread_list_t __list; diff --git a/sysdeps/arm/nptl/bits/pthreadtypes.h b/sysdeps/arm/nptl/bits/pthreadtypes.h index afb5392..645207b 100644 --- a/sysdeps/arm/nptl/bits/pthreadtypes.h +++ b/sysdeps/arm/nptl/bits/pthreadtypes.h @@ -64,7 +64,7 @@ typedef union unsigned int __count; int __owner; /* KIND must stay at this position in the structure to maintain - binary compatibility. */ + binary compatibility with static initializers. */ int __kind; unsigned int __nusers; __extension__ union diff --git a/sysdeps/hppa/nptl/bits/pthreadtypes.h b/sysdeps/hppa/nptl/bits/pthreadtypes.h index 540802a..d0c1d58 100644 --- a/sysdeps/hppa/nptl/bits/pthreadtypes.h +++ b/sysdeps/hppa/nptl/bits/pthreadtypes.h @@ -71,7 +71,7 @@ typedef union unsigned int __count; int __owner; /* KIND must stay at this position in the structure to maintain - binary compatibility. */ + binary compatibility with static initializers. */ int __kind; /* The old 4-word 16-byte aligned lock. This is initalized to all ones by the Linuxthreads PTHREAD_MUTEX_INITIALIZER. diff --git a/sysdeps/ia64/nptl/bits/pthreadtypes.h b/sysdeps/ia64/nptl/bits/pthreadtypes.h index f2e6dac..0e83883 100644 --- a/sysdeps/ia64/nptl/bits/pthreadtypes.h +++ b/sysdeps/ia64/nptl/bits/pthreadtypes.h @@ -64,7 +64,7 @@ typedef union int __owner; unsigned int __nusers; /* KIND must stay at this position in the structure to maintain - binary compatibility. */ + binary compatibility with static initializers. */ int __kind; int __spins; __pthread_list_t __list; diff --git a/sysdeps/m68k/nptl/bits/pthreadtypes.h b/sysdeps/m68k/nptl/bits/pthreadtypes.h index d8faa7a..d195492 100644 --- a/sysdeps/m68k/nptl/bits/pthreadtypes.h +++ b/sysdeps/m68k/nptl/bits/pthreadtypes.h @@ -64,7 +64,7 @@ typedef union unsigned int __count; int __owner; /* KIND must stay at this position in the structure to maintain - binary compatibility. */ + binary compatibility with static initializers. */ int __kind; unsigned int __nusers; __extension__ union diff --git a/sysdeps/microblaze/nptl/bits/pthreadtypes.h b/sysdeps/microblaze/nptl/bits/pthreadtypes.h index 9e9e307..2a1ca0a 100644 --- a/sysdeps/microblaze/nptl/bits/pthreadtypes.h +++ b/sysdeps/microblaze/nptl/bits/pthreadtypes.h @@ -63,7 +63,7 @@ typedef union unsigned int __count; int __owner; /* KIND must stay at this position in the structure to maintain - binary compatibility. */ + binary compatibility with static initializers. */ int __kind; unsigned int __nusers; __extension__ union diff --git a/sysdeps/mips/nptl/bits/pthreadtypes.h b/sysdeps/mips/nptl/bits/pthreadtypes.h index 68ed94b..c7533a8 100644 --- a/sysdeps/mips/nptl/bits/pthreadtypes.h +++ b/sysdeps/mips/nptl/bits/pthreadtypes.h @@ -87,7 +87,7 @@ typedef union unsigned int __nusers; #endif /* KIND must stay at this position in the structure to maintain - binary compatibility. */ + binary compatibility with static initializers. */ int __kind; #if _MIPS_SIM == _ABI64 int __spins; diff --git a/sysdeps/nios2/nptl/bits/pthreadtypes.h b/sysdeps/nios2/nptl/bits/pthreadtypes.h index 76076d0..ee8b7ba 100644 --- a/sysdeps/nios2/nptl/bits/pthreadtypes.h +++ b/sysdeps/nios2/nptl/bits/pthreadtypes.h @@ -64,7 +64,7 @@ typedef union unsigned int __count; int __owner; /* KIND must stay at this position in the structure to maintain - binary compatibility. */ + binary compatibility with static initializers. */ int __kind; unsigned int __nusers; __extension__ union diff --git a/sysdeps/s390/nptl/bits/pthreadtypes.h b/sysdeps/s390/nptl/bits/pthreadtypes.h index 40d10fe..21d13bd 100644 --- a/sysdeps/s390/nptl/bits/pthreadtypes.h +++ b/sysdeps/s390/nptl/bits/pthreadtypes.h @@ -86,7 +86,7 @@ typedef union unsigned int __nusers; #endif /* KIND must stay at this position in the structure to maintain - binary compatibility. */ + binary compatibility with static initializers. */ int __kind; #if __WORDSIZE == 64 # ifdef ENABLE_LOCK_ELISION diff --git a/sysdeps/sh/nptl/bits/pthreadtypes.h b/sysdeps/sh/nptl/bits/pthreadtypes.h index 13fbd73..5354f78 100644 --- a/sysdeps/sh/nptl/bits/pthreadtypes.h +++ b/sysdeps/sh/nptl/bits/pthreadtypes.h @@ -64,7 +64,7 @@ typedef union unsigned int __count; int __owner; /* KIND must stay at this position in the structure to maintain - binary compatibility. */ + binary compatibility with static initializers. */ int __kind; unsigned int __nusers; __extension__ union diff --git a/sysdeps/sparc/nptl/bits/pthreadtypes.h b/sysdeps/sparc/nptl/bits/pthreadtypes.h index d45cb61..e781a25 100644 --- a/sysdeps/sparc/nptl/bits/pthreadtypes.h +++ b/sysdeps/sparc/nptl/bits/pthreadtypes.h @@ -87,7 +87,7 @@ typedef union unsigned int __nusers; #endif /* KIND must stay at this position in the structure to maintain - binary compatibility. */ + binary compatibility with static initializers. */ int __kind; #if __WORDSIZE == 64 int __spins; diff --git a/sysdeps/tile/nptl/bits/pthreadtypes.h b/sysdeps/tile/nptl/bits/pthreadtypes.h index 7d68650..b14b1c6 100644 --- a/sysdeps/tile/nptl/bits/pthreadtypes.h +++ b/sysdeps/tile/nptl/bits/pthreadtypes.h @@ -87,7 +87,7 @@ typedef union unsigned int __nusers; #endif /* KIND must stay at this position in the structure to maintain - binary compatibility. */ + binary compatibility with static initializers. */ int __kind; #if __WORDSIZE == 64 int __spins; diff --git a/sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h b/sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h index 1a1779b..b7af038 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h @@ -63,7 +63,7 @@ typedef union int __owner; unsigned int __nusers; /* KIND must stay at this position in the structure to maintain - binary compatibility. */ + binary compatibility with static initializers. */ int __kind; int __spins; __pthread_list_t __list; diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h b/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h index 345e79a..d230ac9 100644 --- a/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h +++ b/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h @@ -87,7 +87,7 @@ typedef union unsigned int __nusers; #endif /* KIND must stay at this position in the structure to maintain - binary compatibility. */ + binary compatibility with static initializers. */ int __kind; #if __WORDSIZE == 64 short __spins; diff --git a/sysdeps/x86/bits/pthreadtypes.h b/sysdeps/x86/bits/pthreadtypes.h index 16b8f4f..c641a40 100644 --- a/sysdeps/x86/bits/pthreadtypes.h +++ b/sysdeps/x86/bits/pthreadtypes.h @@ -98,7 +98,7 @@ typedef union unsigned int __nusers; #endif /* KIND must stay at this position in the structure to maintain - binary compatibility. */ + binary compatibility with static initializers. */ int __kind; #ifdef __x86_64__ short __spins;