mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
Xen: Update compiler baseline checks
We have checks in both xen/compiler.h, and Config.mk. Both are incomplete. The check in Config.mk sees $(CC) in system and cross-compiler form, so cannot express anything more than the global baseline. Change it to simply 5.1. In xen/compiler.h, rewrite the expression for clarity/brevity. Include a GCC 12.2 check for RISCV, and include a Clang 11 baseline check. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Reviewed-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
1 parent
4abb6cff72
commit
40458f7525
2 files changed
+15
-13
No files matched your search
@@ -125,8 +125,8 @@ define cc-ver-check-closure
|
||||
endif
|
||||
endef
|
||||
|
||||
# Require GCC v4.1+
|
||||
check-$(gcc) = $(call cc-ver-check,CC,0x040100,"Xen requires at least gcc-4.1")
|
||||
# Require GCC v5.1 as the project global baseline
|
||||
check-$(gcc) = $(call cc-ver-check,CC,0x050100,"Xen requires at least GCC 5.1")
|
||||
$(eval $(check-y))
|
||||
|
||||
ld-ver-build-id = $(shell $(1) --build-id 2>&1 | \
|
||||
|
||||
+13
-11
@@ -1,20 +1,22 @@
|
||||
#ifndef __LINUX_COMPILER_H
|
||||
#define __LINUX_COMPILER_H
|
||||
|
||||
#if !defined(__GNUC__) || (__GNUC__ < 4)
|
||||
#error Sorry, your compiler is too old/not recognized.
|
||||
#elif CONFIG_CC_IS_GCC
|
||||
# if defined(CONFIG_ARM_32) && CONFIG_GCC_VERSION < 40900
|
||||
# error Sorry, your version of GCC is too old - please use 4.9 or newer.
|
||||
# elif defined(CONFIG_ARM_64) && CONFIG_GCC_VERSION < 50100
|
||||
/*
|
||||
* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63293
|
||||
* https://lore.kernel.org/r/20210107111841.GN1551@shell.armlinux.org.uk
|
||||
*/
|
||||
# error Sorry, your version of GCC is too old - please use 5.1 or newer.
|
||||
#if CONFIG_CC_IS_GCC
|
||||
|
||||
# if defined(CONFIG_RISCV) && CONFIG_GCC_VERSION < 120200
|
||||
# error Sorry, please use GCC >= 12.2
|
||||
# elif CONFIG_GCC_VERSION < 50100
|
||||
# error Sorry, please use GCC >= 5.1
|
||||
# endif
|
||||
|
||||
#elif CONFIG_CC_IS_CLANG
|
||||
|
||||
# if CONFIG_CLANG_VERSION < 110000
|
||||
# error Sorry, please use Clang >= 11
|
||||
# endif
|
||||
|
||||
#endif /* Compiler checks. */
|
||||
|
||||
#ifdef CONFIG_CC_HAS_VISIBILITY_ATTRIBUTE
|
||||
/* Results in more efficient PIC code (no indirections through GOT or PLT). */
|
||||
#pragma GCC visibility push(hidden)
|
||||
|
||||