[FFmpeg-devel] [PATCH] restoring binary compatibility with ffmpeg 0.5
Reimar Döffinger
Reimar.Doeffinger
Sun Jun 6 22:59:09 CEST 2010
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,
so it will still break compatibility to some previous
versions.
More information about the ffmpeg-devel
mailing list