[devel] libopenobex-1.3 symbol versioning patch

Alexey Tourbin at на altlinux.ru
Вс Авг 13 11:51:58 MSD 2006


On Sat, Aug 12, 2006 at 07:49:01PM +0400, Sergey Vlasov wrote:
> В данном случае флаги критичные.  Причём OBEX_EV_REQCHECK - это флаг,
> который библиотека передаёт в callback, поэтому новую версию придётся
> вешать на OBEX_Init.
> 
> > У меня сходу не получилось при помощи одного только version script
> > повесить один символ на два интерфейса.  Кажется, надо прямо в код
> > вставлять всякие asm/.symver, это недавно было в
> > 
> > 	Date: Wed, 9 Aug 2006 03:16:59 +0400
> > 	From: "Dmitry V. Levin"
> > 	Subject: Re: [devel] rpmelfsymv
> > 	To: ALT Devel discussion list
> > 	Message-ID: <20060808231659.GA11505 на basalt.office.altlinux.org>
> > 
> > В общем муть какая-то.
> 
> Именно.
> 
> Совсем просто даже через asm не получается:
> 
> __asm__(".symver real_OBEX_Init,OBEX_Init@@OPENOBEX_1.2");
> __asm__(".symver real_OBEX_Init,OBEX_Init на OPENOBEX_1.0");

[...]

> Т.е., на powerpc64 у каждой функции не один, а два символа, на которые
> надо вешать версии, а на alpha и mips не работает .set.
> 
> Но примеров вешания разных версий на один символ нет даже там.  Вообще
> такое кто-нибудь делает?
> 
> > * at продолжает засорять @devel
> * vsu думает, не забить ли уже на всё это

Одинаковые символы с разными версиями -- это уже black magic, который
нужен только для библиотек типа glibc, от которых зависит сто тыщ мильён
пакетов.

Тут можно сделать вот что:

1) сменить soname; или
2) повесить все функции, которые используют новые флаги, на новый
интерфейс 1.2; *и* удалить все старые интерфейсы, на которых висели
какие-либо из этих функций.  Поскольку интерфейсов до этого не было,
фактически имеет смысл повесить все экспортируемые функции на интерфейс 1.2.
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: отсутствует
Url     : http://lists.altlinux.org/pipermail/devel/attachments/20060813/9bc633c4/attachment.bin 


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