#gcc #stack #flags
#gcc #стек #флаги
Вопрос:
Я работаю с gcc 7.5 и не могу найти информацию о флаге -z, noexecstack в https://gcc.gnu.org/onlinedocs/gcc-7.5.0/gcc / Где я могу найти информацию о его поведении?, т.Е. Включено ли оно по умолчанию, как проверить, что оно применяется к моим файлам и так далее.
Я нашел https://linux.die.net/man/8/execstack и там написано «Маркировка выполняется автоматически последними версиями GCC», поскольку версия 7.5 была выпущена в ноябре 2019 года, я предполагаю, что это применимо к gcc 7.5.
Ответ №1:
-ключевое слово 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.