Loading...
--- Libc/Libc-1725.40.4/include/sys/cdefs.h
+++ Libc/Libc-583/include/sys/cdefs.h
@@ -34,8 +34,16 @@
*/
#include_next <sys/cdefs.h>
#ifndef _LIBC_NO_FEATURE_VERIFICATION
-#if defined(__arm64__) || defined(__arm__) || defined(__i386__) || defined(__x86_64__)
-# include "libc-features.h"
+#if defined(__arm__)
+# include <arm/libc-features.h>
+#elif defined(__i386__)
+# include <i386/libc-features.h>
+#elif defined(__ppc__)
+# include <ppc/libc-features.h>
+#elif defined(__ppc64__)
+# include <ppc64/libc-features.h>
+#elif defined(__x86_64__)
+# include <x86_64/libc-features.h>
#else
# error "Unknown architecture."
#endif
@@ -103,22 +111,19 @@
#define LIBC_EXTSN(sym) __asm("_" __STRING(sym) LIBC_SUF_EXTSN)
#define LIBC_EXTSN_C(sym) __asm("_" __STRING(sym) LIBC_SUF_EXTSN LIBC_SUF_NON_CANCELABLE)
+extern int __pthread_tsd_first;
extern int pthread_key_init_np(int, void (*)(void *));
-// Not needed anymore by this header, but other headers rely on this include being here.
-#include <TargetConditionals.h>
-
-#define __LIBC_PTHREAD_KEY(x) (10 + (x))
+#define __LIBC_PTHREAD_KEY(x) (__pthread_tsd_first + (x))
/*
* Libc pthread key assignments
*/
#define __LIBC_PTHREAD_KEY_XLOCALE __LIBC_PTHREAD_KEY(0)
-//#define __LIBC_PTHREAD_KEY_RESERVED_WIN64 __LIBC_PTHREAD_KEY(1)
+#define __LIBC_PTHREAD_KEY_TTYNAME __LIBC_PTHREAD_KEY(1)
#define __LIBC_PTHREAD_KEY_LOCALTIME __LIBC_PTHREAD_KEY(2)
#define __LIBC_PTHREAD_KEY_GMTIME __LIBC_PTHREAD_KEY(3)
#define __LIBC_PTHREAD_KEY_GDTOA_BIGINT __LIBC_PTHREAD_KEY(4)
#define __LIBC_PTHREAD_KEY_PARSEFLOAT __LIBC_PTHREAD_KEY(5)
-#define __LIBC_PTHREAD_KEY_TTYNAME __LIBC_PTHREAD_KEY(6)
#endif /* _LIBC_SYS_CDEFS_H_ */