From: Patrick Welche <prlw1@cam.ac.uk>
To: Jan Beulich <JBeulich@suse.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>,
Ian Campbell <Ian.Campbell@citrix.com>,
xen-devel@lists.xen.org
Subject: Re: stdbool.h -nostdinc XSA-55 trouble
Date: Fri, 9 Aug 2013 09:11:25 +0100 [thread overview]
Message-ID: <20130809081125.GF290@quark> (raw)
In-Reply-To: <5204BB6802000078000EA926@nat28.tlf.novell.com>
On Fri, Aug 09, 2013 at 08:50:32AM +0100, Jan Beulich wrote:
> That would make sense only if we could also do the same for
> stdarg.h, but you'll note that xen/stdarg.h already works around
> the same problem on NetBSD and OpenBSD. Going through the
> history of xen/stdarg.h also shows that this has been a recurring
> problem. It escapes me why they can't just play things the gcc
> way if gcc is their compiler.
The plan is to use llvm/clang - I haven't tried it, though others
already use it as their default compiler (the OS certainly builds).
> I.e. either we allow ourselves to use standard headers that are
> defining only compiler determined things (in which case we could
> also use stdint.h for example), or we don't use _any_ standard
> headers.
>
> > I'd be a bit concerned about the fact that Xen's bool_t is a typedef for
> > char, as opposed to the compilers typedef to _Bool which has special
> > meaning. It may not matter in practice but might the fact that _Bool
> > canonicalises to 0 or 1 vs. 0 or !0 cause something subtle?
>
> No, that won't work without auditing the code: Non-boolean
> expression results will be converted to 0/1 by the compiler when
> the lvalue's type is _Bool, but won't when it's bool_t. While that
> might seem fine at the first glance as long as consumers of such
> variables don't do explicit == 1 checks, this is becoming a problem
> when the non-boolean result is 0 modulo 256 (since the conversion
> done in the non-_Bool case is a truncation).
I'm sorry, I still don't see how I can write code which exhibits the
problem case... Could I have a 1A supervision please?
Cheers,
Patrick
next prev parent reply other threads:[~2013-08-09 8:11 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-08 11:49 stdbool.h -nostdinc XSA-55 trouble Patrick Welche
2013-08-08 13:11 ` Jan Beulich
2013-08-08 15:18 ` Patrick Welche
2013-08-08 15:23 ` Ian Campbell
2013-08-08 15:39 ` Patrick Welche
2013-08-14 9:36 ` Egger, Christoph
2013-08-08 15:30 ` Jan Beulich
2013-08-08 15:47 ` Patrick Welche
2013-08-08 16:12 ` Ian Campbell
2013-08-08 17:26 ` Patrick Welche
2013-08-08 19:05 ` Andrew Cooper
2013-08-08 19:24 ` Ian Campbell
2013-08-08 19:52 ` Andrew Cooper
2013-08-09 7:50 ` Jan Beulich
2013-08-09 8:11 ` Patrick Welche [this message]
2013-08-09 8:16 ` Jan Beulich
2013-08-09 8:32 ` Patrick Welche
2013-08-09 8:33 ` Patrick Welche
2013-08-09 8:40 ` Jan Beulich
2013-08-09 15:13 ` Tim Deegan
2013-08-11 15:21 ` Patrick Welche
2013-08-09 6:44 ` Jan Beulich
2013-08-09 7:55 ` Patrick Welche
2013-08-11 16:41 ` Patrick Welche
2013-08-12 7:31 ` 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=20130809081125.GF290@quark \
--to=prlw1@cam.ac.uk \
--cc=Ian.Campbell@citrix.com \
--cc=Ian.Jackson@eu.citrix.com \
--cc=JBeulich@suse.com \
--cc=xen-devel@lists.xen.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).