[devel] Коллизия символов разных динамических библиотек

Alexander Bokovoy ab на altlinux.org
Пн Сен 13 06:34:05 UTC 2010


2010/9/13 Roman Savochenko <rom_as на diyaorg.dp.ua>:
>>     Не оно. В моём случае нет ни статических объектов в модуле ни кода
>> выполняющегося в момент dlopen() и dlclose(). И подключение подразумевает
>> только разрешение зависимостей внешних библиотек линкером, опять же в моём
>> случае это QTCore, QTGui и всё что они тянут. Возможно, конечно, что-то есть
>> из статики в этих библиотеках, но независимый тест на прототипчике этой
>> проблемы в QTCore, QTGui не выявил. Эта проблема воспроизводится только в
>> рабочем окружении программы.
>
> Кроме всего прочего dlopen вызывается с флагами RTLD_LAZY|RTLD_LOCAL, что по
> идеи исключает немедленный резолвинг всех символов, а так-же то, что на
> ранних версиях дистрибутива это прекрасно работает.
Запустите приложение с
LD_DEBUG=all LD_DEBUG_OUTPUT=/path/to/file /path/to/executable
ld.so в получившемся отчете расскажет все, что происходило с
динамической загрузкой и выгрузкой.

-- 
/ Alexander Bokovoy


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