mirror of
https://github.com/torvalds/linux.git
synced 2024-12-28 13:51:44 +00:00
[PATCH] gcc-4.1.0 is bust
Keith says Compiling 2.6.19-rc6 with gcc version 4.1.0 (SUSE Linux), wait_hpet_tick is optimized away to a never ending loop and the kernel hangs on boot in timer setup. 0000001a <wait_hpet_tick>: 1a: 55 push %ebp 1b: 89 e5 mov %esp,%ebp 1d: eb fe jmp 1d <wait_hpet_tick+0x3> This is not a problem with gcc 3.3.5. Adding barrier() calls to wait_hpet_tick does not help, making the variables volatile does. And the consensus is that gcc-4.1.0 is busted. Suse went and shipped gcc-4.1.0 so we cannot ban it. Add a warning. Cc: Keith Owens <kaos@ocs.com.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
a4ed06ad83
commit
f1a60dbf68
@ -73,6 +73,10 @@
|
||||
#error Sorry, your GCC is too old. It builds incorrect kernels.
|
||||
#endif
|
||||
|
||||
#if __GNUC__ == 4 && __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 0
|
||||
#warning gcc-4.1.0 is known to miscompile the kernel. A different compiler version is recommended.
|
||||
#endif
|
||||
|
||||
static int init(void *);
|
||||
|
||||
extern void init_IRQ(void);
|
||||
|
Loading…
Reference in New Issue
Block a user