Date: Thu, 12 Dec 2013 21:26:22 -0800 From: Peter Wemm <peter@wemm.org> To: freebsd-arch@freebsd.org Subject: Re: Removal of a pre-existing library interface Message-ID: <52AA9A7E.8030500@wemm.org> In-Reply-To: <52AA3A95.9010904@delphij.net> References: <52AA3A95.9010904@delphij.net>
next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --aV4TNWpD6EQf4vKHqotjFT96nJOBuIiHr Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On 12/12/13, 2:37 PM, Xin Li wrote: > Hi, >=20 > Recently, OpenBSD have moved from RC4 to ChaCha20 for their > arc4random(3) family of functions and they have later removed a few > interfaces for good reasons. >=20 > On FreeBSD, we aim to maintain ABI stability so we can not simply > remove the interface; we can not remove it from -HEAD because they are > established by previous -STABLE branches, or we would have to bump > major number of shared libraries. After thinking about some other > alternatives, I have created two dummy (well, they also log the event) > compatibility shims for these two interfaces that gets removed from > OpenBSD. >=20 > Is this a reasonable approach of handling changes like this? If you wish to avoid a major bump and the symbols are versioned (as they = are in libc), the one option is this: rename function from arcfour_foo to arcfour_foo_compat and _sym_compat(arcfour_foo, arcfour_foo_compat, FBSD_1.3); That then provides a versioned symbol to satisfy runtime dependencies but= will not allow new references. We did this with the iconv stuff for early 10.x binaries that we didn't w= ant to break but make sure there were no new unintended references. --=20 Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com; KI6F= JV UTF-8: for when a ' just won\342\200\231t do. --aV4TNWpD6EQf4vKHqotjFT96nJOBuIiHr Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (Darwin) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iEYEARECAAYFAlKqmoIACgkQFRKuUnJ3cX/70gCgiVUvLYfJMhhn2TWY9pWIrY0d AYIAoJnzGhy1Dtj28HGhO0LZwipEi+yP =mz8X -----END PGP SIGNATURE----- --aV4TNWpD6EQf4vKHqotjFT96nJOBuIiHr--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?52AA9A7E.8030500>