Thread (16 messages) 16 messages, 6 authors, 2008-05-21

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

From: Sam Ravnborg <hidden>
Date: 2008-05-21 19:06:35
Also in: linux-arch, lkml

On Wed, May 21, 2008 at 11:41:47AM -0700, Andrew Morton wrote:
On Wed, 21 May 2008 13:56:25 -0400 Benjamin Herrenschmidt [off-list ref] wrote:
quoted
On Fri, 2008-04-18 at 16:44 +1000, Benjamin Herrenschmidt wrote:
quoted
quoted
quoted
so what
about the patch below ?
I like it, but the compiler won't ;)
quoted
If you're ok, I'll re-send with appropriate sob
& adapted powerpc part.
Sure.
quoted
+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.
It was discussed to add some run-time checks for this issue.
But the examples given were a bit fluffy so I never integrated anything
i kbuild to detect this.

As this is only a bug for const weak functions they could be made non-const
if they are seldomly used?

	Sam
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help