On Sun, Jun 14, 2009 at 08:01:21PM +0200, Bastian Blank wrote: > On Sun, Jun 14, 2009 at 03:48:28PM +0200, Bill Allombert wrote: > > This version is ABI-incompatible with libjpeg6b. > > However it should be fully API compatible. > > To avoid symbol conflicts with libjpeg v6, the symbols are versionned. > > In the current version, the symbols are not versioned. So this does not > hold as Base symbols match always.
True, and not true. If you have something like that in the new headers: #define LIBJPEG_REDIRECT(sym, proto) sym JPP(proto) __asm__(#sym"_abi7x") And then do: EXTERN(void) LIBJPEG_REDIRECT(jpeg_destroy, (j_common_ptr cinfo)); Then you'll divert all uses of jpeg_destroy to jpeg_destroy_abi7x which can be properly versioned, and the always-matching semantics of 'Base' will not be a problem. I wish they had done that + kept the old 'Base' symbols with the appropriate things to do and forward to the new abi functions to keep binary compatibility :| -- ·O· Pierre Habouzit ··O madco...@debian.org OOO http://www.madism.org
signature.asc
Description: Digital signature