From: Jakub Jelinek <jakub@redhat.com>
To: Thomas Gleixner <tglx@www.tglx.de>
Cc: Pierre Ossman <drzeus-list@drzeus.cx>,
LKML <linux-kernel@vger.kernel.org>,
Thomas Gleixner <tglx@linutronix.de>
Subject: Re: Fedora's latest gcc produces unbootable kernels
Date: Mon, 3 Dec 2007 03:58:17 -0500 [thread overview]
Message-ID: <20071203085817.GQ16835@devserv.devel.redhat.com> (raw)
In-Reply-To: <23803.203.197.163.97.1196669842.squirrel@www.tglx.de>
On Mon, Dec 03, 2007 at 09:17:22AM +0100, Thomas Gleixner wrote:
> I looked at the disassembly but I can not spot the problem.
>
> I think the real problem is somewhere else. Likely candidates are
> hrtimer_forward() or hrtimer_start() - in that order.
Should be hopefully fixed in latest Fedora gcc. The problem was in code like
typedef union { long long int s; } U;
typedef struct { U u; } S;
void foo (S *s, long long int x, unsigned long int y)
{
s->u = ({ (U) { .s = s->u.s + x * y }; });
}
where a backport of a recent optimization of mine, without which gcc handles
terribly initializers from compound literals (which is something hrtimer
uses just everywhere - why can't ktime.h for #if BITS_PER_LONG == 64 || defined(CONFIG_KTIME_SCALAR)
just use a scalar rather than union with a scalar in it??), sets the LHS
object to the compound literal's initializer rather than forcing creation of
a temporary object (the compound literal). Unfortunately the gimplifier
had some bugs in case the initializer references (or at least might
reference) parts of LHS object. Fixed by backporting 2 Ada bugfixes for the
gimplifier from GCC trunk (Ada was hitting those bugs even without this
compound literal optimization).
Jakub
next prev parent reply other threads:[~2007-12-03 8:58 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-01 14:42 Fedora's latest gcc produces unbootable kernels Pierre Ossman
2007-12-01 17:47 ` Pierre Ossman
2007-12-01 18:37 ` Bill Davidsen
2007-12-01 20:11 ` Pierre Ossman
2007-12-01 20:20 ` Pierre Ossman
2007-12-03 8:17 ` Thomas Gleixner
2007-12-03 8:58 ` Jakub Jelinek [this message]
2007-12-03 11:34 ` Thomas Gleixner
2007-12-03 11:51 ` Jakub Jelinek
2007-12-03 12:03 ` Thomas Gleixner
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=20071203085817.GQ16835@devserv.devel.redhat.com \
--to=jakub@redhat.com \
--cc=drzeus-list@drzeus.cx \
--cc=linux-kernel@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=tglx@www.tglx.de \
/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.