|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] How to compile Xen 4.12 with Clang on Linux?
On Tue, Jun 25, 2019 at 01:09:22AM +0000, Johnson, Ethan wrote:
> On 6/20/19 7:01 PM, Andrew Cooper wrote:
> > Xen itself doesn't use autoconf, and needs a bit of extra help getting
> > its options in order. There is an extra clang=y variable which you need
> > to pass.
> >
> > xen.git$ make -C xen/ CC=clang-7 clang=y
>
> Thanks! That seems to have worked.
>
> Now I've got a new issue: it looks like Xen is trying to use an
> optimization flag that Clang doesn't like:
>
> ----------
> [ 16%] Building C object crypto/CMakeFiles/tpm_crypto.dir/hmac.o
> cd
> /home/ejohns48/Desktop/xen-4.12.0/stubdom/tpm_emulator-x86_64/build/crypto
> && /usr/bin/clang-7 -I/opt/local/include
> -I/home/ejohns48/Desktop/xen-4.12.0/stubdom/tpm_emulator-x86_64
> -I/home/ejohns48/Desktop/xen-4.12.0/stubdom/tpm_emulator-x86_64/build
> -std=c99 -DTPM_NO_EXTERN -isystem
> /home/ejohns48/Desktop/xen-4.12.0/stubdom/../extras/mini-os/include
> -D__MINIOS__ -DHAVE_LIBC -isystem
> /home/ejohns48/Desktop/xen-4.12.0/stubdom/../extras/mini-os/include/posix
> -isystem
> /home/ejohns48/Desktop/xen-4.12.0/stubdom/../tools/xenstore/include
> -isystem
> /home/ejohns48/Desktop/xen-4.12.0/stubdom/../extras/mini-os/include/x86
> -isystem
> /home/ejohns48/Desktop/xen-4.12.0/stubdom/../extras/mini-os/include/x86/x86_64
>
> -U __linux__ -U __FreeBSD__ -U __sun__ -nostdinc -isystem
> /home/ejohns48/Desktop/xen-4.12.0/stubdom/../extras/mini-os/include/posix
> -isystem
> /home/ejohns48/Desktop/xen-4.12.0/stubdom/cross-root-x86_64/x86_64-xen-elf/include
>
> -isystem /usr/lib/gcc/x86_64-linux-gnu/7/include -isystem
> /home/ejohns48/Desktop/xen-4.12.0/stubdom/lwip-x86_64/src/include
> -isystem
> /home/ejohns48/Desktop/xen-4.12.0/stubdom/lwip-x86_64/src/include/ipv4
> -I/home/ejohns48/Desktop/xen-4.12.0/stubdom/include
> -I/home/ejohns48/Desktop/xen-4.12.0/stubdom/../xen/include -mno-red-zone
> -O1 -fno-omit-frame-pointer -O1 -fno-omit-frame-pointer -m64
> -mno-red-zone -fno-reorder-blocks -fno-asynchronous-unwind-tables -m64
> -DBUILD_ID -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes
> -Wdeclaration-after-statement -Wno-unused-local-typedefs
> -fno-stack-protector -fno-exceptions -Wno-declaration-after-statement
> -Wall -Werror -Wextra -Wno-unused-parameter -Wpointer-arith -Wcast-align
> -Wwrite-strings -o CMakeFiles/tpm_crypto.dir/hmac.o -c
> /home/ejohns48/Desktop/xen-4.12.0/stubdom/tpm_emulator-x86_64/crypto/hmac.c
> clang: error: optimization flag '-fno-reorder-blocks' is not supported
> [-Werror,-Wignored-optimization-argument]
> ----------
>
> I'm seeing this same error on other translation units as well when I run
> "make" with multiple threads (-j24).
>
> Is this another thing I can fix with a flag or do I need to dig deeper?
I'm not sure clang/llvm is capable of building stubdomains. The
current gitlab CI loop that tests clang/llvm has the following
snippet:
# newlib cannot be built with clang so we cannot build stubdoms
cfgargs+=("--disable-stubdom")
Which disables the stubdomain build with clang. If you need
stubdomains working with clang/llvm I'm afraid you will have to do
some digging, or else you can just disable them from configure.
Roger.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |