【QNX+Android虚拟化方案】40 - 系统优化 之 QNX & Android Kernel GCC编译器配置 -fstack-protector-strong 和 -flto选项
基于原生纯净代码,QNX+Android虚拟化方案 纯技术分享,不会也不敢涉项目、不泄密、不传播代码文档!!!
本文禁止转载分享 !!!
一、编译选项目详解
1.1 -fstack-protector-strong 选项
GCC编译器的 -fstack-protector
选项用于开启堆栈保护,以防止缓冲区溢出攻击。
它有两种模式:
-
-fstack-protector
这是默认模式,在这种模式下,GCC只对那些包含字符数组或者可能会被攻击者利用的函数进行保护。
这种模式能够提供一定的安全保护,但是对程序性能的影响也相对较小。 -
-fstack-protector-strong
这种模式比默认模式提供了更强的保护。
除了字符数组和可能被利用的函数之外,GCC还会对那些包含本地变量地址取值或者有函数指针的函数进行保护。
这种模式能够提供更高级别的安全保护,但是也可能对程序性能产生较大影响。