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.
* 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();