mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-22 13:00:06 +00:00
Use 3 bytes for __pad1 in pthread_rwlock_t for x32
Since long is 4 bytes for x32, we should use 3 bytes for __pad1 when a long __pad1 is replaced by a byte __rwelision and __pad1. * sysdeps/x86/nptl/bits/pthreadtypes.h (pthread_rwlock_t): Use 3 bytes for __pad1 for x32. (__PTHREAD_RWLOCK_ELISION_EXTRA): Likewise.
This commit is contained in:
parent
5c74e47cd6
commit
c8daec5c7c
@ -1,3 +1,9 @@
|
||||
2014-06-19 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* sysdeps/x86/nptl/bits/pthreadtypes.h (pthread_rwlock_t): Use
|
||||
3 bytes for __pad1 for x32.
|
||||
(__PTHREAD_RWLOCK_ELISION_EXTRA): Likewise.
|
||||
|
||||
2014-06-19 Ling Ma <ling.ml@alibaba-inc.com>
|
||||
H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
|
@ -185,12 +185,17 @@ typedef union
|
||||
int __writer;
|
||||
int __shared;
|
||||
signed char __rwelision;
|
||||
# ifdef __ILP32__
|
||||
unsigned char __pad1[3];
|
||||
# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0 }
|
||||
# else
|
||||
unsigned char __pad1[7];
|
||||
# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0, 0, 0, 0, 0 }
|
||||
# endif
|
||||
unsigned long int __pad2;
|
||||
/* FLAGS must stay at this position in the structure to maintain
|
||||
binary compatibility. */
|
||||
unsigned int __flags;
|
||||
# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, {0, 0, 0, 0, 0, 0, 0 }
|
||||
# define __PTHREAD_RWLOCK_INT_FLAGS_SHARED 1
|
||||
} __data;
|
||||
# else
|
||||
|
Loading…
Reference in New Issue
Block a user