--- dietlibc-0.30/diet.c.alt-no-stack-protector 2007-02-03 17:59:52 +0300 +++ dietlibc-0.30/diet.c 2007-02-03 18:18:53 +0300 @@ -353,6 +353,18 @@ pp: #endif *dest++="-D__dietlibc__"; *dest++="-D__LIBC_DIETLIBC__"; + { + unsigned int gcc_ver = 0; + const char *gcc_ver_str = strstr(cc, "gcc-"); + if (gcc_ver_str) + gcc_ver_str += 4; + else + gcc_ver_str = getenv("GCC_VERSION"); + if (gcc_ver_str) + gcc_ver = atoi(gcc_ver_str); + if ((gcc_ver == 0) || (gcc_ver >= 4)) + *dest++="-fno-stack-protector"; + } if (mangleopts) { const char **o=Os;