xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
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

      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).