[devel] versioned set-versions

Dmitry V. Levin ldv на altlinux.org
Сб Дек 30 15:17:22 MSK 2017


On Sat, Dec 30, 2017 at 06:51:42AM +0300, Alexey Tourbin wrote:
[...]
> Два механизма были сделаны ортогональными вовсе не по недомыслию, а и
> из-за сложной и компромиссной семантики разрешения версионированных
> символов.  Ясно, что неверсионированный символ может разрешаться в
> версионированный: sym -> sym на ABI, при условии, что символ sym на ABI
> дефолтный (так что когда в библиотеке впервые появляется
> версионирование, старые программы остаются работать без пересборки).

Более того, неверсионированный символ sym может разрешаться как в
неверсионированный символ, так и в версионированный sym на ABI без каких-либо
дополнительных условий; ld.so выберет из того, что есть в библиотеке,
какую-нибудь реализацию sym достаточно произвольным образом.  Если в
библиотеке окажется несколько реализаций sym разных версий, то ld.so
свяжет неверсионированный sym с одной из них.  Если в библиотеке, помимо
весрионированных sym, окажется и неверсионированная реализация, то ld.so
свяжет неверсионированный sym либо с неверсионированной реализацией, либо
с одной из версионированных.


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 801 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20171230/26b1b966/attachment.bin>


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