staticke linkovani s glibc 2.1 ?
Pavel Kankovsky
peak na argo.troja.mff.cuni.cz
Úterý Leden 25 17:50:48 CET 2000
On Tue, 25 Jan 2000, Vaclav Ovsik wrote:
> Naivne jsem si myslel, ze postaci vsechno prelozit s volbou -static.
> Strcil jsem tedy binarku do adresare tam pridal jeste nejake /etc
> passwd, group, nsswitch.conf. Pak jsem zkusil chroot na adresar
> a pustit to. Ale ono to jeste chtelo dynamicke knihovny, nejake
> ty libnss*.
DJB se vztekal, ze na Solarisu nejde vyrobit uplne staticky slinkovanou
binarku (stejny problem) a uz se nakazil i Linux. :)
Jedine jednoduche reseni je pouzit libc 5, tam zadne NSS nebylo. :)
> 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?
Cesta k dyn. linkeru je obsazena v binarce, konkretne v sekci .interp
(viz objdump -j .interp --full-contents program). Tu cestu tam da ld
na zaklade parametru -dynamic-linker.
On Tue, 25 Jan 2000, Michal Krause wrote:
> Na otazku, proc program, o kterem ldd tvrdi, ze je to staticka binarka,
> otevira libc.so ci libnss_files.so.2 a proc se tvari, ze funkce uspela,
> ackoliv vraci NULL, bude muset asi odpovedet nekdo povolanejsi.
Protoze ona je staticky linkovana. To zatracene NSS totiz
udela explicitne dlopen().
--Pavel Kankovsky aka Peak [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."
Další informace o konferenci Linux