staticke linkovani s glibc 2.1 ?

Michal Krause michal na krause.cz
Úterý Leden 25 11:22:59 CET 2000


On 25/01/2000, Vaclav Ovsik wrote:

> Vytusil jsem zradu. Pohledem na veci z glibc jsem dosel k zaveru,
> ze dynamickych modulu, ktere muze loadovat za chodu je pomerne dost.
> Duvodem je bezpochyby zvetsujici se objem veci, ktere knihovna implementuje.
> 
> Umite nekdo zalinkovat do programu ty moduly tak, aby to pri spusteni
> uz nic nechtelo ? Respektive lze to vubec ? Nasel jsem /usr/lib/libnsl.a,
> ktera asi implementuje NSS, ale jak to slinkovat bez zasahu
> do stavajiciho programu.

Pridat pri linkovani prametr -lnsl?

> Ja jsem nakonec do stromu pro chroot narval celou glibc, nebudu premyslet
> co kdy jaky soft bude potrebovat (je toho trochu vic).

Ja tedy nevim, prave jsem to testnul a bez nejmensich problemu jsem
vyrobil docista statickou binarku:

gcc -static -Wall -O2 -g -o xpath_test xpath_test.c -lxml -lz
ldd xpath_test
    not a dynamic executable
chroot $PWD ./xpath_test

a zadny problem, vsechno facha jak ma...

> Jeste otazka pro zkusene makace. Predpokladam spravne nasledujici ?
> Kdyz udelam 'chroot /nekam /bin/prog'
> 1) Kernel pusti /nekam/lib/ld-2.1.2.so
> 2) ld-linux.so.2 bude tahat pekne dll z /nekam/lib... a nebude
>    je michat s uz natazenymi v pameti, byt by mely stejne verze.

Tak to nevim...

> Jeste naivni otazka: Jmeno dynamickeho linkeru se zadratuje do kernelu
> pri prekladu ? (v mem pripade asi /lib/ld-2.1.2.so nebo
> /lib/ld-linux.so.2 ze ?) Nebo kernel zkousi najit ruzne dyn loadery?

Ja myslim, ze dynloader je urcen kompilerem, ne?

S pozdravem
--
Michal Krause                                                      /\
ICQ: 7665279            Informace (nejenom) ze sveta Linuxu     /\/  \
email: mike na navrcholu.cz ______ http://www.root.cz/ ______ NAVRCHOLU.cz

Co napsat do signatury, aby to nikoho nepohorsilo? Snad jedine nejakou
obecne znamou pravdu. Doufam, ze vsichni vite, ze tucnak je bylozrava ryba. 


Další informace o konferenci Linux