[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: libjpegv7 transition



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


Reply to: