On 27.11.2019 17:01, Roger Pau Monne wrote: > 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....@citrix.com>
To be honest, as indicated before I'm inclined to nak this patch on the basis that a proper solution has been posted almost 3 weeks ago (and this was already v2). Nevertheless a remark here: > --- 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" Instead of introducing a new option here, ... > @@ -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" ... seeing this, why don't you simply suppress HAS_BUILD_ID acquiring a value of y in ./Config.mk (accompanied by a suitable comment)? Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel