[devel] Коллизия символов разных динамических библиотек
Roman Savochenko
rom_as на diyaorg.dp.ua
Пн Сен 13 06:05:23 UTC 2010
13.09.2010 08:59, Roman Savochenko пишет:
>> Порядок вызова динамических конструкторов глобальных объектов в C++
>> определен только внутри одной единицы компиляции. Порядок выполнения
>> инициализации между единицами компиляции неопределен, он может быть
>> разным для разных запусков одной и той же программы. То же самое с
>> деструкторами.
> Не оно. В моём случае нет ни статических объектов в модуле ни
> кода выполняющегося в момент dlopen() и dlclose(). И подключение
> подразумевает только разрешение зависимостей внешних библиотек
> линкером, опять же в моём случае это QTCore, QTGui и всё что они
> тянут. Возможно, конечно, что-то есть из статики в этих библиотеках,
> но независимый тест на прототипчике этой проблемы в QTCore, QTGui не
> выявил. Эта проблема воспроизводится только в рабочем окружении
> программы.
Кроме всего прочего dlopen вызывается с флагами RTLD_LAZY|RTLD_LOCAL,
что по идеи исключает немедленный резолвинг всех символов, а так-же то,
что на ранних версиях дистрибутива это прекрасно работает.
С уважением, Роман
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : rom_as.vcf
Тип : text/x-vcard
Размер : 301 байтов
Описание: отсутствует
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20100913/0b5f2dd0/attachment.vcf>
Подробная информация о списке рассылки Devel