Date: Thu, 16 Jun 2011 23:27:38 +0200 From: Jilles Tjoelker <jilles@stack.nl> To: "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net> Cc: Daniel Eischen <deischen@FreeBSD.org>, svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@FreeBSD.org Subject: Re: cvs commit: src Makefile.inc1 src/lib/libc Makefile src/lib/libc_r Makefile src/lib/libpthread Makefile pthread.map src/lib/libpthread/thread thr_private.h src/lib/librt Makefile src/lib/libthr Makefile pthread.map src/lib/libthread_db Makefile ... Message-ID: <20110616212738.GA73657@stack.nl> In-Reply-To: <20110612213330.D10590@maildrop.int.zabbadoz.net> References: <200705131412.l4DECf2N068712@repoman.freebsd.org> <20110612213330.D10590@maildrop.int.zabbadoz.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Jun 12, 2011 at 09:38:42PM +0000, Bjoern A. Zeeb wrote: > http://svnweb.freebsd.org/base?view=revision&revision=169524 > I figured WITHOUT_SYMVER= hs been useless since 201001. I am no > longer able to do build worlds with WITHOUT_SYMVER= set in src.conf > on a system with symbol versioning. > I'd love someone to fix that and allow us to build libraries without > all the historic stuff in them. If we cannot get it back working our > libraries will grow bigger and bigger forever. > If one is building images for clean-state systems that will never run > anything older than the current CURRENT build, there is no need for > the extra size. Contrary to what people think, memory and direct > attached storage can still be expensive in some environments. > Anyone who understands the system can come up with patches to fix this? I think disabling symver completely is too much: it implies a new mutually incompatible set of binaries. What should be done instead is allowing to compile out the compatibility functions. This means all __sym_compat() directives and all functions referred to by them. A simple approach would use a yes/no #ifdef, while a more sophisticated approach would allow choosing the oldest version to retain compatibility with, for example freebsd7_semctl() in lib/libc/gen/semctl.c would be compiled in iff compatibility with FreeBSD 7.x was requested. With just symver, a binary for FreeBSD version for which compatibility was not compiled in will abort if and when it attempts to use a function that was changed in a later version. -- Jilles Tjoelker
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110616212738.GA73657>