Szerző: Craig Silverstein Dátum: Címzett: 664 CC: pcre-dev Tárgy: Re: [pcre-dev] [Bug 664] ABI breakage in PCRE 7.6
} Symbol-munging is not guaranteed to be stable between different
} compiler versions. It appears that the patch relies on this specific
} munge for "any gcc major-version >= 3", which is at best fairly
} fragile. For example, I know C++ code compiled by gcc3.1 is not
} compatible with that compiled by gcc3.3 on OS X.
That's true, but if the ABI changes between compiler versions, you
won't be able to use an old library anyway. The whole point of this
munged symbol is to allow exactly that kind of backwards
compatibility. In other words, if you're compiling pcre with gcc3.3
on OS X, you won't be able to use it with binaries compiler with
gcc3.1 in any case -- as you say, the ABI has changed -- so the fact
this symbol might break (which, in fact, it doesn't in that particular
case) doesn't matter.
I talked with folks on the gnu compiler tools team, and was assured
this solution is as robust as any.