Versioned symbols: what can we deal with move between two symbols?

Daniel Eischen deischen at freebsd.org
Wed Mar 31 20:25:51 UTC 2010


On Wed, 31 Mar 2010, Xin LI wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi,
>
> Assuming that we had:
>
> Version_1.0 {
> 	MySymbol64;
> };
>
> Version_private_1.0 {
> 	MySymbol;
> };
>
> In the past, but now we have:
>
> Version_1.0 {
> 	MySymbol;
> 	MySymbol64;
> };
>
> Version_private_1.0 {
> };
>
> I think this would cause ABI problem.  The interfaces are the same to
> their previous version, though.
>
> Is there a way to "promote" the MySymbol from _private_1.0 interface to
> _1.0 safely?

Anything in FBSDprivate_X namespace is private and NOT
part of the ABI.  As such, it is allowed to change.
Any 3rd party software (why do they call it 3rd party,
shouldn't it be 2nd party? ;-)) that uses symbols in
the private namespace is not ABI safe.

You can move anything out of and into the private
namespace, and a buildworld should be all that is
necessary to accomodate that change.

-- 
DE


More information about the freebsd-arch mailing list