while technically a 32 bit ptrdiff_t is in spec on
systems with 64 bit ponters as long as we guarantee
that individual objects are small enough, this can
confuse legitimate code, so lets fix this.
--- /dev/null
+#ifndef __STDDEF_ARCH_H
+#define __STDDEF_ARCH_H
+
+typedef long long _ptrdiff_t;
+#include "/sys/include/ape/stddef.h"
+
+#endif /* __STDDEF_ARCH_H */
--- /dev/null
+#ifndef __STDDEF_ARCH_H
+#define __STDDEF_ARCH_H
+
+typedef long long _ptrdiff_t;
+#include "/sys/include/ape/stddef.h"
+
+#endif /* __STDDEF_ARCH_H */
#ifndef __STDDEF_H
#define __STDDEF_H
+#ifndef __STDDEF_ARCH_H
+typedef long _ptrdiff_t;
+#endif
+
#ifndef NULL
#ifdef __cplusplus
#define NULL 0
#endif
#define offsetof(ty,mem) ((size_t) &(((ty *)0)->mem))
-typedef long ptrdiff_t;
+typedef _ptrdiff_t ptrdiff_t;
#ifndef _SIZE_T
#define _SIZE_T
typedef unsigned long size_t;