summaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorYinghai Lu <yinghai@kernel.org>2008-12-26 11:05:47 +0100
committerIngo Molnar <mingo@elte.hu>2008-12-27 13:24:00 +0100
commit13a0c3c269b223f60abfac8a9811d77111a8b4ba (patch)
treeb57a92eb9eb7c8c1de30bbe29b6a461289e75c62 /init
parentsparseirq: fix desc->lock init (diff)
downloadlinux-13a0c3c269b223f60abfac8a9811d77111a8b4ba.tar.xz
linux-13a0c3c269b223f60abfac8a9811d77111a8b4ba.zip
sparseirq: work around compiler optimizing away __weak functions
Impact: fix panic on null pointer with sparseirq Some GCC versions seem to inline the weak global function, when that function is empty. Work it around, by making the functions return a (dummy) integer. Signed-off-by: Yinghai <yinghai@kernel.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'init')
-rw-r--r--init/main.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/init/main.c b/init/main.c
index c1f999a3cf31..c314aa15370e 100644
--- a/init/main.c
+++ b/init/main.c
@@ -539,13 +539,14 @@ void __init __weak thread_info_cache_init(void)
{
}
-void __init __weak arch_early_irq_init(void)
+int __init __weak arch_early_irq_init(void)
{
+ return 0;
}
-void __init __weak early_irq_init(void)
+int __init __weak early_irq_init(void)
{
- arch_early_irq_init();
+ return arch_early_irq_init();
}
asmlinkage void __init start_kernel(void)