30.09.2012 20:56, Andrey Rahmatullin пишет: > On Sun, Sep 30, 2012 at 08:19:16PM +0400, "Артём Н." wrote: >>>>>> Пока мне не очень понятно зачем это нужно, если возможно полагаться на >>>>>> загрузчик. >>>>> Менять .text в рантайме - плохо. Надо пояснять почему? >>>> Да, неплохо бы. Ведь, по-идее, изменение производится ещё до передачи >>>> управления, так что, такая ли большая разница (если не брать в расчёт >>>> протекторы >>>> и прочую навесную фигню, которая может при этом не работать)? >>> Страницы кода нельзя оставлять readonly (а это несекурно) >> Хм... А поставить им аттрибут после патчинга нельзя? > Видимо нет. Хм... Почему?
>> Весть есть библиотеки..? > Мы как раз о случае с двумя процессами, загрузившими одну библиотеку. Так, вроде, успешно расшаривают..? На что тогда DLL и прочее? >>> патчинг занимает время. >> Ну да. Только вот неизвестно насколько оно больше затрат времени, при >> выполнении >> базонезависимого кода. > Как уже было показано, на не-i386 от PIC оверхед незначительный, а на i386 > другие плюсы всё равно перевешивают.. > >> И как часто приходится патчить... > Всмысле? Каждую инструкцию, вызывающую код из другого объекта. В смысле, насколько часто адрес загрузки отличается от базового адреса? Особенно, для исполняемых файлов (ведь большинство без релоков)? -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

