[Bug 8896] New: Enabling UCLIBC_HAS_STDIO_FUTEXES not properly exposed to clients
bugzilla at busybox.net
bugzilla at busybox.net
Wed Apr 27 22:55:42 UTC 2016
https://bugs.busybox.net/show_bug.cgi?id=8896
Bug ID: 8896
Summary: Enabling UCLIBC_HAS_STDIO_FUTEXES not properly exposed
to clients
Product: uClibc
Version: unspecified
Hardware: All
OS: All
Status: NEW
Severity: normal
Priority: P5
Component: Threads
Assignee: unassigned at uclibc.org
Reporter: mt at debian.org
CC: uclibc-cvs at uclibc.org
Target Milestone: ---
Compiling with futexes enabled will cause inconsistencies as clients will not
and cannot use them:
bits/uClibc_config.h:#define __UCLIBC_HAS_STDIO_FUTEXES__ 1
but
bits/uClibc_stdio.h uses the following:
#if defined __UCLIBC_HAS_THREADS__ && !defined __UCLIBC_IO_MUTEX
/* keep this in sync with uClibc_mutex.h */
# ifdef __USE_STDIO_FUTEXES__
# include <bits/stdio-lock.h>
# define __UCLIBC_IO_MUTEX(M) _IO_lock_t M
# else
# include <bits/pthreadtypes.h>
# define __UCLIBC_IO_MUTEX(M) pthread_mutex_t M
# endif /* __UCLIBC_HAS_THREADS_NATIVE__ */
#endif
with
1. __USE_STDIO_FUTEXES__ is never defined
2. bits/stdio-lock.h is not installed
Consequently the definitions of __UCLIBC_IO_MUTEX vary, and therefore struct
__STDIO_FILE_STRUCT's __lock member is completely different, also causing a
difference in the size of the struct. Arrays of FILEs will be misaligned.
Best,
Michael
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the uClibc-cvs
mailing list