On 2025-10-15 08:20, Jan Beulich wrote:
On 14.10.2025 18:16, Dmytro Prokopchuk1 wrote:
--- a/xen/common/version.c
+++ b/xen/common/version.c
@@ -217,6 +217,20 @@ void __init xen_build_init(void)
#endif /* CONFIG_X86 */
}
#endif /* BUILD_ID */
+
+#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) ||
defined(__aarch64__)
Why __i386__? Also (nit): Line too long.
And why this restriction without any comment here or ...
+static void __init __maybe_unused build_assertions(void)
+{
+ /*
+ * To confirm conversion compatibility between unsigned long,
(void *)
+ * and function pointers for X86 and ARM architectures only.
... explanation here? More generally - how would people know to update
the condition if another port was to be certified?
Finally, with the v3 addition here, is Nicola's R-b really still
applicable?
I agree with the point you make about i386 (e.g.,
C-language-toolchain.rst may be mentioned to provide some context about
the preprocessor guard); that said, my R-by can be retained
Jan
+ */
+
+ BUILD_BUG_ON(sizeof(unsigned long) != sizeof(void (*)(void)));
+ BUILD_BUG_ON(sizeof(void *) != sizeof(void (*)(void)));
+}
+#endif
+
/*
* Local variables:
* mode: C
--
Nicola Vetrini, B.Sc.
Software Engineer
BUGSENG (https://bugseng.com)
LinkedIn: https://www.linkedin.com/in/nicola-vetrini-a42471253