[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Вопросы по созданию пакета.



29.09.2012 21:52, Andrey Rahmatullin пишет:
> On Sat, Sep 29, 2012 at 08:38:04PM +0400, "Артём Н." wrote:
>>>>>>>> Кстати, а hardening (например, проверка стека) сильно влияет на производительность?
>>>>>>> stackprotector - вряд ли заметно, pie - да на i386, остальное скорее вообще никак.
>>>>>> Да, а на не 64-битных не влияет? Почему? Разве есть какие-то кардинальные отличия?
>>>>> PIC/PIE занимает один регистр, который на i386 очень мало.
>>>> Если не хватает регистров, он использует стэк?
>>> Зависит.
>>> Обычно наоборот, если есть свободные регистры, туда можно сунуть локальные
>>> переменные вместо стека.
>> В смысле, для вычисления адресов, при использовании PIE используется много
>> регистров, а если они заняты, компилятору приходится гонять данные между стеком
>> и регистрами. Потому на x86 и тормозит, а в x64 добавили регистры, так что их
>> там хватает. Так?
> Хм, я сейчас нашёл, что на amd64 и каких-нибудь других архитектурах вообще
> не занимается регистр, т.к. достаточно уметь адресацию через %rip. На i386
> да, всегда занят один регистр, там лежит адрес GOT.
Хм... Так таблица смещений всё-равно должна быть, независимо от архитектуры?
И, кстати, по-идее, PE базонезависимы, поскольку есть таблица релокаций, а ELF -
нет (насколько я понял, PIE - это независимость от адреса загрузки образа)?


Reply to: