All of lore.kernel.org
 help / color / mirror / Atom feed
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

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