summaryrefslogtreecommitdiff
diff options
authorTzafrir Cohen <tzafrir@debian.org>2025-04-06 08:08:44 +0300
committergit-ubuntu importer <ubuntu-devel-discuss@lists.ubuntu.com>2025-04-07 22:37:05 +0000
commit7232e270aa3e8b15960fef4856e74c3d22d9bdc3 (patch)
tree21f0b7b72266064740b29d598979ac9a365bb371
parent3d620e1d453d4b5bb434cd37a975498ed704dd0c (diff)
[PATCH 3/3] Avoid all arch-dependent format macros
Gbp-Pq: 0003-Avoid-all-arch-dependent-format-macros.patch.
-rw-r--r--common/compatibility.h79
-rw-r--r--tools_layouts/adb_to_c_utils.h75
2 files changed, 15 insertions, 139 deletions
diff --git a/common/compatibility.h b/common/compatibility.h
index 339e761..b7a7756 100644
--- a/common/compatibility.h
+++ b/common/compatibility.h
@@ -40,55 +40,8 @@
#define COMPATIBILITY_H
#include <stdio.h>
+#include <inttypes.h>
-/* define macros to the architecture of the CPU */
-#if defined(__linux__) || defined(__FreeBSD__)
-#if defined(__i386__)
-#define ARCH_x86
-#elif defined(__x86_64__)
-#define ARCH_x86_64
-#elif defined(__ia64__)
-#define ARCH_ia64
-#elif defined(__m68k__)
-#define ARCH_m68k
-#elif defined(__hppa__)
-#define ARCH_hppa
-#elif defined(__PPC64__) || defined(__s390x__)
-#define ARCH_ppc64
-#elif defined(__PPC__)
-#define ARCH_ppc
-#elif defined(__aarch64__)
-#define ARCH_arm64
-#elif defined(__arm__)
-#define ARCH_arm6l
-#elif defined(__riscv)
-#define ARCH_riscv
-#elif defined(__loongarch_lp64)
-#define ARCH_loongarch64
-#elif defined(__e2k__)
-#define ARCH_e2k
-#else
-#error Unknown CPU architecture using the linux OS
-#endif
-#elif defined(__MINGW32__) || defined(__MINGW64__) /* Windows MINGW */
-#if defined(__MINGW32__)
-#define ARCH_x86
-#elif defined(__MINGW64__)
-#define ARCH_x86_64
-#else
-#error Unknown CPU architecture using the windows-mingw OS
-#endif
-#elif defined(_WIN32) || defined(_WIN64) /* Windows */
-#if defined(_WIN32)
-#define ARCH_x86
-#elif defined(_WIN64)
-#define ARCH_x86_64
-#else
-#error Unknown CPU architecture using the windows OS
-#endif
-#else /* Unknown */
-#error Unknown OS
-#endif
/* define macros for print fields */
#define U32D_FMT "%u"
@@ -98,31 +51,13 @@
#define U16H_FMT "0x%04x"
#define U8H_FMT "0x%02x"
-#if defined(ARCH_x86) || defined(ARCH_ppc) || defined(UEFI_BUILD) || defined(ARCH_arm6l) || defined(ARCH_m68k) || \
- defined(ARCH_hppa)
-#if defined(__MINGW32__) || defined(__MINGW64__)
-#include <inttypes.h>
-#define U64D_FMT "0x%" PRId64
-#define U64H_FMT "0x%" PRIx64
+//#define U64D_FMT "0x%" PRId64
+#define U64D_FMT "0x%" PRIu64
+#define U64H_FMT "0x%016" PRIx64
#define U64H_FMT_GEN "" PRIx64
-#define U48H_FMT "0x%" PRIx64
-#define U64D_FMT_GEN "" PRId64
-#else
-#define U64D_FMT "%llu"
-#define U64H_FMT "0x%016llx"
-#define U64H_FMT_GEN "llx"
-#define U48H_FMT "0x%012llx"
-#define U64D_FMT_GEN "llu"
-#endif
-#elif defined(ARCH_ia64) || defined(ARCH_x86_64) || defined(ARCH_ppc64) || defined(ARCH_arm64) || defined(ARCH_riscv) || defined(ARCH_loongarch64) || defined(ARCH_e2k)
-#define U64D_FMT "%lu"
-#define U64H_FMT "0x%016lx"
-#define U48H_FMT "0x%012lx"
-#define U64H_FMT_GEN "lx"
-#define U64D_FMT_GEN "lu"
-#else
-#error Unknown architecture
-#endif /* ARCH */
+#define U48H_FMT "0x%012" PRIx64
+//#define U64D_FMT_GEN "" PRId64
+#define U64D_FMT_GEN "" PRIu64
/*
* Only for architectures which can't do swab by themselves
diff --git a/tools_layouts/adb_to_c_utils.h b/tools_layouts/adb_to_c_utils.h
index 0175f5f..eb619e7 100644
--- a/tools_layouts/adb_to_c_utils.h
+++ b/tools_layouts/adb_to_c_utils.h
@@ -44,6 +44,7 @@
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
+#include <inttypes.h>
// for htonl etc...
#if defined(_WIN32) || defined(_WIN64)
@@ -124,55 +125,6 @@ extern "C"
#endif
-/* define macros to the architecture of the CPU */
-#if defined(__linux__) || defined(__FreeBSD__) /* __linux || __FreeBSD__ */
-#if defined(__i386__)
-#define ARCH_x86
-#elif defined(__x86_64__)
-#define ARCH_x86_64
-#elif defined(__ia64__)
-#define ARCH_ia64
-#elif defined(__m68k__)
-#define ARCH_m68k
-#elif defined(__hppa__)
-#define ARCH_hppa
-#elif defined(__PPC64__) || defined(__s390x__)
-#define ARCH_ppc64
-#elif defined(__PPC__)
-#define ARCH_ppc
-#elif defined(__aarch64__)
-#define ARCH_arm64
-#elif defined(__arm__)
-#define ARCH_arm6l
-#elif defined(__riscv)
-#define ARCH_riscv
-#elif defined(__loongarch_lp64)
-#define ARCH_loongarch64
-#elif defined(__e2k__)
-#define ARCH_e2k
-#else
-#error Unknown CPU architecture using the linux OS
-#endif
-#elif defined(__MINGW32__) || defined(__MINGW64__) /* Windows MINGW */
-#if defined(__MINGW32__)
-#define ARCH_x86
-#elif defined(__MINGW64__)
-#define ARCH_x86_64
-#else
-#error Unknown CPU architecture using the windows-mingw OS
-#endif
-#elif defined(_WIN32) || defined(_WIN64) /* Windows */
-#if defined(_WIN32)
-#define ARCH_x86
-#elif defined(_WIN64)
-#define ARCH_x86_64
-#else
-#error Unknown CPU architecture using the windows OS
-#endif
-#else /* Unknown */
-#error Unknown OS
-#endif
-
/* define macros for print fields */
#define U32D_FMT "%u"
#define U32H_FMT "0x%08x"
@@ -181,24 +133,13 @@ extern "C"
#define U16H_FMT "0x%04x"
#define U8H_FMT "0x%02x"
-#if defined(ARCH_x86) || defined(ARCH_ppc) || defined(UEFI_BUILD) || defined(ARCH_arm6l) || defined(ARCH_m68k) || defined(ARCH_hppa)
-#if defined(__MINGW32__) || defined(__MINGW64__)
-#include <inttypes.h>
-#define U64D_FMT "0x%" PRId64
-#define U64H_FMT "0x%" PRIx64
-#define U48H_FMT "0x%" PRIx64
-#else
-#define U64D_FMT "%llu"
-#define U64H_FMT "0x%016llx"
-#define U48H_FMT "0x%012llx"
-#endif
-#elif defined(ARCH_ia64) || defined(ARCH_x86_64) || defined(ARCH_ppc64) || defined(ARCH_arm64) || defined(ARCH_riscv) || defined(ARCH_loongarch64) || defined(ARCH_e2k)
-#define U64D_FMT "%lu"
-#define U64H_FMT "0x%016lx"
-#define U48H_FMT "0x%012lx"
-#else
-#error Unknown architecture
-#endif /* ARCH */
+//#define U64D_FMT "0x%" PRId64
+#define U64D_FMT "0x%" PRIu64
+#define U64H_FMT "0x%016" PRIx64
+#define U64H_FMT_GEN "" PRIx64
+#define U48H_FMT "0x%012" PRIx64
+//#define U64D_FMT_GEN "" PRId64
+#define U64D_FMT_GEN "" PRIu64
#if !defined(_WIN32) && !defined(_WIN64) /* Linux */
#include <sys/types.h>