[PATCH 1/2] Add thread_info_cache_init() to all archs

Andrew Morton akpm at linux-foundation.org
Thu May 22 04:41:47 EST 2008


On Wed, 21 May 2008 13:56:25 -0400 Benjamin Herrenschmidt <benh at kernel.crashing.org> wrote:

> 
> On Fri, 2008-04-18 at 16:44 +1000, Benjamin Herrenschmidt wrote:
> > > > so what
> > > > about the patch below ?
> > > 
> > > I like it, but the compiler won't ;)
> > > 
> > > > If you're ok, I'll re-send with appropriate sob
> > > > & adapted powerpc part.
> > > 
> > > Sure.
> > > 
> > > > +void __init __attribute__((weak) thread_info_cache_init(void)
> > >
> 
> Back to this old subject...
> 
> I'm having reports that this is not working...
> 
> gcc is seeing the empty weak function and is optimizing it out
> before it gets a chance to link to the arch provided one.
> 
> This would affect that and the other one next to it..
> 
> That seems pretty bad... it causes nasty crashes as we end up having no
> idea what the compiler decided to generate... I suppose we could keep
> the weak stubs out of the file where they are called but that sucks.
> 
> ie. This is some form of gcc 4.1.1
> 
> Is that a known problem ? A gcc issue ? Not sure what is expected from
> those weak functions.

yup, gcc bug.  Discussed recently on lkml, "Subject: Re: huge gcc
4.1.{0,1} __weak problem".  I don't think anything ended up happening
about it though.




More information about the Linuxppc-dev mailing list