[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Status of 4.13



On 25.11.2019 18:49, Roger Pau Monné  wrote:
> On Mon, Nov 25, 2019 at 05:34:15PM +0000, Andrew Cooper wrote:
>> On 25/11/2019 17:27, Roger Pau Monné wrote:
>>> On Mon, Nov 25, 2019 at 05:07:04PM +0000, Wei Liu wrote:
>>>> On Mon, Nov 25, 2019 at 04:59:31PM +0100, Roger Pau Monné wrote:
>>>> [...]
>>>>> Which I think it's expected, we already knew clang had a lot of
>>>>> duplicate symbols. The only way I know to workaround this ATM is to
>>>>> use `gmake xen clang=y CONFIG_ENFORCE_UNIQUE_SYMBOLS=n`. It's on my
>>>>> pile of stuff to look into, but I'm not sure when I will get to it.
>>>> In that case we should make Gitlab CI use the new configuration option.
>>> IMO the build should work out of the box, so we should disable
>>> CONFIG_ENFORCE_UNIQUE_SYMBOLS automatically if clang is detected.
>>
>> Kconfig in 4.13 isn't in a position to know this.  (It will be in 4.14
>> with Anthony's refresh committed).
> 
> We already have Kconfig options that depend on toolchain features,
> livepatch itself will be enabled if build id is supported by the
> linker, why not use something like:

I'm sorry to say this, but suggesting workarounds like this when
there's a solution to the problem [1] feels absurd.

Jan

[1] https://lists.xenproject.org/archives/html/xen-devel/2019-11/msg00357.html

> 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
> 
> This WFM with FreeBSD and clang.
> 
> Thanks, Roger.
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxxx
> https://lists.xenproject.org/mailman/listinfo/xen-devel
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.