a full buildworld may be required to compile the latest world

John Marino dragonflybsd at marino.st
Wed Jun 12 02:49:58 PDT 2013

I just updated libm.  That's the second time in a couple of weeks this 
library has been updated (this time it was to add 8 new sorely-needed 
long double functions).

Rather than bump the shared lib major version again, I introduced symbol 
versioning for libm.  This means that libm will permanently be called 
libm.so.4 as it is now, but we'll update the versions of the symbols 
internally as needed in the future.

The drawback is that another full world build may be needed in order to 
build HEAD.  It's possible rtld can still match the symbols but I didn't 
test this as I had to do a full build anyway because I was behind the 
previous libm/libc bump.

I suspect we will add symbol versioning to more libraries -- libc is a 
good candidate for the next one because the bump to libc.so.8 was more 
painful than it should have been, but this was partially due to 
insufficient TLS storage space which has also been addressed.  It also 
resulted in binaries linking to both libc.so.7 and libc.so.8 which 
symbol versioning would have avoided.


More information about the Users mailing list