[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


            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


bits/uClibc_stdio.h uses the following:

#if defined __UCLIBC_HAS_THREADS__ && !defined __UCLIBC_IO_MUTEX
/* keep this in sync with uClibc_mutex.h */
#  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


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.


You are receiving this mail because:
You are on the CC list for the bug.

More information about the uClibc-cvs mailing list