Skip to contentSkip to conversation

StackGuard patch for 2.4.0

PATCH New Greg KH 1 participant 1 message Jan 5, 2001 Kbuild

lore
Share & tools
lore

Greg KH

author
#0 lore raw

PATCH 1/1 StackGuard patch for 2.4.0

Just because I _know_ someone will ask me if I don't send this out, here is the patch to allow the kernel to compile with the StackGuard version of gcc.

thanks,

greg k-h

Signature · 1 line
greg@(kroah|wirex).com
Makefile +4 -0
diff -Naur -X dontdiff linux-2.4.0/Makefile linux-2.4.0-greg/Makefile
@@ -228,6 +228,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
arch/i386/boot/compressed/Makefile +6 -0
diff -Naur -X dontdiff linux-2.4.0/arch/i386/boot/compressed/Makefile linux-2.4.0-greg/arch/i386/boot/compressed/Makefile
@@ -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