替代GCC 3.4.3选项-fstack-protector-all?
问题描述:
我想在GCC 3.4.3编译器中设置选项-fstack-protector-all
来启用一些堆栈粉碎保护方案。但编译时,我得到了
错误:无法识别的命令行选项“-fstack-protector-all” 。所以看起来这个选项在GCC 3.4.3中没有实现?或者我错过了什么?替代GCC 3.4.3选项-fstack-protector-all?
如果它在旧的GCC编译器中没有实现什么是最好/最简单的替代方案?
或者也许一些有用的代码模式来实现C代码本身堆栈粉碎保护器?
感谢
答
你似乎是唯一一个次要版本掀起了gcc版本,这似乎是能够为您提供这个特殊的粉碎保护。我发现这个谷歌搜索时:
http://www.research.ibm.com/trl/projects/security/ssp/
也许你可以升级到一个(一个小的数字了),并且仍然是与供应商兼容?
此外,至少在很多年里,canade的值都是在gcc中默认设置的(不需要使用你提到的选项),你看过一个简单程序的反汇编吗?如果您看到靠近堆栈末尾的(gs)位置存储/加载,则已经实施。
GCC 3.4.3已超过七年。该升级了。 – TonyK 2011-12-14 12:09:13
我们不能,因为我们使用一些与GCC4不兼容的供应商库... – 2011-12-14 12:10:35