[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <19f34abd0805020018i11fb722fg5a4cc180ab5f2856@mail.gmail.com>
Date: Fri, 2 May 2008 09:18:10 +0200
From: "Vegard Nossum" <vegard.nossum@...il.com>
To: "Andrew Morton" <akpm@...ux-foundation.org>
Cc: "Tom Rini" <trini@...nel.crashing.org>,
torvalds@...ux-foundation.org, bunk@...nel.org,
venkatesh.pallipadi@...el.com, davem@...emloft.net, mingo@...e.hu,
tglx@...utronix.de, hpa@...or.com, linux-kernel@...r.kernel.org,
suresh.b.siddha@...el.com
Subject: Re: huge gcc 4.1.{0,1} __weak problem
Hey :)
On Fri, May 2, 2008 at 1:59 AM, Andrew Morton <akpm@...ux-foundation.org> wrote:
>
> On Thu, 1 May 2008 16:24:47 -0700
> Tom Rini <trini@...nel.crashing.org> wrote:
>
> > On Thu, May 01, 2008 at 03:33:49PM -0700, Andrew Morton wrote:
> > > On Thu, 1 May 2008 15:27:26 -0700 (PDT)
> > > Linus Torvalds <torvalds@...ux-foundation.org> wrote:
> > >
> > > > On Thu, 1 May 2008, Andrew Morton wrote:
> > > > > >
> > > > > > I see only the following choices:
> > > > > > - remove __weak and replace all current usages
> > > > > > - move all __weak functions into own files, and ensure that also happens
> > > > > > for future usages
> > > > > > - #error for gcc 4.1.{0,1}
> > > > >
> > > > > Can we detect the {0,1}? __GNUC_EVEN_MORE_MINOR__?
> > > >
> > > > 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.
> > > >
> > >
> > > Drat. There go my alpha, i386, m68k, s390, sparc and powerpc
> > > cross-compilers. Vagard, save me!
> > >
> > > Meanwhile I guess I can locally unpatch that patch.
> >
> > I know I'll come off as an ass, but you can't make new ones with 4.1.2?
> > It's not like we're talking about gcc 2.95/96 fun here :)
It's true; crosstool hasn't been much of a trouble (for me anyway). A
couple of combinations that I tried failed.
> Honestly, I nearly died when I built all those cross-compilers. Sooooooo
> many combinations of gcc/binutils/glibc refused to work for obscure
> reasons. Compilation on x86_64 just didn't work at all and I ended up
> having to build everything on a slow i386 box, etc, etc. The stream of
> email to Dan got increasingly strident ;)
>
> I think crosstool has become a lot better since then, judging from the ease
> with which Jens was able to spin up the powerpc compiler, but the trauma
> was a life-long thing.
>
> Vegard has been making noises about (finally!) preparing and maintaining a
> decent set of cross-compilers for us. It would be a great service (begs).
Noises? Heh...
So I've only just begun that work. For i386 host we have the following targets:
alpha, arm, ia64, sparc64, sparc, x86_64
though these are largely untested with Linux Kernel. Most of them are
gcc 3.4.5 (this should in theory compile the kernel correctly), though
I found an e-mail from Ingo saying that you need the -tls versions for
stackprotector to work correctly. This might be a good time to ask if
I should be making gcc 4.1.2s instead. I need to recompile in either
case.
In other words, we are NOT fully operational yet :-)
Though H. Peter gave me a directory to stuff it in, you could try it
out if you're impatient:
http://www.kernel.org/pub/tools/crosstool/
(Hm, it seems that all my .asc files disappeared in the transition.. Oh well.)
Vegard
--
"The animistic metaphor of the bug that maliciously sneaked in while
the programmer was not looking is intellectually dishonest as it
disguises that the error is the programmer's own creation."
-- E. W. Dijkstra, EWD1036
--
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