Mikael Pettersson
9c695203a7
compiler-gcc.h: gcc-4.5 needs noclone and noinline on __naked functions
...
A __naked function is defined in C but with a body completely implemented
by asm(), including any prologue and epilogue. These asm() bodies expect
standard calling conventions for parameter passing. Older GCCs implement
that correctly, but 4.[56] currently do not, see GCC PR44290. In the
Linux kernel this breaks ARM, causing most arch/arm/mm/copypage-*.c
modules to get miscompiled, resulting in kernel crashes during bootup.
Part of the kernel fix is to augment the __naked function attribute to
also imply noinline and noclone. This patch implements that, and has been
verified to fix boot failures with gcc-4.5 compiled 2.6.34 and 2.6.35-rc1
kernels. The patch is a no-op with older GCCs.
Signed-off-by: Mikael Pettersson <mikpe@it.uu.se >
Signed-off-by: Khem Raj <raj.khem@gmail.com >
Cc: Russell King <rmk@arm.linux.org.uk >
Cc: <stable@kernel.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2010-06-29 15:29:31 -07:00
..
2010-05-30 09:12:43 -07:00
2010-05-26 08:30:15 -07:00
2010-05-17 22:39:48 -07:00
2010-05-19 12:57:48 -03:00
2010-05-27 11:34:55 -07:00
2010-05-28 01:37:38 +02:00
2010-05-28 01:38:00 +02:00
2010-05-31 13:11:47 +09:00
2010-05-14 01:56:12 +01:00
2010-05-31 16:41:35 +02:00
2010-05-03 08:33:00 -04:00
2010-05-25 10:16:01 +01:00
2010-05-25 00:38:26 -06:00
2010-05-14 15:09:37 -04:00
2010-05-31 18:17:22 +02:00
2010-05-28 14:42:18 -07:00
2010-05-14 17:08:01 -04:00
2010-05-27 09:12:53 -07:00
2010-05-21 09:34:30 -07:00
2010-05-21 09:34:30 -07:00
2010-05-19 13:38:54 -04:00
2010-06-11 12:58:08 +02:00
2010-05-30 09:00:03 -07:00
2010-05-18 09:17:01 -07:00
2010-06-01 12:23:18 +02:00
2010-05-27 22:15:33 -04:00
2010-06-08 18:44:04 +02:00
2010-05-10 14:24:26 +02:00
2010-05-25 08:07:00 -07:00
2010-05-27 09:12:53 -07:00
2010-06-29 15:29:31 -07:00
2010-06-29 15:29:31 -07:00
2010-05-29 09:12:30 -07:00
2010-05-19 22:41:05 -04:00
2010-05-27 21:06:58 -04:00
2010-05-27 09:12:44 -07:00
2010-05-27 09:12:45 -07:00
2010-05-19 22:03:14 +03:00
2010-05-15 07:16:33 -04:00
2010-05-19 22:41:57 -04:00
2010-05-10 16:08:01 -07:00
2010-05-22 00:36:56 -06:00
2010-05-27 09:12:53 -07:00
2010-05-17 16:30:58 -07:00
2010-05-21 19:30:44 +02:00
2010-05-18 01:25:00 +02:00
2010-05-18 01:25:00 +02:00
2010-06-14 12:19:41 +02:00
2010-05-25 08:07:05 -07:00
2010-05-10 11:44:49 -03:00
2010-05-17 10:00:15 +02:00
2010-05-21 20:29:10 -07:00
2010-05-25 08:07:02 -07:00
2010-05-21 19:30:39 +02:00
2010-05-27 22:05:02 -04:00
2010-05-27 22:05:02 -04:00
2010-05-21 21:12:40 +02:00
2010-05-24 00:36:13 -07:00
2010-05-27 22:03:07 -04:00
2010-05-19 00:26:30 +02:00
2010-05-21 09:37:28 -07:00
2010-06-04 17:16:28 -04:00
2010-05-27 15:23:47 -07:00
2010-05-18 08:35:04 -07:00
2010-05-25 15:06:06 +02:00
2010-05-21 18:31:18 -04:00
2010-05-25 08:07:01 -07:00
2010-05-27 09:12:42 -07:00
2010-05-21 09:34:29 -07:00
2010-05-19 14:05:06 +02:00
2010-05-25 08:07:01 -07:00
2010-05-01 04:32:14 +02:00
2010-05-20 00:18:59 +01:00
2010-05-22 00:36:56 -06:00
2010-05-24 08:05:29 -07:00
2010-05-17 22:49:55 -07:00
2010-05-15 23:48:02 -07:00
2010-05-03 12:33:13 +03:00
2010-05-06 00:47:21 -07:00
2010-06-01 08:55:52 -07:00
2010-05-20 23:05:28 -07:00
2010-05-21 10:48:12 -07:00
2010-05-24 09:06:59 +02:00
2010-05-11 12:01:10 -07:00
2010-05-11 14:40:55 +02:00
2010-05-03 11:50:57 +02:00
2010-05-19 17:33:38 +09:30
2010-05-25 08:07:09 -07:00
2010-05-21 19:30:40 +02:00
2010-05-20 23:05:28 -07:00
2010-05-20 21:04:27 -05:00
2010-05-25 08:07:05 -07:00
2010-05-20 21:04:29 -05:00
2010-05-27 09:12:45 -07:00
2010-05-21 09:37:32 -07:00
2010-05-21 09:37:29 -07:00
2010-05-14 15:09:32 -04:00
2010-05-19 11:36:29 +03:00
2010-05-17 12:17:10 +03:00
2010-05-26 17:34:16 +01:00
2010-05-26 13:07:55 +01:00
2010-06-02 13:50:10 -04:00
2010-05-25 08:07:07 -07:00
2010-06-29 10:38:22 -07:00
2010-05-21 09:37:30 -07:00
2010-05-25 08:07:09 -07:00
2010-05-27 09:12:44 -07:00
2010-05-25 08:07:00 -07:00
2010-05-25 08:06:57 -07:00
2010-05-18 00:52:36 -03:00
2010-05-25 08:06:59 -07:00
2010-06-09 08:50:31 -07:00
2010-05-25 08:07:02 -07:00
2010-05-27 09:12:57 -07:00
2010-05-21 17:15:44 -07:00
2010-06-05 11:17:36 +09:30
2010-05-11 14:40:55 +02:00
2010-05-17 05:27:42 +02:00
2010-05-01 15:00:15 -07:00
2010-05-23 23:21:13 -07:00
2010-05-21 09:37:32 -07:00
2010-05-06 01:31:27 -07:00
2010-05-14 15:09:30 -04:00
2010-05-14 15:09:21 -04:00
2010-05-14 15:09:30 -04:00
2010-05-10 11:32:33 +09:00
2010-05-07 14:55:50 -04:00
2010-05-30 09:00:03 -07:00
2010-05-27 09:12:47 -07:00
2010-05-22 00:10:41 -06:00
2010-05-22 00:10:40 -06:00
2010-05-19 13:44:27 +10:00
2010-05-27 09:12:44 -07:00
2010-06-07 16:03:10 -04:00
2010-05-21 18:58:52 -07:00
2010-06-04 15:39:54 -07:00
2010-06-01 08:55:52 -07:00
2010-05-31 08:46:09 +02:00
2010-06-04 15:21:45 -07:00
2010-06-03 14:54:39 +02:00
2010-05-17 21:37:40 +02:00
2010-05-10 23:08:19 +02:00
2010-05-10 23:09:30 +02:00
2010-05-10 23:08:15 +02:00
2010-05-19 12:14:42 +04:00
2010-05-27 18:56:27 +02:00
2010-05-30 09:11:11 -07:00
2010-05-21 18:31:26 -04:00
2010-05-27 09:12:52 -07:00
2010-05-25 08:07:03 -07:00
2010-05-18 09:28:04 -07:00
2010-05-03 15:53:54 -07:00
2010-05-10 16:53:55 -07:00
2010-05-18 08:27:54 -07:00
2010-05-18 08:27:54 -07:00
2010-05-21 18:31:19 -04:00
2010-05-21 18:31:19 -04:00
2010-05-27 09:12:50 -07:00
2010-05-27 09:12:50 -07:00
2010-05-27 09:12:51 -07:00
2010-05-30 09:02:47 -07:00
2010-05-25 08:06:58 -07:00
2010-05-11 10:09:47 +02:00
2010-05-11 14:40:55 +02:00
2010-05-27 09:12:47 -07:00
2010-05-27 09:12:39 -07:00
2010-05-06 10:56:07 +10:00
2010-05-27 09:12:49 -07:00
2010-05-21 11:08:05 -07:00
2010-05-25 12:22:33 +09:00
2010-05-25 11:41:43 -04:00
2010-05-13 18:42:25 +09:00
2010-06-10 22:23:34 -07:00
2010-05-19 22:03:13 +03:00
2010-05-19 22:03:13 +03:00
2010-05-30 13:02:08 +03:00
2010-06-01 08:55:52 -07:00
2010-05-21 21:12:40 +02:00
2010-05-10 11:08:35 -07:00
2010-05-08 17:12:33 +02:00
2010-06-10 11:02:34 -04:00
2010-05-27 09:12:43 -07:00
2010-05-27 09:12:52 -07:00
2010-06-04 15:21:45 -07:00
2010-05-15 23:28:39 -07:00
2010-05-21 09:37:31 -07:00
2010-05-19 11:36:34 +03:00
2010-05-03 23:50:42 -07:00
2010-05-27 09:12:51 -07:00
2010-05-09 19:35:27 +02:00
2010-05-12 23:02:23 -07:00
2010-05-12 23:02:23 -07:00
2010-05-27 09:12:57 -07:00
2010-06-21 12:23:36 -04:00
2010-05-21 09:34:29 -07:00
2010-05-17 07:57:27 -07:00
2010-05-20 23:05:28 -07:00
2010-05-20 13:21:50 -07:00
2010-05-19 22:40:47 -04:00
2010-06-03 13:13:34 +10:00
2010-05-11 16:07:59 -06:00
2010-05-11 16:07:59 -06:00
2010-05-11 16:07:59 -06:00
2010-05-19 12:58:37 -03:00
2010-05-19 22:15:40 +09:30
2010-05-19 22:15:49 +09:30
2010-05-19 22:15:46 +09:30
2010-05-25 08:06:59 -07:00
2010-05-20 21:26:12 -07:00
2010-06-08 18:12:44 -07:00
2010-05-21 18:31:18 -04:00
2010-05-17 21:37:42 +02:00