[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