On Wed, 25 Feb 2009, Xin LI wrote:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

Just wanted to confirm that the following procedure to change an
existing interface:

- Remove the symbol in question from all previous FBSD_1.* namespaces
with their corresponding Symbol.map files;

- Add the new symbol into latest FBSD_1.* namespace, say, FBSD_1.1 for
now, into corresponding Symbol.map files;

- Create a new file containing the compatibility shims with prefix __
and suffix of something indicating its obsoleteness, e.g. _44bsd.  For
instance, for function foo(), the shim function would be called
__foo_44bsd();

- At the tail of the shim file, add glues for the old symbols like this:

__sym_compat(foo, __foo_44bsd, FBSD_1.0);

- Double check to make sure that new .so would work with old binaries.

Is that correct?

Yes, I believe that is correct.  I also think that
the awk script that processes the Symbol.map files
will also warn you if the symbol is multiply declared.

--
DE
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"

Reply via email to