On Wed, 22 Jan 2014, Torbjorn Granlund wrote:
Marc Glisse <marc.gli...@inria.fr> writes:
By the way, do we have a policy about breaking binary compatibility?
In this case, mixing old and new objects could result in crashes
(almost certainly at -O0, seldom at -O3). It should be possible to
prevent this issue by renaming __gmp_unary_expr and __gmp_binary_expr
(say adding a '2' at the end). It wouldn't be 100%, but I think only
questionable code would break.
I don't think we need to support compiling foo.cc with one GMP release
and bar.cc with another, and then link the objects to some
libgmpxx.{so,a}.
Ok, but note that the issue doesn't stop at mixing .o directly, linking
with various .so (unless they used visibility options to isolate
themselves) or .a that weren't compiled with the same version of gmpxx
would break, so in practice that's really a forced recompile of any
library using gmpxx, same as a completely new ABI.
--
Marc Glisse
_______________________________________________
gmp-devel mailing list
gmp-devel@gmplib.org
https://gmplib.org/mailman/listinfo/gmp-devel