On 05.07.2020 14:10, Jan Engelhardt wrote:

On Sunday 2020-07-05 13:39, Tomas Härdin wrote:
Downgrading to a .so file with a lower minor version number than
the program is built against can never be expected to work. Else
we couldn't add new functions without a major bump.

It requires the use ELF symbol versions -- which ffmpeg fails to
do properly.[...]

This is a fair point. I didn't actually know the loader can do stuff
like this, sounds super handy. How hard would it be to get that going?

Change libavcodec.v to

LIBAVCODEC_58 {
   global:
   av_foo;
   av_bar;
   av_whatever_else_there_is;...
   local:
   *;
};
LIBAVCODEC_58.91 {
   global:
   avpriv_mpeg4audio_get_config2;
} LIBAVCODEC_58;
LIBAVCODEC_58.123 { /* future example */
   global:
   avblahblah;
} LIBAVCODEC_58.91;

Repeat likewise for other .v files. The file is no longer a template. The
automatic substitution of "_MAJOR" by the build system needs to cease. Version
numbers in the file are supposed to be fixed (among the set of all .so files
that share a SONAME).


Won't that break the entire ABI of anything currently linked, and thus would require a major bump?

Generally, this seems incredibly hard to maintain and will very likely cause confusion every time someone adds stuff in the future.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to