[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080502135708.GA22929@uranus.ravnborg.org>
Date: Fri, 2 May 2008 15:57:08 +0200
From: Sam Ravnborg <sam@...nborg.org>
To: Alistair John Strachan <alistair@...zero.co.uk>
Cc: Chris Knadle <Chris.Knadle@...edump.us>,
Andrew Morton <akpm@...ux-foundation.org>,
Adrian Bunk <bunk@...nel.org>, venkatesh.pallipadi@...el.com,
davem@...emloft.net, trini@...nel.crashing.org, mingo@...e.hu,
tglx@...utronix.de, hpa@...or.com, linux-kernel@...r.kernel.org,
suresh.b.siddha@...el.com,
Linus Torvalds <torvalds@...ux-foundation.org>
Subject: Re: huge gcc 4.1.{0,1} __weak problem
On Fri, May 02, 2008 at 12:48:55PM +0100, Alistair John Strachan wrote:
> On Friday 02 May 2008 11:43:48 Sam Ravnborg wrote:
> [snip]
> > > > > It's __GNUC_PATCHLEVEL__, I believe.
> > > > >
> > > > > So yes, we can distinguish 4.1.2 (good, and very common) from
> > > > > 4.1.{0,1} (bad, and rather uncommon).
> > > > > And yes, considering that 4.1.1 (and even more so 4.1.0) should be
> > > > > rare to begin with, I think it's better to just not support it.
> > > > >
> > > > > Linus
> > > >
> > > > Unfortunately Debian Stable (i.e. Etch), which is relatively popular
> > > > for server use, is still using 4.1.1 :-( (The current gcc package is
> > > > gcc-4.1.1-21)
> > > >
> > > > I have not looked to see if Debian Stable's gcc-4.1.1-21 has been
> > > > patched for the currently discussed __weak bug.
> > >
> > > I checked and it has been patched in 4.1.1-21. This would make checking
> > > for 4.1.1 via __GNUC_PATCHLEVEL__ potentially invalid, as patched distro
> > > compilers may (and in this case do) have this fixed.
> >
> > Is it possible to cook up a small sample file we could build as part
> > of the kernel build. If it fails => error out.
> > If someone comes up with the code I shall try to integrate it
> > in the build system.
>
> The GCC PR has a test case for this regression which might be usable.
>
> http://gcc.gnu.org/viewcvs/branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tree-ssa/pr27781.c?view=markup&pathrev=114852
OK, can anyone confirm that this fails to build which a
buggy gcc:
void __attribute__((weak)) func(void)
{
/* no code */
}
int main()
{
func();
return 0;
}
Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists