How to change an interface?
Xin LI
delphij at delphij.net
Wed Feb 25 15:38:50 PST 2009
-----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?
Cheers,
- --
Xin LI <delphij at delphij.net> http://www.delphij.net/
FreeBSD - The Power to Serve!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.10 (FreeBSD)
iEYEARECAAYFAkml1nwACgkQi+vbBBjt66CgLwCgojrOaeSyuNHdHQyzxA0+UEMq
PREAn0rFE8zpFez0WbccVAir8Nhf/AK0
=MBeo
-----END PGP SIGNATURE-----
More information about the freebsd-hackers
mailing list