From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <Andrew.Cooper3@citrix.com>,
George Dunlap <George.Dunlap@citrix.com>,
Julien Grall <julien@xen.org>,
Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [Multiple reverts] [RFC PATCH] build: include/compat: figure out which other compat headers are needed
Date: Thu, 12 Jan 2023 09:27:34 +0000 [thread overview]
Message-ID: <Y7/Shv1qyi0jgrai@perard.uk.xensource.com> (raw)
In-Reply-To: <750ad2e8-a5be-d9c0-846e-41bb64c195fe@suse.com>
On Thu, Jan 12, 2023 at 08:46:23AM +0100, Jan Beulich wrote:
> On 11.01.2023 23:29, Andrew Cooper wrote:
> > In file included from arch/x86/hvm/hvm.c:82:
> > ./include/compat/hvm/hvm_op.h:6:10: fatal error: ../trace.h: No such
> > file or directory
> > 6 | #include "../trace.h"
> > | ^~~~~~~~~~~~
> > compilation terminated.
> > make[4]: *** [Rules.mk:246: arch/x86/hvm/hvm.o] Error 1
> > make[3]: *** [Rules.mk:320: arch/x86/hvm] Error 2
> > make[3]: *** Waiting for unfinished jobs....
> >
> >
> > All public headers use "../" relative includes for traversing the
> > public/ hierarchy. This cannot feasibly change given our "copy this
> > into your project" stance, but it means the compat headers have the same
> > structure under compat/.
> >
> > This include is supposed to be including compat/trace.h but it was
> > actually picking up x86's asm/trace.h, hence the build failure now that
> > I've deleted the file.
> >
> > This demonstrates that trying to be clever with -iquote is a mistake.
> > Nothing good can possibly come of having the <> and "" include paths
> > being different. Therefore we must revert all uses of -iquote.
>
> I'm afraid I can't see the connection between use of -iquote and the bug
> here.
Me neither, -iquote isn't used on that object's command line.
> > But, that isn't the only bug.
> >
> > The real hvm_op.h legitimately includes the real trace.h, therefore the
> > compat hvm_op.h legitimately includes the compat trace.h too. But
> > generation of compat trace.h was made asymmetric because of 2c8fabb223.
> >
> > In hindsight, that's a public ABI breakage. The current configuration
> > of this build of the hypervisor has no legitimate bearing on the headers
> > needing to be installed to /usr/include/xen.
> >
> > Or put another way, it is a breakage to require Xen to have
> > CONFIG_COMPAT+CONFIG_TRACEBUFFER enabled in the build simply to get the
> > public API headers generated properly.
>
> There are no public API headers which are generated. The compat headers
> are generate solely for Xen's internal purposes (and hence there's also
> no public ABI breakage). Since generation is slow, avoiding to generate
> ones not needed during the build is helpful.
If only we could do the generation faster:
https://lore.kernel.org/xen-devel/20220614162248.40278-5-anthony.perard@citrix.com/
patch which takes care of the slower part of the generation (slower
at least for some compat headers).
Cheers,
--
Anthony PERARD
next prev parent reply other threads:[~2023-01-12 9:28 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-11 18:17 [RFC PATCH] build: include/compat: figure out which other compat headers are needed Anthony PERARD
2023-01-11 22:29 ` Re:[Multiple reverts] " Andrew Cooper
2023-01-12 7:46 ` [Multiple " Jan Beulich
2023-01-12 9:14 ` Jan Beulich
2023-01-12 9:27 ` Anthony PERARD [this message]
2023-01-12 10:04 ` Jan Beulich
2023-01-12 11:02 ` Andrew Cooper
2023-01-12 11:21 ` Jan Beulich
2023-01-12 8:02 ` Jan Beulich
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=Y7/Shv1qyi0jgrai@perard.uk.xensource.com \
--to=anthony.perard@citrix.com \
--cc=Andrew.Cooper3@citrix.com \
--cc=George.Dunlap@citrix.com \
--cc=jbeulich@suse.com \
--cc=julien@xen.org \
--cc=sstabellini@kernel.org \
--cc=wl@xen.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.