a34e7f88f6
In order to not have to define all architecture bitness variants in
src/LibSupport.h to conditionally define RADIX_BITS, a patch was created
to depend on LONG_BIT being defined via limits.h
For glibc, LONG_BIT is behind a _XOPEN_SOURCE define guard so patch the
makefile to define this macro as well as _DEFAULT_SOURCE.
Defining _XOPEN_SOURCE requires _DEFAULT_SOURCE to be explicitly defined
for builds to succeed as it is no longer impliclty defined when
_XOPEN_SOURCE is defined.
Fixes:
http://autobuild.buildroot.net/results/bc145dd23c80a0660300766d0c114a00ed2e52b6/
http://autobuild.buildroot.net/results/1d84e70c30d4d0719274aa4f3edc01772beb24a3/
Fixes: 19bd089004
("package/ibm-sw-tpm2: fix patch to address musl builds")
Signed-off-by: Vincent Fazio <vfazio@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
62 lines
1.9 KiB
Diff
62 lines
1.9 KiB
Diff
From 7c32c58f4ce802d2682038f73bb8c8f850237f89 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
|
|
|
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
|
Signed-off-by: Vincent Fazio <vfazio@gmail.com>
|
|
---
|
|
src/LibSupport.h | 17 +++--------------
|
|
src/makefile | 2 ++
|
|
2 files changed, 5 insertions(+), 14 deletions(-)
|
|
|
|
diff --git a/src/LibSupport.h b/src/LibSupport.h
|
|
index b2e6a51..0b59d18 100644
|
|
--- a/src/LibSupport.h
|
|
+++ b/src/LibSupport.h
|
|
@@ -64,20 +64,9 @@
|
|
#ifndef _LIB_SUPPORT_H_
|
|
#define _LIB_SUPPORT_H_
|
|
|
|
-#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__)
|
|
-# define RADIX_BITS 64
|
|
-# elif defined(__i386__) || defined(__i386) || defined(i386) \
|
|
- || defined(_WIN32) || defined(_M_IX86) \
|
|
- || defined(_M_ARM) || defined(__arm__) || defined(__thumb__)
|
|
-# 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/makefile b/src/makefile
|
|
index f124e78..9af1e51 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 \
|
|
-DTPM_NUVOTON
|
|
|
|
# add this line for big endian platforms
|
|
--
|
|
2.28.0
|
|
|