kumquat-buildroot/package/ibm-sw-tpm2/0001-Use-LONG_BIT-to-define-RADIX_BITS.patch
Vincent Fazio a34e7f88f6 package/ibm-sw-tpm2: fix glibc build errors
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>
2020-08-18 16:43:40 +02:00

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