ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

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

Re: [apache-talk] =?koi8-r?Q?Re=3A_=5Bapache-talk=5D_Re=3A_=5Bapache-talk=5D_=F0=CF?==?koi8-r?Q?=DE=C5=CD=D5_=D4=C1=CB=3F?=


  • To: apache-talk@lists.lexa.ru
  • Subject: Re: [apache-talk] Re: [apache-talk] Re: [apache-talk] Почему так?
  • From: Khimenko Victor <khim@sch57.msk.ru>
  • Date: Fri, 29 Jun 2001 19:50:24 +0400 (MSD)
  • In-reply-to: <Pine.BSF.4.21.0106291930300.65979-100000@is>



On Fri, 29 Jun 2001, Igor Sysoev wrote:

> > А чем вот та самая команда из "не-pic примера" тебе не PIC:
> >         movl a,%eax
> >         addl $12,%eax
> >         movl b,%edx
> >         movl %edx,(%eax)
> >
>
> Тем, что везде где встречается "a" или "b", в коде
> будет нужен релокэйшн. Стало быть он position depended.
> Вот jmp $+10 - poisition independed. Куда ни загрузи, всегда
> перейдет на 10 байт после jmp. И никаких релокаций не надо.
>
Oops. Sorry. Опять сказал не то, что хотел сказать. В данном случае я
думал не про "Position Independent Code", а скорее про -fPIC, который в
случае IA32 необязателен (усилиями динамического линкера в основном). Что
же касается "Position Independent Code" то его, строго говоря, в IA32 не
бывает вообще: любой call функции должен fixup'иться: то, что в случае
кода, сгенеренного с -fPIC это делает обычный linker, а в случае кода,
сгенеренного без -fPIC -- динамический принципиальной роли не играет -
fixup он и есть fixup, то есть код -- не "Position Independent"...

P.S. Отсюда вытекает полезный (и забавный) факт: .so модули для Apache
лучше собирать БЕЗ -fPIC (для IA32 - на некоторых агхитектурах после
этого ничего работать не будет)...Гхм... Мдааа... Конечно выигрыш невелик
(Apache мало с глобальными переменными работает), так что опять-таки
неясно - стоит ли овчинка выделки... Но забавно...

=============================================================================
=               Apache-Talk@lists.lexa.ru mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =



 




Copyright © Lexa Software, 1996-2009.