diff -uNr grub-0.93+cvs20031021.old/stage2/Makefile.am grub-0.93+cvs20031021/stage2/Makefile.am --- grub-0.93+cvs20031021.old/stage2/Makefile.am Mon Nov 17 17:05:49 2003 +++ grub-0.93+cvs20031021/stage2/Makefile.am Mon Nov 17 17:13:12 2003 @@ -18,7 +18,7 @@ libgrub_a_SOURCES = boot.c builtins.c char_io.c cmdline.c common.c \ disk_io.c fsys_ext2fs.c fsys_fat.c fsys_ffs.c fsys_jfs.c \ fsys_minix.c fsys_reiserfs.c fsys_vstafs.c fsys_xfs.c gunzip.c \ - md5.c serial.c stage2.c terminfo.c tparm.c graphics.c + md5.c serial.c stage2.c terminfo.c tparm.c graphics.c ssp.c libgrub_a_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/lib \ -DGRUB_UTIL=1 -DFSYS_EXT2FS=1 -DFSYS_FAT=1 -DFSYS_FFS=1 \ -DFSYS_JFS=1 -DFSYS_MINIX=1 -DFSYS_REISERFS=1 -DFSYS_VSTAFS=1 \ @@ -92,7 +92,7 @@ cmdline.c common.c console.c disk_io.c fsys_ext2fs.c \ fsys_fat.c fsys_ffs.c fsys_jfs.c fsys_minix.c fsys_reiserfs.c \ fsys_vstafs.c fsys_xfs.c gunzip.c hercules.c md5.c serial.c \ - smp-imps.c stage2.c terminfo.c tparm.c graphics.c + smp-imps.c stage2.c terminfo.c tparm.c graphics.c ssp.c pre_stage2_exec_CFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS) pre_stage2_exec_CCASFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS) pre_stage2_exec_LDFLAGS = $(PRE_STAGE2_LINK) @@ -130,7 +130,7 @@ # For e2fs_stage1_5 target. e2fs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c disk_io.c \ - stage1_5.c fsys_ext2fs.c bios.c + stage1_5.c fsys_ext2fs.c bios.c ssp.c e2fs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_EXT2FS=1 \ -DNO_BLOCK_FILES=1 e2fs_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_EXT2FS=1 \ @@ -139,7 +139,7 @@ # For fat_stage1_5 target. fat_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c disk_io.c \ - stage1_5.c fsys_fat.c bios.c + stage1_5.c fsys_fat.c bios.c ssp.c fat_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_FAT=1 \ -DNO_BLOCK_FILES=1 fat_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_FAT=1 \ @@ -148,7 +148,7 @@ # For ffs_stage1_5 target. ffs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c disk_io.c \ - stage1_5.c fsys_ffs.c bios.c + stage1_5.c fsys_ffs.c bios.c ssp.c ffs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_FFS=1 \ -DNO_BLOCK_FILES=1 ffs_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_FFS=1 \ @@ -157,7 +157,7 @@ # For minix_stage1_5 target. minix_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c disk_io.c \ - stage1_5.c fsys_minix.c bios.c + stage1_5.c fsys_minix.c bios.c ssp.c minix_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_MINIX=1 \ -DNO_BLOCK_FILES=1 minix_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_MINIX=1 \ @@ -166,7 +166,7 @@ # For reiserfs_stage1_5 target. reiserfs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c \ - disk_io.c stage1_5.c fsys_reiserfs.c bios.c + disk_io.c stage1_5.c fsys_reiserfs.c bios.c ssp.c reiserfs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_REISERFS=1 \ -DNO_BLOCK_FILES=1 reiserfs_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_REISERFS=1 \ @@ -175,7 +175,7 @@ # For vstafs_stage1_5 target. vstafs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c \ - disk_io.c stage1_5.c fsys_vstafs.c bios.c + disk_io.c stage1_5.c fsys_vstafs.c bios.c ssp.c vstafs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_VSTAFS=1 \ -DNO_BLOCK_FILES=1 vstafs_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_VSTAFS=1 \ @@ -184,7 +184,7 @@ # For jfs_stage1_5 target. jfs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c \ - disk_io.c stage1_5.c fsys_jfs.c bios.c + disk_io.c stage1_5.c fsys_jfs.c bios.c ssp.c jfs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_JFS=1 \ -DNO_BLOCK_FILES=1 jfs_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_JFS=1 \ @@ -193,7 +193,7 @@ # For xfs_stage1_5 target. xfs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c \ - disk_io.c stage1_5.c fsys_xfs.c bios.c + disk_io.c stage1_5.c fsys_xfs.c bios.c ssp.c xfs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_XFS=1 \ -DNO_BLOCK_FILES=1 xfs_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_XFS=1 \ diff -uNr grub-0.93+cvs20031021.old/stage2/ssp.c grub-0.93+cvs20031021/stage2/ssp.c --- grub-0.93+cvs20031021.old/stage2/ssp.c Thu Jan 1 01:00:00 1970 +++ grub-0.93+cvs20031021/stage2/ssp.c Mon Nov 17 17:11:48 2003 @@ -0,0 +1,15 @@ +#include +#include + +int __guard = '\0\0\n\777'; + +/* Prototype */ +void __stack_smash_handler(int damaged, char func[]); + +static char *message = "ssp detects %x at function %s.\n" ; +void __stack_smash_handler(int damaged, char func[]) +{ + grub_printf(message, damaged, func); + stop(); +} +