Seems that when compiling a file ending in ".S", gcc-2.95.3 does not expand
__GNUC__ at all.  This causes the compiler version check to fail when
building vsyscall.S.



 arch/i386/kernel/vsyscall.S |    0 
 include/linux/compiler.h    |    2 ++
 2 files changed, 2 insertions(+)

diff -puN arch/i386/kernel/vsyscall.S~init_h-needs-compiler_h-fix arch/i386/kernel/vsyscall.S
diff -puN include/linux/compiler.h~init_h-needs-compiler_h-fix include/linux/compiler.h
--- 25/include/linux/compiler.h~init_h-needs-compiler_h-fix	2003-11-11 22:19:42.000000000 -0800
+++ 25-akpm/include/linux/compiler.h	2003-11-11 22:19:59.000000000 -0800
@@ -9,6 +9,7 @@
 # define __kernel
 #endif
 
+#ifndef __ASSEMBLY__
 #if __GNUC__ > 3
 # include <linux/compiler-gcc+.h>	/* catch-all for GCC 4, 5, etc. */
 #elif __GNUC__ == 3
@@ -18,6 +19,7 @@
 #else
 # error Sorry, your compiler is too old/not recognized.
 #endif
+#endif
 
 /* Intel compiler defines __GNUC__. So we will overwrite implementations
  * coming from above header files here

_