LINUX.ORG.RU

Сделать LD_PRELOAD для определенной библиотеки.

 ,


0

1

Нужны советы от гуру шаред библиотек. При выполнении LD_PRELOAD=liba.so proga все другие слинкованные с proga библиотеки тоже использоуют liba.so. Можно ли как-то сделать что бы из всего множества библиотек для proga, liba.so использовалась только для libb.so, а все остальное не использовало ее?

★★★★★

Может, тебе подойдет ldconfig -l libb.so для конкретной библиотеки с LD_PRELOAD=liba.so перед ним? А потом уже прикладуху остальную грузить? Я пока гадаю, так как прежде как-то не решал такие избирательные задачи.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от Zubok

да лежит в привольном месте, переместить ее не проблема, в локал\либ если лежит то то она перекрывает системную, без всяких прелодов, этот путь прописан в лд.конф

Novell-ch ★★★★★
() автор топика
Ответ на: комментарий от Zubok

сделал самым тупым но действенным способом, переименовал liba и седом хакнул libb что бы она искала не liba а libx и все работает.

Novell-ch ★★★★★
() автор топика
Ответ на: комментарий от Novell-ch

Это логично. :) Я, кстати, как раз написал пост по поводу переименования, но потом стер, потому что подумал, что у тебя нет контроля над libb. Но раз sed'ом... Вообще, конечно, это грубоватый хак.

Но вот самому стало интересно насчет ldconfig -l (library mode). Вроде как можно линковать библиотеки индивидуально. Но никогда не пользовался.

Zubok ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.