svn commit: r283132 - head/lib/libproc

Bryan Drewery bdrewery at FreeBSD.org
Thu May 21 04:07:28 UTC 2015


On 5/19/15 5:23 PM, Baptiste Daroussin wrote:
> Author: bapt
> Date: Tue May 19 22:23:15 2015
> New Revision: 283132
> URL: https://svnweb.freebsd.org/changeset/base/283132
>
> Log:
>    Fix underlinking
>

I recommend always doing a full clean build when adding or removing 
libraries to libraries when targetting under/over link problems. Often 
an exp-run may even make sense. Many library consumers have benefited 
from overlinking for a long time and no one has realized they were 
missing direct links. I've added build-time tests into our build at work 
to force all libraries to not be over or under linked by using 
-Wl,--no-undefined and tools/build/check-links.sh (this gets tricky with 
WORLDTMP btw). In most cases of fixing an overlink issue I found that 
consumers were underlinked. It was a cascading issue.

As an update to the clang++ -lm link, I modified it at work to use 
--as-needed -lm and had no fallout. I need to test build it in FreeBSD 
and get an exp-run for it. That will make check-links.sh happier on many 
of the PROG_CXX/LIB_CXX FreeBSD has.

As for prebuild_libs, it seems that most of the time it is touched in 
the past year it is done wrong and without good testing. Please seek out 
reviews and consider dependencies. The libproc one committed currently 
is still wrong as it is depending on lib/libc++ (rather than 
lib/libc++__L) and libproc does not even use libc++, it uses libcxxrt. 
So it should be depending on libcxxrt__L. Not to mention it actually 
still errors too due to other bugs in it.



-- 
Regards,
Bryan Drewery


More information about the svn-src-head mailing list