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