From: "Roger Pau Monné" <roger.pau@citrix.com>
To: "Johnson, Ethan" <ejohns48@cs.rochester.edu>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [Xen-devel] How to compile Xen 4.12 with Clang on Linux?
Date: Tue, 25 Jun 2019 09:50:08 +0200 [thread overview]
Message-ID: <20190625075008.rjhcgr3ntbjadf55@MacBook-Air-de-Roger.local> (raw)
In-Reply-To: <d5ae7db2-b260-c58b-43be-f1f82cdfec9f@cs.rochester.edu>
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@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
prev parent reply other threads:[~2019-06-25 7:50 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-20 22:37 [Xen-devel] How to compile Xen 4.12 with Clang on Linux? Johnson, Ethan
2019-06-20 23:01 ` Andrew Cooper
2019-06-25 1:09 ` Johnson, Ethan
2019-06-25 7:50 ` Roger Pau Monné [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190625075008.rjhcgr3ntbjadf55@MacBook-Air-de-Roger.local \
--to=roger.pau@citrix.com \
--cc=andrew.cooper3@citrix.com \
--cc=ejohns48@cs.rochester.edu \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).