LINUX.ORG.RU

Переопределение внешних символов для динамически подгружаемой библиотеки


0

1

Хочется следующего: есть библиотека «mylib.so», которая использует в том числе вызов «read». Я хочу в некоторых ситуациях заставить ее использовать свою обертку над read, производящую некие дополнительные действия.

Как можно провернуть подобный трюк на этапе dlopen без загаживания собственного глобального пространства имен?

P. S. Про --wrap в курсе, но хочется другого.

Наверное, только написав собсвенный dlopen(), который будет знать, что при загрузке mylib.so нужно связать её с «другим» read().

mky ★★★★★
()

можно попробовать написать библиотеку, которая будет содержать и экспортировать read, и будет слинкована на mylib.so, при загрузке такой библиотеки с флагом RTLD_DEEPBIND может быть mylib.so подхватит read из нее, но я точно не знаю

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