From 7ea7fe229ea6195938d9eadbe783cb1aa74380ba Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 26 Apr 2020 15:33:39 +0200 Subject: [PATCH] Use LONG_BIT to define RADIX_BITS This allows to avoid having to support each CPU architecture individually. Also, add the necessary defines in the makefile to expose LONG_BIT. Adding those defines end up requiring using as we're now using >= POSIX.1-2001 definitions of fd_set and friends. Signed-off-by: Thomas Petazzoni Signed-off-by: Vincent Fazio [Bernd: rebased for git rev 5452af422edeff70fcae8ea99dd28a0922051d7b] Signed-off-by: Bernd Kuhls [Fabrice: rebase for rev183-2024-03-27] Signed-off-by: Fabrice Fontaine --- src/LibSupport.h | 21 +++------------------ src/TcpServerPosix.c | 1 + src/makefile | 2 ++ 3 files changed, 6 insertions(+), 18 deletions(-) diff --git a/src/tpm_radix.h b/src/tpm_radix.h index 5055560..48b1e16 100644 --- a/src/tpm_radix.h +++ b/src/tpm_radix.h @@ -61,27 +61,9 @@ //** Introduction // Common defines for supporting large numbers and cryptographic buffer sizing. //********************* -#ifndef RADIX_BITS -# if defined(__x86_64__) || defined(__x86_64) || defined(__amd64__) \ - || defined(__amd64) || defined(_WIN64) || defined(_M_X64) || defined(_M_ARM64) \ - || defined(__aarch64__) || defined(__PPC64__) || defined(__s390x__) \ - || defined(__powerpc64__) || defined(__ppc64__) -# define RADIX_BITS 64 -# elif defined(__i386__) || defined(__i386) || defined(i386) || defined(_WIN32) \ - || defined(_M_IX86) -# define RADIX_BITS 32 -# elif defined(_M_ARM) || defined(__arm__) || defined(__thumb__) -# define RADIX_BITS 32 -# elif defined(__riscv) -// __riscv and __riscv_xlen are standardized by the RISC-V community and should be available -// on any compliant compiler. -// -// https://github.com/riscv-non-isa/riscv-toolchain-conventions -# define RADIX_BITS __riscv_xlen -# else -# error Unable to determine RADIX_BITS from compiler environment -# endif -#endif // RADIX_BITS +#include + +#define RADIX_BITS LONG_BIT #if RADIX_BITS == 64 # define RADIX_BYTES 8 diff --git a/src/TcpServerPosix.c b/src/TcpServerPosix.c index cad0402..6293cdd 100644 --- a/src/TcpServerPosix.c +++ b/src/TcpServerPosix.c @@ -66,6 +66,7 @@ #include #include +#include #include #include #include diff --git a/src/makefile b/src/makefile index f124e78..6ee128e 100644 --- a/src/makefile +++ b/src/makefile @@ -47,6 +47,8 @@ CCFLAGS = -Wall \ -c -ggdb -O0 \ -DTPM_POSIX \ -D_POSIX_ \ + -D_DEFAULT_SOURCE \ + -D_XOPEN_SOURCE=500 \ -DTPM_NUVOTON # add this line for big endian platforms -- 2.17.1