hc
2024-08-19 eb6b9ee90f50f13c5abb885ce483802d6262f2b5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
From 7ea7fe229ea6195938d9eadbe783cb1aa74380ba Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
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 <sys/select.h>
as we're now using >= POSIX.1-2001 definitions of fd_set and friends.
 
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Vincent Fazio <vfazio@gmail.com>
---
 src/LibSupport.h     | 21 +++------------------
 src/TcpServerPosix.c |  1 +
 src/makefile         |  2 ++
 3 files changed, 6 insertions(+), 18 deletions(-)
 
diff --git a/src/LibSupport.h b/src/LibSupport.h
index 5055560..48b1e16 100644
--- a/src/LibSupport.h
+++ b/src/LibSupport.h
@@ -64,24 +64,9 @@
 #ifndef _LIB_SUPPORT_H_
 #define _LIB_SUPPORT_H_
 
-/* kgold added power and s390 */
-#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(__powerpc64__) || defined(__PPC64__) || defined(__ppc64__) \
-    || defined(__s390x__)
-#       define RADIX_BITS                      64
-#   elif defined(__i386__) || defined(__i386) || defined(i386)        \
-    || defined(_WIN32) || defined(_M_IX86)                \
-    || defined(_M_ARM) || defined(__arm__) || defined(__thumb__)    \
-    || defined(__powerpc__) || defined(__PPC__)
-#       define RADIX_BITS                      32
-#   else
-#       error Unable to determine RADIX_BITS from compiler environment
-#   endif
-#endif // RADIX_BITS
+#include <limits.h>
+
+#define RADIX_BITS LONG_BIT
 
 // These macros use the selected libraries to the proper include files.
 #define LIB_QUOTE(_STRING_) #_STRING_
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 <stdio.h>
 #include <stdbool.h>
+#include <sys/select.h>
 #include <unistd.h>
 #include <sys/types.h>
 #include <sys/socket.h>
diff --git a/src/makefile b/src/makefile
index f124e78..6ee128e 100644
--- a/src/makefile
+++ b/src/makefile
@@ -46,6 +46,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