diff options
| author | Andrew Morton <akpm@osdl.org> | 2004-02-18 16:38:29 -0800 |
|---|---|---|
| committer | David S. Miller <davem@nuts.davemloft.net> | 2004-02-18 16:38:29 -0800 |
| commit | 5d11ce4d95e26b5d71bf0e7932a4a0013738dee5 (patch) | |
| tree | 69da1f2a10c5b6f444a6d4c4a7cce0893fbb65c5 /init | |
| parent | ce9209830680a4f351614fcc07ac6ea03d99012e (diff) | |
[PATCH] use noinline for rest_init()
gcc-3.4 incorretly inlines rest_init() into start_kernel(), causing things to
crash when the .text.init section gets unloaded. Use noinline to prevent
that.
Diffstat (limited to 'init')
| -rw-r--r-- | init/main.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/init/main.c b/init/main.c index eebe5302bbb2..8e9645e63546 100644 --- a/init/main.c +++ b/init/main.c @@ -378,9 +378,11 @@ static void __init smp_init(void) * between the root thread and the init thread may cause start_kernel to * be reaped by free_initmem before the root thread has proceeded to * cpu_idle. + * + * gcc-3.4 accidentally inlines this function, so use noinline. */ -static void rest_init(void) +static void noinline rest_init(void) { kernel_thread(init, NULL, CLONE_FS | CLONE_SIGHAND); unlock_kernel(); |
