From: "Roger Pau Monné" <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>,
Andrew Cooper <andrew.cooper3@citrix.com>,
Anthony PERARD <anthony.perard@vates.tech>,
Michal Orzel <michal.orzel@amd.com>,
Julien Grall <julien@xen.org>,
Stefano Stabellini <sstabellini@kernel.org>,
xen-devel@lists.xenproject.org
Subject: Re: [PATCH] xen: always consider '/' as a division in assembly
Date: Tue, 10 Feb 2026 16:53:53 +0100 [thread overview]
Message-ID: <aYtUkeoX273I8ABq@Mac.lan> (raw)
In-Reply-To: <8bef9911-2f37-4cd1-bf18-29cca646fb09@suse.com>
On Tue, Feb 10, 2026 at 04:27:33PM +0100, Jan Beulich wrote:
> On 10.02.2026 16:11, Roger Pau Monne wrote:
> > GNU assembler will consider '/' as the start of comment marker on some
> > platforms. This is incorrect with Xen's usage, which does use '/' in
> > assembly files as a mathematical operator.
> >
> > The behavior of the assembler can be altered by passing the --divide
> > option; unconditionally pass this option when available to force the
> > expected behavior.
>
> I'm fine with this in principle, but I wonder: What about Clang? If it's
> properly compatible, it ought to also take '/' as a comment char for
> those same targets (in particular for the plain "x86_64-elf" one).
> According to godbolt it can't deal with -Wa,--divide, yet there I also
> can't control what exact target the toolchain supports (i.e. this may be
> only a weak indication of lack of support / compatibility).
Hm, I'm unsure I can get such a Clang build to properly test it. Note
the checking for the presence of the option would also be done in
Clang. I would like to think if Clang integrated assembler has this
behavior the option to select our expected behavior will also be
--divide. I think that's the best I can do ATM.
> > --- a/xen/Makefile
> > +++ b/xen/Makefile
> > @@ -405,6 +405,11 @@ $(call cc-option-add,CFLAGS,CC,-Winit-self)
> > CFLAGS += -pipe -D__XEN__ -include $(srctree)/include/xen/config.h
> > CFLAGS-$(CONFIG_DEBUG_INFO) += -g
> >
> > +# The GNU assembler will interpret '/' as a comment start marker instead of a
> > +# divide on some platforms.
>
> Could I talk you into s/on some platforms/for some ELF targets/ ?
Yes, that's fine IMO.
> A more fundamental question is: Do we really mean to support (allow)
> building with arbitrary-target toolchains? There are other subtle
> differences, which may be hard to evaluate as to them possibly affecting
> the Xen build.
Hm, TBH I wasn't aware of such subtle and annoying differences until
today, so I'm not sure what to reply here. I haven't tested the x86
image yet, as I'm still attempting to resolve some non-POSIX options
usage in check-endbr.sh.
We might want to state which ELF targets we do explicitly support for
production usage. TBH I doubt anyone would use a Darwin build for
production.
> > Pass --divide when when available to signal '/' is
> > +# always used as an operator in assembly.
> > +$(call cc-option-add,CFLAGS,CC,-Wa$$(comma)--divide)
>
> I don't think this should be done here: --divide is an x86-specific
> option.
Oh, that wasn't clear from the output of as. I can make it
x86-specific then. However, is there any chance of this behavior
escaping outside of x86, and hence would we like to ensure this
behavior on all possible arches?
Or is it possible that other arches re-use the --divide option for
some other functionality?
Thanks, Roger.
next prev parent reply other threads:[~2026-02-10 15:54 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-10 15:11 [PATCH] xen: always consider '/' as a division in assembly Roger Pau Monne
2026-02-10 15:27 ` Jan Beulich
2026-02-10 15:53 ` Roger Pau Monné [this message]
2026-02-10 16:09 ` Jan Beulich
2026-02-10 15:44 ` Bertrand Marquis
2026-02-10 15:55 ` Roger Pau Monné
2026-02-10 15:57 ` Bertrand Marquis
2026-02-10 16:09 ` Roger Pau Monné
2026-02-10 16:15 ` Jan Beulich
2026-02-10 16:19 ` Bertrand Marquis
2026-02-10 16:20 ` Bertrand Marquis
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=aYtUkeoX273I8ABq@Mac.lan \
--to=roger.pau@citrix.com \
--cc=Bertrand.Marquis@arm.com \
--cc=andrew.cooper3@citrix.com \
--cc=anthony.perard@vates.tech \
--cc=jbeulich@suse.com \
--cc=julien@xen.org \
--cc=michal.orzel@amd.com \
--cc=sstabellini@kernel.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.