diff -Naur glibc-2.3.2-orig/sysdeps/generic/libc-start.c glibc-2.3.2/sysdeps/generic/libc-start.c --- glibc-2.3.2-orig/sysdeps/generic/libc-start.c 2004-05-10 01:59:09.000000000 -0400 +++ glibc-2.3.2/sysdeps/generic/libc-start.c 2004-05-10 02:06:00.865611770 -0400 @@ -188,6 +188,9 @@ GLRO(dl_debug_printf) ("\ntransferring control: %s\n\n", argv[0]); #endif + /* call the __guard_setup to set up the random __guard value */ + __guard_setup (); /* pappy@gentoo.org (pappy rules) */ + #ifdef HAVE_CLEANUP_JMP_BUF /* Memory for the cancellation buffer. */ struct pthread_unwind_buf unwind_buf; diff -Naur glibc-2.3.2-orig/sysdeps/unix/sysv/linux/Dist glibc-2.3.2/sysdeps/unix/sysv/linux/Dist --- glibc-2.3.2-orig/sysdeps/unix/sysv/linux/Dist 2004-05-10 01:59:10.000000000 -0400 +++ glibc-2.3.2/sysdeps/unix/sysv/linux/Dist 2004-05-10 02:06:54.862038647 -0400 @@ -1,3 +1,4 @@ +ssp.c bits/initspin.h cmsg_nxthdr.c dl-brk.c diff -Naur glibc-2.3.2-orig/sysdeps/unix/sysv/linux/Makefile glibc-2.3.2/sysdeps/unix/sysv/linux/Makefile --- glibc-2.3.2-orig/sysdeps/unix/sysv/linux/Makefile 2004-05-10 01:59:10.000000000 -0400 +++ glibc-2.3.2/sysdeps/unix/sysv/linux/Makefile 2004-05-10 02:07:50.709582758 -0400 @@ -1,5 +1,5 @@ ifeq ($(subdir),csu) -sysdep_routines += errno-loc +sysdep_routines += errno-loc ssp endif ifeq ($(subdir),assert) diff -Naur glibc-2.3.2-orig/sysdeps/unix/sysv/linux/Versions glibc-2.3.2/sysdeps/unix/sysv/linux/Versions --- glibc-2.3.2-orig/sysdeps/unix/sysv/linux/Versions 2004-05-10 01:59:10.000000000 -0400 +++ glibc-2.3.2/sysdeps/unix/sysv/linux/Versions 2004-05-10 02:10:30.410716176 -0400 @@ -108,6 +108,8 @@ GLIBC_2.3.2 { # New kernel interfaces. epoll_create; epoll_ctl; epoll_wait; + # global objects and functions for the propolice patch in gcc - moved from libgcc by pappy@gentoo.org + __guard; __guard_setup; __stack_smash_handler; } GLIBC_2.3.3 { gnu_dev_major; gnu_dev_minor; gnu_dev_makedev;