[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH for-4.13] clang: do not enable live-patching support
Live-patching requires unique symbols, and sadly the clang build generates a lot of duplicate symbols: Duplicate symbol 'asid.c#get_cpu_info' (ffff82d0803032c0 != ffff82d0802e0f50) Duplicate symbol 'asid.c#get_cpu_info_from_stack' (ffff82d0802e1080 != ffff82d0803032f0) Duplicate symbol 'ats.c#__list_add' (ffff82d080260a00 != ffff82d080267c70) Duplicate symbol 'boot.c#constant_test_bit' (ffff82d08040ea60 != ffff82d0804372f0) Duplicate symbol 'common.c#clear_bit' (ffff82d080332440 != ffff82d0802d33b0) Duplicate symbol 'common.c#constant_test_bit' (ffff82d080332340 != ffff82d0802d2220) Duplicate symbol 'common.c#cpumask_check' (ffff82d0802d3370 != ffff82d080337b60) Duplicate symbol 'common.c#get_cpu_info' (ffff82d0802d22b0 != ffff82d080331590) Duplicate symbol 'common.c#get_cpu_info_from_stack' (ffff82d0802d31c0 != ffff82d0803374b0) Duplicate symbol 'common.c#pfn_to_pdx' (ffff82d0802d3270 != ffff82d080331e00) Duplicate symbol 'common.c#test_and_set_bit' (ffff82d0802d3360 != ffff82d080332250) Duplicate symbol 'common.c#variable_clear_bit' (ffff82d0802d2270 != ffff82d080337b50) Duplicate symbol 'compat.c#get_cpu_info' (ffff82d08026eab0 != ffff82d080200460) Duplicate symbol 'compat.c#get_cpu_info_from_stack' (ffff82d08026ebd0 != ffff82d080200f70) Duplicate symbol 'cpu_idle.c#get_cpu_info' (ffff82d0802ccb00 != ffff82d08035fcc0) [...] For the time being disable live-patching when building with clang, since duplicate symbols will trigger a build failure because ENFORCE_UNIQUE_SYMBOLS is now also enabled by default in conjunction with live-patching. Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> --- Cc: Jürgen Groß <jgross@xxxxxxxx> --- Config.mk | 2 ++ xen/common/Kconfig | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Config.mk b/Config.mk index d8f90d75b3..009abda225 100644 --- a/Config.mk +++ b/Config.mk @@ -157,6 +157,8 @@ ifndef XEN_HAS_CHECKPOLICY export XEN_HAS_CHECKPOLICY endif +export XEN_BUILD_WITH_CLANG = $(clang) + # as-insn: Check whether assembler supports an instruction. # Usage: cflags-y += $(call as-insn,CC FLAGS,"insn",option-yes,option-no) as-insn = $(if $(shell echo 'void _(void) { asm volatile ( $(2) ); }' \ diff --git a/xen/common/Kconfig b/xen/common/Kconfig index f754741972..097996fc6c 100644 --- a/xen/common/Kconfig +++ b/xen/common/Kconfig @@ -80,6 +80,10 @@ config HAS_CHECKPOLICY string option env="XEN_HAS_CHECKPOLICY" +config BUILD_WITH_CLANG + string + option env="XEN_BUILD_WITH_CLANG" + menu "Speculative hardening" config SPECULATIVE_HARDEN_ARRAY @@ -350,7 +354,7 @@ config CRYPTO config LIVEPATCH bool "Live patching support" default X86 - depends on HAS_BUILD_ID = "y" + depends on HAS_BUILD_ID = "y" && BUILD_WITH_CLANG != "y" ---help--- Allows a running Xen hypervisor to be dynamically patched using binary patches without rebooting. This is primarily used to binarily -- 2.24.0 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |