Improve FF_SYMVER documentation
authorMåns Rullgård <mans@mansr.com>
Wed, 30 Jun 2010 20:09:55 +0000 (20:09 +0000)
committerMåns Rullgård <mans@mansr.com>
Wed, 30 Jun 2010 20:09:55 +0000 (20:09 +0000)
Originally committed as revision 23911 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavutil/internal.h

index 9150074..221c2ed 100644 (file)
 
 
 /**
 
 
 /**
- * Create a non default alias for a function with specified version.
- * This is needed when symbols are moved from a lib to a dependancy of the lib
- * because the gnu linker as of 2010 is buggy and fails to dynamicaly link if a symbol
- * is not found in the lib in which it was during link time with enabled versioning
- * even if a correctly versioned and matching symbol exists in another lib and
- * even if it did find that would it not contain an explicit check to fail
+ * Define a function with only the non-default version specified.
+ *
+ * On systems with ELF shared libraries, all symbols exported from
+ * FFmpeg libraries are tagged with the name and major version of the
+ * library to which they belong.  If a function is moved from one
+ * library to another, a wrapper must be retained in the original
+ * location to preserve binary compatibility.
+ *
+ * Functions defined with this macro will never be used to resolve
+ * symbols by the build-time linker.
+ *
+ * @param type return type of function
+ * @param name name of function
+ * @param args argument list of function
+ * @param ver  version tag to assign function
  */
 #if HAVE_SYMVER_ASM_LABEL
 #   define FF_SYMVER(type, name, args, ver)                     \
  */
 #if HAVE_SYMVER_ASM_LABEL
 #   define FF_SYMVER(type, name, args, ver)                     \