[devel] Re: Как заставить прогу тайти билиотеку?

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вт Мар 9 19:49:56 MSK 2004


On Tue, Mar 09, 2004 at 06:52:53PM +0300, Алексей Любимов wrote:
> Да это как раз понятно. Под чрутом все прозрачно получается, но больно 
> много тащить приходиться...
> Ктож знал, что файл ld-2.3.2.so в переменной LD_LIBRARY_PATH может 
> каталогом прикидываться?

Вы ничего не поняли. :(
Файл ld-2.3.2.so не в переменной LD_LIBRARY_PATH (и уж тем более не
прикидывается каталогом), файл ld-2.3.2.so -- это сам executable.
В качестве параметра он берет динамический бинарь и его аргументы.

$ /lib/ld-linux.so.2 /bin/date
Tue Mar  9 19:40:40 MSK 2004
$

Это стандартный способ запуска динамических бинарей (с помощью
динамического линкера).  Просто в нормальной ситуации /lib/ld-linux.so.2
прозрачно подгружается ядром (execve), и ему передается управление.
А откуда ядро знает, какой линкер подгружать?  А из самого бинаря:

$ strings /bin/date | head -1
/lib/ld-linux.so.2
$

Поэтому его и нельзя подменить с помощью LD_LIBRARY_PATH: эта переменная
влияет на сам линкер, который должен быть к тому моменту уже загружен.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20040309/28e06b8e/attachment-0001.bin>


Подробная информация о списке рассылки Devel