-%define gitver 51a8366
+%define gitver 6a104f4
Summary: C library intended for use on embedded systems
Name: crossnacl-newlib
Version: 1.20.0
License: BSD and MIT and LGPL v2+
Group: Libraries
Source0: nacl-newlib-%{version}-git%{gitver}.tar.xz
-# Source0-md5: e3bfa762283d0ecda5fc198781c92c37
-Source1: nacl-headers-23.0.1271.64.tar.xz
-# Source1-md5: ab7b7b3dfd91f3f98969e5312941d6d2
+# Source0-md5: 243d91de902d660e6eaccab36b576956
+Source1: nacl-headers-25.0.1364.97.tar.xz
+# Source1-md5: c8f3144e90e713f9fbfe767dbf898017
Source2: newlib-libc-script
Source3: pthread.h
Source4: get-source.sh
* opaque record; the names of the fields can change anytime.
*/
typedef struct {
- /** Initialization token **/
- int token;
+ /*
+ * mutex_state is either UNLOCKED (0), LOCKED_WITHOUT_WAITERS (1) or
+ * LOCKED_WITH_WAITERS (2). See "enum MutexState".
+ */
+ int mutex_state;
/**
* The kind of mutex:
/** Recursion depth counter for recursive mutexes */
uint32_t recursion_counter;
- /** Handle to the system-side mutex */
- int mutex_handle;
+ /*
+ * Padding is for compatibility with libraries (newlib etc.) that
+ * were built before libpthread switched to using futexes, and to
+ * match _LOCK_T in newlib's newlib/libc/include/sys/lock.h.
+ */
+ int unused_padding;
} pthread_mutex_t;
/**
* opaque record; the names of the fields can change anytime.
*/
typedef struct {
- /** Initialization token **/
- int token;
+ /* This is incremented on each pthread_cond_signal/broadcast() call. */
+ int sequence_number;
- /**< Handle to the system-side condition variable */
- int handle;
+ /*
+ * Padding is for compatibility with libraries (newlib etc.) that
+ * were built before libpthread switched to using futexes.
+ */
+ int unused_padding;
} pthread_cond_t;
/**
*/
extern int pthread_create(pthread_t *thread_id,
const pthread_attr_t *attr,
- void *(*start_routine) (void *p),
+ void *(*start_routine)(void *p),
void *arg);
/** @nqPosix