替代GCC 3.4.3选项-fstack-protector-all?

时间:2011-12-14 11:51:28

标签: c arm gcc3

我正在尝试在GCC 3.4.3编译器中设置选项-fstack-protector-all以启用一些堆栈粉碎保护方案。但是在编译时我得到了错误:无法识别的命令行选项“-fstack-protector-all” 。所以看来这个选项没有在GCC 3.4.3中实现?或者我错过了什么?

如果它没有在较旧的GCC编译器中实现,那么最好/最简单的替代方法是什么?

或者可能是一些有用的代码模式在C代码本身中实现堆栈粉碎保护器?

由于

1 个答案:

答案 0 :(得分:0)

你似乎只是gcc版本的一个小版本,似乎能够为你提供这种特殊的粉碎保护。我在谷歌搜索时发现了这个:

http://www.research.ibm.com/trl/projects/security/ssp/

也许您可以升级到那个(一个次要号码)并仍然与您的供应商兼容?

此外,至少在gcc中默认设置了多年的金丝雀值(不需要使用你提到的选项),你看过一个简单程序的反汇编吗?如果你看到从堆栈末端附近的(gs)位置存储/加载,它已经实现了。