diff options
| author | Rich Felker <dalias@aerifal.cx> | 2024-05-07 09:11:10 -0400 | 
|---|---|---|
| committer | Rich Felker <dalias@aerifal.cx> | 2024-05-07 09:11:10 -0400 | 
| commit | 7019fbe103165b9b26a9391d5ecd4c7fcb6f3ec9 (patch) | |
| tree | 2608a8d167e1453b8145b527ad66f90a6d0a5c2c | |
| parent | e709a6f07ade208ba513f9225222336f30c304b0 (diff) | |
| download | musl-7019fbe103165b9b26a9391d5ecd4c7fcb6f3ec9.tar.gz | |
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.
| -rw-r--r-- | arch/s390x/bits/user.h | 3 | ||||
| -rw-r--r-- | arch/sh/bits/user.h | 3 | ||||
| -rw-r--r-- | arch/x32/bits/user.h | 3 | ||||
| -rw-r--r-- | arch/x86_64/bits/user.h | 3 | ||||
| -rw-r--r-- | include/sys/user.h | 9 | 
5 files changed, 9 insertions, 12 deletions
diff --git a/arch/s390x/bits/user.h b/arch/s390x/bits/user.h index ff3f0483..47f94f20 100644 --- a/arch/s390x/bits/user.h +++ b/arch/s390x/bits/user.h @@ -1,6 +1,3 @@ -#undef __WORDSIZE -#define __WORDSIZE 64 -  typedef union {  	double d;  	float f; diff --git a/arch/sh/bits/user.h b/arch/sh/bits/user.h index 07fe843b..b6ba16ed 100644 --- a/arch/sh/bits/user.h +++ b/arch/sh/bits/user.h @@ -1,6 +1,3 @@ -#undef __WORDSIZE -#define __WORDSIZE 32 -  #define REG_REG0	 0  #define REG_REG15	15  #define REG_PC		16 diff --git a/arch/x32/bits/user.h b/arch/x32/bits/user.h index eac82a14..b328edf9 100644 --- a/arch/x32/bits/user.h +++ b/arch/x32/bits/user.h @@ -1,6 +1,3 @@ -#undef __WORDSIZE -#define __WORDSIZE 32 -  typedef struct user_fpregs_struct {  	uint16_t cwd, swd, ftw, fop;  	uint64_t rip, rdp; diff --git a/arch/x86_64/bits/user.h b/arch/x86_64/bits/user.h index 4073cc06..b328edf9 100644 --- a/arch/x86_64/bits/user.h +++ b/arch/x86_64/bits/user.h @@ -1,6 +1,3 @@ -#undef __WORDSIZE -#define __WORDSIZE 64 -  typedef struct user_fpregs_struct {  	uint16_t cwd, swd, ftw, fop;  	uint64_t rip, rdp; diff --git a/include/sys/user.h b/include/sys/user.h index 96a03400..78036da3 100644 --- a/include/sys/user.h +++ b/include/sys/user.h @@ -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  | 
