[edk2-devel] [PATCH 1/1] BaseTools: use stdint.h for GCC ProcessorBind.h typedefs
Bob Feng
bob.c.feng at intel.com
Fri Sep 27 00:30:40 UTC 2019
Reviewed-by: Bob Feng <bob.c.feng at intel.com>
-----Original Message-----
From: Leif Lindholm [mailto:leif.lindholm at linaro.org]
Sent: Friday, September 27, 2019 3:28 AM
To: devel at edk2.groups.io
Cc: Ard Biesheuvel <ard.biesheuvel at linaro.org>; Feng, Bob C <bob.c.feng at intel.com>; Gao, Liming <liming.gao at intel.com>; Laszlo Ersek <lersek at redhat.com>
Subject: [PATCH 1/1] BaseTools: use stdint.h for GCC ProcessorBind.h typedefs
The AArch64 definitions of UINT64/INT64 differ from the X64 ones.
Since this is on the tool side, doing like X64 and picking the definitions from stdint.h feels like a better idea than hardcoding them. So copy the pattern from X64/ProcesorBind.h.
Cc: Ard Biesheuvel <ard.biesheuvel at linaro.org>
Cc: Bob Feng <bob.c.feng at intel.com>
Cc: Liming Gao <liming.gao at intel.com>
Cc: Laszlo Ersek <lersek at redhat.com>
Signed-off-by: Leif Lindholm <leif.lindholm at linaro.org>
---
This was triggered by one of the Risc-V patches which may need to end up being modified to the point where this issue goes away, but the current situation seems suboptimal. (Do you use %llx or %lx to print an Elf64_Addr on a 64-bit LP architecture?)
BaseTools/Source/C/Include/AArch64/ProcessorBind.h | 26 ++++++++++----------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/BaseTools/Source/C/Include/AArch64/ProcessorBind.h b/BaseTools/Source/C/Include/AArch64/ProcessorBind.h
index bfaf1e28e446..dfa725b2e363 100644
--- a/BaseTools/Source/C/Include/AArch64/ProcessorBind.h
+++ b/BaseTools/Source/C/Include/AArch64/ProcessorBind.h
@@ -41,21 +41,21 @@
typedef signed char INT8;
#else
//
- // Assume standard AARCH64 alignment.
+ // Use ANSI C 2000 stdint.h integer width declarations
//
- typedef unsigned long long UINT64;
- typedef long long INT64;
- typedef unsigned int UINT32;
- typedef int INT32;
- typedef unsigned short UINT16;
- typedef unsigned short CHAR16;
- typedef short INT16;
- typedef unsigned char BOOLEAN;
- typedef unsigned char UINT8;
- typedef char CHAR8;
- typedef signed char INT8;
+ #include <stdint.h>
+ typedef uint8_t BOOLEAN;
+ typedef int8_t INT8;
+ typedef uint8_t UINT8;
+ typedef int16_t INT16;
+ typedef uint16_t UINT16;
+ typedef int32_t INT32;
+ typedef uint32_t UINT32;
+ typedef int64_t INT64;
+ typedef uint64_t UINT64;
+ typedef char CHAR8;
+ typedef uint16_t CHAR16;
- #define UINT8_MAX 0xff
#endif
///
--
2.20.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#48161): https://edk2.groups.io/g/devel/message/48161
Mute This Topic: https://groups.io/mt/34302597/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list