Due to some prodding from a /. post, here's the updated patch to enable the StackGuard version of gcc be able to compile a 2.4.0-prerelease kernel properly. This patch is also available at: http://immunix.org/ImmunixOS/7.0-beta/i386/extras/ thanks, greg k-h -- greg@(kroah|wirex).com http://immunix.org/~greg
diff -Naur -X /home/greg/linux/dontdiff linux-2.4.0-prerelease/Makefile linux-2.4.0-prerelease-greg/Makefile --- linux-2.4.0-prerelease/Makefile Tue Jan 2 10:26:10 2001 +++ linux-2.4.0-prerelease-greg/Makefile Tue Jan 2 10:31:04 2001 @@ -227,6 +227,10 @@ include arch/$(ARCH)/Makefile +# if we have a StackGuard compiler, then we need to turn off the canary death handler +stuff +CFLAGS += $(shell if $(CC) -fno-canary-all-functions -S -o /dev/null -xc /dev/null +>/dev/null 2>&1; then echo "-fno-canary-all-functions"; fi) +CFLAGS += $(shell if $(CC) -mno-terminator-canary -S -o /dev/null -xc /dev/null +>/dev/null 2>&1; then echo "-mno-terminator-canary"; fi) + export CPPFLAGS CFLAGS AFLAGS export NETWORKS DRIVERS LIBS HEAD LDFLAGS LINKFLAGS MAKEBOOT ASFLAGS diff -Naur -X /home/greg/linux/dontdiff linux-2.4.0-prerelease/arch/i386/boot/compressed/Makefile linux-2.4.0-prerelease-greg/arch/i386/boot/compressed/Makefile --- linux-2.4.0-prerelease/arch/i386/boot/compressed/Makefile Tue Mar 7 11:04:12 2000 +++ linux-2.4.0-prerelease-greg/arch/i386/boot/compressed/Makefile Tue Jan 2 +10:31:04 2001 @@ -12,6 +12,12 @@ CFLAGS = $(CPPFLAGS) -O2 -DSTDC_HEADERS ZLDFLAGS = -e startup_32 +# if we have a StackGuard compiler, then we need to turn off the canary death handler +stuff +CFLAGS += $(shell if $(CC) -fno-canary-all-functions -S -o /dev/null -xc /dev/null +>/dev/null 2>&1; then echo "-fno-canary-all-functions"; fi) +CFLAGS += $(shell if $(CC) -mno-terminator-canary -S -o /dev/null -xc /dev/null +>/dev/null 2>&1; then echo "-mno-terminator-canary"; fi) + + + # # ZIMAGE_OFFSET is the load offset of the compression loader # BZIMAGE_OFFSET is the load offset of the high loaded compression loader