问题描述
我正在使用gcc 7.5,但在https://gcc.gnu.org/onlinedocs/gcc-7.5.0/gcc/中找不到有关标志-z,noexecstack的信息 在哪里可以找到有关其行为的信息?即默认情况下是否启用了它,如何检查它是否应用于我的文件等等。
我发现https://linux.die.net/man/8/execstack,上面写着“标记是由最新的GCC版本自动完成的” ,因为7.5版于2019年11月发布,我假设这适用于gcc 7.5。 / p>
解决方法
来自link options:
-z关键字
-z与关键字keyword一起直接传递到链接器。有关允许的值及其含义,请参见链接器文档中的部分。
来自man ld:
-z keyword The recognized keywords are: [...] execstack Marks the object as requiring executable stack. [...] noexecstack Marks the object as not requiring executable stack.