previously, only a few archs defined it here. this change makes the presence consistent across all archs, and reduces the amount of header duplication (and potential for future inconsistency) between archs.
@@ -1,6 +1,3 @@
-#undef __WORDSIZE
-#define __WORDSIZE 64
-
typedef union {
double d;
float f;
-#define __WORDSIZE 32
#define REG_REG0 0
#define REG_REG15 15
#define REG_PC 16
typedef struct user_fpregs_struct {
uint16_t cwd, swd, ftw, fop;
uint64_t rip, rdp;
@@ -8,6 +8,15 @@ extern "C" {
#include <stdint.h>
#include <unistd.h>
+#include <bits/alltype.h>
+
+#undef __WORDSIZE
+#if __LONG_MAX == 0x7fffffffL
+#define __WORDSIZE 32
+#else
+#define __WORDSIZE 64
+#endif
#include <bits/user.h>
#ifdef __cplusplus