[devel] libopenobex-1.3 symbol versioning patch

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вс Авг 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.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20060813/9bc633c4/attachment-0001.bin>


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