sys/user.h: derive __WORDSIZE from __LONG_MAX

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.
This commit is contained in:
Rich Felker 2024-05-07 09:11:10 -04:00
parent e709a6f07a
commit 7019fbe103
5 changed files with 9 additions and 12 deletions

View File

@ -1,6 +1,3 @@
#undef __WORDSIZE
#define __WORDSIZE 64
typedef union {
double d;
float f;

View File

@ -1,6 +1,3 @@
#undef __WORDSIZE
#define __WORDSIZE 32
#define REG_REG0 0
#define REG_REG15 15
#define REG_PC 16

View File

@ -1,6 +1,3 @@
#undef __WORDSIZE
#define __WORDSIZE 32
typedef struct user_fpregs_struct {
uint16_t cwd, swd, ftw, fop;
uint64_t rip, rdp;

View File

@ -1,6 +1,3 @@
#undef __WORDSIZE
#define __WORDSIZE 64
typedef struct user_fpregs_struct {
uint16_t cwd, swd, ftw, fop;
uint64_t rip, rdp;

View File

@ -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