From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Sun, 13 Aug 2006 22:57:42 +0400 From: Sergey Vlasov To: ALT Devel discussion list Message-ID: <20060813185742.GC15478@procyon.home> Mail-Followup-To: ALT Devel discussion list References: <20060811184453.GD15128@procyon.home> <20060812135000.GD15159@procyon.home> <20060812140505.GG24054@localhost.localdomain> <20060812143634.GH24054@localhost.localdomain> <20060812154901.GF15159@procyon.home> <20060813075158.GJ24054@localhost.localdomain> <20060813121309.GA15478@procyon.home> <20060813122044.GO24054@localhost.localdomain> <20060813145500.GB15478@procyon.home> <20060813160010.GP24054@localhost.localdomain> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="69pVuxX8awAiJ7fD" Content-Disposition: inline In-Reply-To: <20060813160010.GP24054@localhost.localdomain> Subject: Re: [devel] libopenobex-1.3 symbol versioning patch X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.7 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Aug 2006 18:57:47 -0000 Archived-At: List-Archive: List-Post: --69pVuxX8awAiJ7fD Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Aug 13, 2006 at 08:00:10PM +0400, Alexey Tourbin wrote: > On Sun, Aug 13, 2006 at 06:55:00PM +0400, Sergey Vlasov wrote: > > =F7=CF=CF=C2=DD=C5 =D5 =CD=C5=CE=D1 =D3=C5=CA=DE=C1=D3 =D0=CF=CC=D5=DE= =C9=CC=CF=D3=D8 =D7=CF=D4 =DE=D4=CF: > >=20 > > #define symver_concat(pre, post) pre##post > > #define symver_tmp_name(name, line) symver_concat(name##_version_, line) > >=20 > > #define symver_set_weak(real) \ > > __asm__ (".weak " #real); \ > > __asm__ (".weak ." #real) > >=20 > > #define symver_define_alias(alias, name) \ > > extern __typeof__ (name) alias __attribute__((__alias__(#name))) =EB=D3=D4=C1=D4=C9, =C5=D3=CC=C9 =D3=C0=C4=C1 =C4=CF=C2=C1=D7=C9=D4=D8 __vi= sibility__("default") =C9 =D0=CF=D4=D2=C5=C2=CF=D7=C1=D4=D8, =DE=D4=CF=C2=D9 =DE=C5=D2=C5=DA =DC=D4=C9 =CD=C1=CB=D2=CF=D3=D9 =DC=CB=D3= =D0=CF=D2=D4=C9=D2=CF=D7=C1=CC=C9=D3=D8 =D7=D3=C5 =D3=C9=CD=D7=CF=CC=D9, = =C1 =CE=C5 =D4=CF=CC=D8=CB=CF =D4=C5, =C4=CC=D1 =CB=CF=D4=CF=D2=D9=C8 =D4=D2=C5=C2=D5=C5=D4=D3=D1 =CE=C5=D3=CB=CF= =CC=D8=CB=CF =D7=C5=D2=D3=C9=CA (=CB=C1=CB =C4=C5=CC=C1=C5=D4=D3=D1 =D7 lib= alsa), =CD=CF=D6=CE=CF =C5=DD=A3 =C9 =CB=CF=CD=D0=C9=CC=C9=D4=D8 =D7=C5=D3=D8 =CB=CF=C4 =D3 -fvisi= bility=3Dhidden, =DE=D4=CF =C4=C1=A3=D4 =CB=CF=CD=D0=C9=CC=D1=D4=CF=D2=D5 =C4=CF=D0=CF=CC=CE=C9=D4=C5=CC=D8=CE=D9=C5 =D7=CF=DA=CD=CF=D6=CE=CF=D3=D4= =C9 =C4=CC=D1 =CF=D0=D4=C9=CD=C9=DA=C1=C3=C9=C9 =CB=CF=C4=C1. > >=20 > > #define symver_set_version(real, name, version) \ > > __asm__ (".symver " #real "," #name "@" version); \ > > __asm__ (".symver ." #real ",." #name "@" version) > >=20 > > #define symver_declare_version(alias, name, version) \ > > symver_define_alias(alias, name); \ > > symver_set_version(alias, name, version) > >=20 > > #define symbol_version(name, version) \ > > symver_declare_version(symver_tmp_name(name, __LINE__), \ > > name, #version) > >=20 > > #define symbol_default_version(name, version) \ > > symver_set_weak(name); \ > > symver_declare_version(symver_tmp_name(name, __LINE__), \ > > name, "@" #version) > >=20 > > =E9=D3=D0=CF=CC=D8=DA=D5=C5=D4=D3=D1 =CB=C1=CB-=D4=CF =D4=C1=CB: > >=20 > > symbol_default_version(junk, JUNK_1.1); > > symbol_version(junk, JUNK_1.0); > >=20 > > =F0=D2=C9 =DC=D4=CF=CD =D7 map-=C6=C1=CA=CC=C5 =D7=D3=A3 =D2=C1=D7=CE= =CF =D0=D2=C9=C8=CF=C4=C9=D4=D3=D1 =D0=C9=D3=C1=D4=D8 =D7=D3=C5 =D3=C9=CD= =D7=CF=CC=D9 =D7=CF =D7=D3=C5=C8 > > =D7=C5=D2=D3=C9=D1=C8: > >=20 > > JUNK_1.0 { > > global: > > junk; > > local: > > *; > > }; > >=20 > > JUNK_1.1 { > > global: > > junk; > > } JUNK_1.0; =E5=D3=CC=C9 =DE=C5=D2=C5=DA =CD=C1=CB=D2=CF=D3=D9 =C4=CF=CC=D6=CE=CF =DC= =CB=D3=D0=CF=D2=D4=C9=D2=CF=D7=C1=D4=D8=D3=D1 =D7=D3=A3, =D0=CF=CC=D5=DE=C1= =C5=D4=D3=D1 =C4=D5=C2=CC=C9=D2=CF=D7=C1=CE=C9=C5 =C9=CE=C6=CF=D2=CD=C1=C3=C9=C9 =D7 map= -=C6=C1=CA=CC=C5 =C9 =CD=C1=CB=D2=CF=D3=C1=C8 - =D3=CC=C5=C4=CF=D7=C1=D4=C5= =CC=D8=CE=CF, =D7 =DC=D4=CF=CD =D3=CC=D5=DE=C1=C5 map-=C6=C1=CA=CC =CE=C1=C4=CF =C7=C5=CE=C5=D2=C9=D2=CF= =D7=C1=D4=D8 (=D0=D2=C1=D7=C4=C1, =CB=D5=C4=C1-=D4=CF =C5=DD=A3 =CE=C1=C4= =CF =D0=CF=CC=CF=D6=C9=D4=D8 =C9=CE=C6=CF=D2=CD=C1=C3=C9=C0 =CF=C2 =C9=D3=D0=CF=CC=D8=DA=D5=C5=CD=D9=C8 = =D7=C5=D2=D3=C9=D1=C8 =C9 =C9=C8 =D7=DA=C1=C9=CD=CF=D3=D7=D1=DA=D1=C8). > =FA=C4=CF=D2=CF=D7=CF! =FC=D4=C9 =CD=C1=CB=D2=CF=D3=D9 =D3=D4=CF=C9=D4 = =CB=D5=C4=C1-=CE=C9=C2=D5=C4=D8 =CF=D4=C4=C5=CC=D8=CE=CF =DA=C1=D0=C1=CB=CF= =D7=C1=D4=D8; =D4=CF=CC=D8=CB=CF > =D4=D2=D5=C4=CE=CF =D3=CB=C1=DA=C1=D4=D8, =CB=D5=C4=C1 =C9=CD=C5=CE=CE=CF. =EB =CE=C9=CD =C5=DD=A3 =C4=CF=CC=D6=CE=D9 =D0=D2=C9=CC=C1=C7=C1=D4=D8=D3= =D1 =D3=CF=CF=D4=D7=C5=D4=D3=D4=D7=D5=C0=DD=C9=C5 =D4=C5=D3=D4=D9 =C4=CC=D1= autoconf (=CB=CF=D4=CF=D2=D9=C5 =C5=DD=A3 =CE=C1=C4=CF =CE=C1=D0=C9=D3=C1=D4=D8). --69pVuxX8awAiJ7fD Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (GNU/Linux) iD8DBQFE33YmW82GfkQfsqIRAuq7AJ42G8Ww7zYMTaJU+drS6N1KtGbN7gCbB/De Rp59GOq6nEM1D4whFjgXqjU= =p4YI -----END PGP SIGNATURE----- --69pVuxX8awAiJ7fD--