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 - это независимость от адреса загрузки образа)?
-- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

