[FFmpeg-devel] [PATCH] restoring binary compatibility with ffmpeg 0.5
Måns Rullgård
mans
Sun Jun 6 23:32:19 CEST 2010
Michael Niedermayer <michaelni at gmx.at> writes:
> On Sun, Jun 06, 2010 at 10:59:09PM +0200, Reimar D?ffinger wrote:
>> On Sun, Jun 06, 2010 at 10:45:18PM +0200, Michael Niedermayer wrote:
>> > On Sun, Jun 06, 2010 at 10:29:25PM +0200, Reimar D?ffinger wrote:
>> > > On Sun, Jun 06, 2010 at 09:38:07PM +0200, Reinhard Tartler wrote:
>> > > > In any case, find below the 'best' fix, that admittedly only works on
>> > > > gnu platforms. Michael, please comment if you prefer the half fix that
>> > > > fixes the issue on gcc/gas platforms (and doesn't regress on others) or
>> > > > bumping major of libavformat.
>> > >
>> > > How sure are we this is actually correct?
>> > > The cases I could find documented (which only involve one library)
>> > > also require changes to the version script.
>> > > In case it was only one library, something like this:
>> > > Index: libavcodec.v
>> > > ===================================================================
>> > > --- libavcodec.v (revision 23508)
>> > > +++ libavcodec.v (working copy)
>> > > @@ -1,3 +1,7 @@
>> > > +LIBAVFORMAT_52 {
>> > > + global: av_init_packet;
>> > > +};
>> > > LIBAVCODEC_$MAJOR {
>> > > + global: av_init_packet;
>> > > global: *;
>> > > -};
>> > > +} LIBAVFORMAT_52;
>> > >
>> > > However here we have the problem that this would break e.g. on Solaris,
>> > > since a symbol is not allowed to have multiple versions there.
>> >
>> > +LIBAVFORMAT_52 {
>> > + global: av_init_packet;
>> > +};
>> > LIBAVCODEC_$MAJOR {
>> > global: *;
>> > -};
>> > +} LIBAVFORMAT_52;
>> >
>> > above does not work?
>>
>> It does, but it does not do what I guess you want.
>> It will only generate av_init_packet@@LIBAVFORMAT_52,
>
> yes
>
>> so it will still break compatibility to some previous versions.
>
> do you assume this or have you tested this?
It changes the name of the symbol. Anything linked against current
libavcodec will fail after this change.
--
M?ns Rullg?rd
mans at mansr.com
More information about the ffmpeg-devel
mailing list