граница стека gcc

Я знаю, что границу стека можно установить с помощью аргумента mpreferred-stack-boundary для gcc. Мне было интересно, можно ли сделать следующее.

  1. На конкретной машине найдите значение по умолчанию, используемое в качестве границы стека.
  2. Можно ли каким-либо образом определить для конкретного скомпилированного двоичного файла значение используемой границы стека?

person Community    schedule 17.01.2011    source источник


Ответы (1)


  1. Сложно. Вероятно, проще всего иметь таблицу поиска и обновлять ее при появлении новых архитектур.

  2. Не совсем. Предпочтительная граница стека отображается в значениях, выбранных для уменьшения указателя стека в прологе неконечных функций, но нет гарантии, что эта инструкция примет какую-то конкретную форму или вообще будет выдана.

person Simon Richter    schedule 17.01.2011