]> git.lizzy.rs Git - plan9front.git/commitdiff
turn ptrdiff_t into a 64 bit type
authorOri Bernstein <ori@eigenstate.org>
Tue, 24 Mar 2020 21:45:15 +0000 (14:45 -0700)
committerOri Bernstein <ori@eigenstate.org>
Tue, 24 Mar 2020 21:45:15 +0000 (14:45 -0700)
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.

amd64/include/ape/stddef.h [new file with mode: 0644]
arm64/include/ape/stddef.h [new file with mode: 0644]
sys/include/ape/stddef.h

diff --git a/amd64/include/ape/stddef.h b/amd64/include/ape/stddef.h
new file mode 100644 (file)
index 0000000..2a217ba
--- /dev/null
@@ -0,0 +1,7 @@
+#ifndef __STDDEF_ARCH_H
+#define __STDDEF_ARCH_H
+
+typedef long long _ptrdiff_t;
+#include "/sys/include/ape/stddef.h"
+
+#endif /* __STDDEF_ARCH_H */
diff --git a/arm64/include/ape/stddef.h b/arm64/include/ape/stddef.h
new file mode 100644 (file)
index 0000000..2a217ba
--- /dev/null
@@ -0,0 +1,7 @@
+#ifndef __STDDEF_ARCH_H
+#define __STDDEF_ARCH_H
+
+typedef long long _ptrdiff_t;
+#include "/sys/include/ape/stddef.h"
+
+#endif /* __STDDEF_ARCH_H */
index 28f5707c87a06c7be9f588207c15036b32e204a0..ab6625b4eee2620a3f2319736a1fb5f918f55402 100644 (file)
@@ -1,6 +1,10 @@
 #ifndef __STDDEF_H
 #define __STDDEF_H
 
+#ifndef __STDDEF_ARCH_H
+typedef long _ptrdiff_t;
+#endif
+
 #ifndef NULL
 #ifdef __cplusplus
 #define NULL 0
@@ -10,7 +14,7 @@
 #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;