From: Jocelyn Mayer <l_indien@magic.fr>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] RFC: fix for random Qemu crashes
Date: Fri, 16 Nov 2007 21:13:57 +0100 [thread overview]
Message-ID: <1195244037.28318.49.camel@jma4.dev.netgem.com> (raw)
In-Reply-To: <20071116155929.GA28514@mail.shareable.org>
On Fri, 2007-11-16 at 15:59 +0000, Jamie Lokier wrote:
> Heikki Lindholm wrote:
> > J. Mayer kirjoitti:
> > >Some may have experienced of having some Qemu builds crashing,
> > >apparently at random places, but in a reproducable way.
> > >I found one reason for this crashes: it appears that with the growth of
> > >the op.c file, there may be cases where we could reach the inlining
> > >limits of gcc. In such a case, gcc would not inline some declared
> > >"inline" function but would emit a call and provide a separate function.
> > >Unfortunately, this is not acceptable in op.o context as it will
> > >slowdown the emulation and because the call is likely to break the
> > >specific compilation rules (ie reserved registers) used while compiling
> > >op.o
> >
> > Does -winline give a warning when this happens?
>
> And can it be repaired with __attribute__((__always_inline__))?
As I already reported in the previous message, this helps solve the
problem but is not sufficient. Please refer to the proposed patches and
the rest of the discussion.
Further invastigation also showed me that there may be problems while
compiling translate-op.c. It seems the solution would be to change the
gcc inlining limits into the BASE_CFLAGS too _and_ define functions in
dyngen.h as always_inline. This would also avoid most inline related
warnings during the compilation (but maybe not solve all cases, as seen
in the op.c case).
Reading gcc source code showed me there are cases where a function could
be not inline when marked 'inline' without generating any warning
message. What I don't know is if those cases are likely to happen during
normal compilations, but as the op.c compilation seems to be buggy and
never emit those warnings, I guess we can reach those cases.
--
Jocelyn Mayer <l_indien@magic.fr>
next prev parent reply other threads:[~2007-11-16 20:14 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-15 23:18 [Qemu-devel] RFC: fix for random Qemu crashes J. Mayer
2007-11-15 23:49 ` andrzej zaborowski
2007-11-16 0:09 ` J. Mayer
2007-11-16 15:06 ` Heikki Lindholm
2007-11-16 15:35 ` Jocelyn Mayer
2007-11-16 15:42 ` Heikki Lindholm
2007-11-16 16:34 ` Jocelyn Mayer
2007-11-16 15:59 ` Jamie Lokier
2007-11-16 20:13 ` Jocelyn Mayer [this message]
2007-11-16 15:52 ` Paul Brook
2007-11-16 16:05 ` Jocelyn Mayer
2007-11-16 20:32 ` andrzej zaborowski
2007-11-17 0:04 ` J. Mayer
2007-11-17 2:58 ` [Qemu-devel] " Ben Pfaff
2007-11-17 8:22 ` J. Mayer
2007-11-17 10:57 ` [Qemu-devel] " andrzej zaborowski
2007-11-17 11:13 ` J. Mayer
-- strict thread matches above, loose matches on Subject: below --
2007-11-18 15:48 [Qemu-devel] [RFC] Fix " J. Mayer
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=1195244037.28318.49.camel@jma4.dev.netgem.com \
--to=l_indien@magic.fr \
--cc=qemu-devel@nongnu.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).