Now that sparc64 is using gcc-3.x we can disallow gcc-2.91, etc. Documentation/Changes already says 2.95.3, which is working fine for me. With this change, we no longer require that per-cpu data definitions be initialised. That was a workaround for a bug in older gccs. So remove the build infrastructure which was checking for that. Also, mention that nfs-utils-1.0.3 is required. It isn't required yet, but will be once we enable larger dev_t: there is an interface for exportfs which passes dev_t's into the kernel which breaks with larger dev_t. That interface is old, deprecated and is not used in nfs-utils-1.0.3. /dev/null | 19 ------------------- 25-akpm/Documentation/Changes | 1 + 25-akpm/Makefile | 8 -------- 25-akpm/init/main.c | 2 +- 4 files changed, 2 insertions(+), 28 deletions(-) diff -puN init/main.c~gcc-295-required init/main.c --- 25/init/main.c~gcc-295-required Fri Apr 4 17:00:52 2003 +++ 25-akpm/init/main.c Fri Apr 4 17:01:32 2003 @@ -60,7 +60,7 @@ * To avoid associated bogus bug reports, we flatly refuse to compile * with a gcc that is known to be too old from the very beginning. */ -#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 91) +#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 95) #error Sorry, your GCC is too old. It builds incorrect kernels. #endif diff -puN Documentation/Changes~gcc-295-required Documentation/Changes --- 25/Documentation/Changes~gcc-295-required Fri Apr 4 17:02:13 2003 +++ 25-akpm/Documentation/Changes Fri Apr 4 17:04:01 2003 @@ -62,6 +62,7 @@ o PPP 2.4.0 o isdn4k-utils 3.1pre1 # isdnctrl 2>&1|grep version o procps 2.0.9 # ps --version o oprofile 0.5 # oprofiled --version +o nfs-utils 1.0.3 # showmount --version Kernel compilation ================== diff -puN -L scripts/per-cpu-check.awk scripts/per-cpu-check.awk~gcc-295-required /dev/null --- 25/scripts/per-cpu-check.awk +++ /dev/null Thu Apr 11 07:25:15 2002 @@ -1,19 +0,0 @@ -/ __per_cpu_start$$/ { - IN_PER_CPU=1 -} - -/ __per_cpu_end$$/ { - IN_PER_CPU=0 -} - -/__per_cpu$$/ && ! ( / __ksymtab_/ || / __kstrtab_/ || / __kcrctab_/ || / __crc_/ ) { - if (!IN_PER_CPU) { - print $$3 " not in per-cpu section" > "/dev/stderr"; - FOUND=1; - } -} - -END { - exit FOUND; -} - diff -puN Makefile~gcc-295-required Makefile --- 25/Makefile~gcc-295-required Fri Apr 4 17:06:20 2003 +++ 25-akpm/Makefile Fri Apr 4 17:06:55 2003 @@ -342,17 +342,9 @@ define rule_vmlinux__ echo 'cmd_$@ := $(cmd_vmlinux__)' > $(@D)/.$(@F).cmd endef -ifdef CONFIG_SMP -# Final awk script makes sure per-cpu vars are in per-cpu section, as -# old gcc (eg egcs 2.92.11) ignores section attribute if uninitialized. - -check_per_cpu = $(AWK) -f $(srctree)/scripts/per-cpu-check.awk < System.map -endif - define rule_vmlinux $(rule_vmlinux__) $(NM) $@ | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort > System.map - $(check_per_cpu) endef LDFLAGS_vmlinux += -T arch/$(ARCH)/vmlinux.lds.s _