[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