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 madcoder@debian.org
OOO http://www.madism.org
Attachment:
signature.asc
Description: Digital signature