Don't put "linux_banner" in the .init section
authorLinus Torvalds <torvalds@woody.osdl.org>
Fri, 12 Jan 2007 02:18:04 +0000 (18:18 -0800)
committerLinus Torvalds <torvalds@woody.osdl.org>
Fri, 12 Jan 2007 02:18:04 +0000 (18:18 -0800)
It might save a few bytes after bootup, but it causes the string to be
linked in at the end of the final vmlinux image, which defeats the whole
point of doing all this, namely allowing some broken user-space binaries
to search for the kernel version string in the kernel binary.

So just remove the __init specifier.

Cc: Olaf Hering <olaf@aepfle.de>
Cc: Jean Delvare <khali@linux-fr.org>
Cc: Roman Zippel <zippel@linux-m68k.org>
Cc: Andrey Borzenkov <arvidjaar@mail.ru>
Cc: Andrew Morton <akpm@osdl.org>
Acked-by: Andy Whitcroft <apw@shadowen.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
init/version.c

index 55abe76f4ec9ddcb1a1f30c6c890e8de6f254bf8..6c01ec1cc48d4848fd98c28d11362e790703005d 100644 (file)
@@ -34,8 +34,8 @@ struct uts_namespace init_uts_ns = {
 };
 EXPORT_SYMBOL_GPL(init_uts_ns);
 
-/* FIXED STRING! Don't touch! */
-const char __init linux_banner[] =
+/* FIXED STRINGS! Don't touch! */
+const char linux_banner[] =
        "Linux version " UTS_RELEASE " (" LINUX_COMPILE_BY "@"
        LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION "\n";