diff -Nrup yaboot-1.3.13.orig/Config.gentoo yaboot-1.3.13/Config.gentoo --- yaboot-1.3.13.orig/Config.gentoo 1970-01-01 00:00:00.000000000 +0000 +++ yaboot-1.3.13/Config.gentoo 2005-06-12 00:41:14.889576152 +0000 @@ -0,0 +1,6 @@ +check_gcc=$(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; \ + then echo "$(1)"; else echo "$(2)"; fi) + +CFLAGS += $(call check_gcc, -fno-stack-protector) +CFLAGS += $(call check_gcc, --nopie) + diff -Nrup yaboot-1.3.13.orig/Makefile yaboot-1.3.13/Makefile --- yaboot-1.3.13.orig/Makefile 2004-07-11 20:12:03.000000000 +0000 +++ yaboot-1.3.13/Makefile 2005-06-12 00:41:14.890576000 +0000 @@ -1,6 +1,7 @@ ## Setup include Config +include Config.gentoo VERSION = 1.3.13 # Debug mode (spam/verbose) @@ -79,7 +80,7 @@ HOSTCFLAGS = -O2 $(CFLAGS) -Wall -I/usr/ OBJS = second/crt0.o second/yaboot.o second/cache.o second/prom.o second/file.o \ second/partition.o second/fs.o second/cfg.o second/setjmp.o second/cmdline.o \ second/fs_of.o second/fs_ext2.o second/fs_iso.o second/iso_util.o \ - lib/nosys.o lib/string.o lib/strtol.o lib/vsprintf.o lib/ctype.o lib/malloc.o lib/strstr.o + lib/nosys.o lib/string.o lib/strtol.o lib/vsprintf.o lib/ctype.o lib/malloc.o lib/strstr.o lib/ssp.o ifeq ($(USE_MD5_PASSWORDS),y) OBJS += second/md5.o diff -Nrup yaboot-1.3.13.orig/lib/ssp.c yaboot-1.3.13/lib/ssp.c --- yaboot-1.3.13.orig/lib/ssp.c 1970-01-01 00:00:00.000000000 +0000 +++ yaboot-1.3.13/lib/ssp.c 2005-06-12 00:42:17.087120688 +0000 @@ -0,0 +1,17 @@ +unsigned long __guard = 0UL; +static void __guard_setup (void) __attribute__ ((constructor)); +void __stack_smash_handler (char func[], int damaged + __attribute__ ((unused))); +static void +__guard_setup (void) +{ + if (__guard != 0UL) + return; + __guard = 0xFF0A0D00UL; +} + +void +__stack_smash_handler (char func[], int damaged) +{ + return; +}