Here's an update for my patch to enable the just released 2.2.18 kernel to compile with any of the different versions of the StackGuard compiler. If anyone has any problems with it, please let me know, greg k-h -- greg@(kroah|wirex).com http://immunix.org/~greg
diff -Naur -X /home/greg/linux/dontdiff linux-2.2.18/Makefile linux-2.2.18-greg/Makefile --- linux-2.2.18/Makefile Sun Dec 10 16:49:41 2000 +++ linux-2.2.18-greg/Makefile Mon Dec 11 14:17:12 2000 @@ -97,6 +97,12 @@ CFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer +# 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) +HOSTCFLAGS += $(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) +HOSTCFLAGS += $(shell if $(CC) -mno-terminator-canary -S -o /dev/null -xc +/dev/null >/dev/null 2>&1; then echo "-mno-terminator-canary"; fi) + # use '-fno-strict-aliasing', but only if the compiler can take it CFLAGS += $(shell if $(CC) -fno-strict-aliasing -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-fno-strict-aliasing"; fi) diff -Naur -X /home/greg/linux/dontdiff linux-2.2.18/arch/i386/boot/compressed/Makefile linux-2.2.18-greg/arch/i386/boot/compressed/Makefile --- linux-2.2.18/arch/i386/boot/compressed/Makefile Tue Jan 4 10:12:11 2000 +++ linux-2.2.18-greg/arch/i386/boot/compressed/Makefile Mon Dec 11 14:17:12 +2000 @@ -10,6 +10,11 @@ OBJECTS = $(HEAD) misc.o CFLAGS = -O2 -DSTDC_HEADERS + +# 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) + ZLDFLAGS = -e startup_32 #