From: Jeff Dike <jdike@addtoit.com>
Date: Wed, 23 Jul 2008 15:46:50 +0000 (-0400)
Subject: UML - Fix boot crash
X-Git-Tag: firefly_0821_release~19451
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=7c1fed03b9fa32d4323d5caa6a9c7dcdd7eba767;p=firefly-linux-kernel-4.4.55.git

UML - Fix boot crash

My copying of linux/init.h didn't go far enough.  The definition of
__used singled out gcc minor version 3, but didn't care what the major
version was.  This broke when unit-at-a-time was added and gcc started
throwing out initcalls.

This results in an early boot crash when ptrace tries to initialize a
process with an empty, uninitialized register set.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---

diff --git a/arch/um/include/init.h b/arch/um/include/init.h
index b00a95741d41..37dd097c16c0 100644
--- a/arch/um/include/init.h
+++ b/arch/um/include/init.h
@@ -45,12 +45,20 @@ typedef void (*exitcall_t)(void);
 # define __section(S) __attribute__ ((__section__(#S)))
 #endif
 
+#if __GNUC__ == 3
+
 #if __GNUC_MINOR__ >= 3
 # define __used			__attribute__((__used__))
 #else
 # define __used			__attribute__((__unused__))
 #endif
 
+#else
+#if __GNUC__ == 4
+# define __used			__attribute__((__used__))
+#endif
+#endif
+
 #else
 #include <linux/compiler.h>
 #endif