forked from OSchip/llvm-project
eb37fcbc87
glibc can use one of 2 layouts for semaphores: architectures that don't HAVE_64B_ATOMIC use an uint32_t field with semaphore value, then a private field, then a waiting thread count field - this is the layout currently assumed by the test. However, HAVE_64B_ATOMIC arches use a fused uint64_t field that contains the value in low bits and waiting thread count in high bits, followed by a private field. This resulted in taking private field from the wrong offset on 64-bit atomic platforms (the test still passed, but didn't actually test the private field). On big-endian platforms, this resulted in a fail, since the first 4 bytes overlay the thread count field, and not the value field. Found while porting ASan to s390x. Patch by Marcin Kościelnicki. llvm-svn: 265715 |
||
---|---|---|
.. | ||
Darwin | ||
Linux | ||
Posix | ||
corelimit.cc | ||
fopen_nullptr.c | ||
malloc_hook.cc | ||
options-help.cc | ||
options-include.cc | ||
options-invalid.cc | ||
print-stack-trace.cc | ||
pthread_mutexattr_get.cc | ||
strcasestr.c | ||
strcspn.c | ||
strnlen.c | ||
strpbrk.c | ||
strspn.c | ||
strstr.c |