Date: Wed, 25 Feb 2009 15:38:36 -0800 From: Xin LI <delphij@delphij.net> To: freebsd-hackers <freebsd-hackers@freebsd.org>, kan@FreeBSD.org Subject: How to change an interface? Message-ID: <49A5D67C.8080102@delphij.net>
next in thread | raw e-mail | index | archive | help
-----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@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-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49A5D67C.8080102>