nptl: Document the reason why __kind in pthread_mutex_t is part of the ABI

This commit is contained in:
Florian Weimer 2016-11-07 14:38:12 +01:00
parent 5ffc980589
commit c74940f2a7
16 changed files with 49 additions and 14 deletions

View file

@ -1,3 +1,36 @@
2016-11-07 Florian Weimer <fweimer@redhat.com>
* 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.
2016-11-07 Steve Ellcey <sellcey@caviumnetworks.com>
* test-skeleton.c: Document do_test usage.

View file

@ -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;

View file

@ -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

View file

@ -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.

View file

@ -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;

View file

@ -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

View file

@ -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

View file

@ -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;

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;