Date: Thu, 6 Apr 1995 23:24:47 -0600 From: nate@sneezy.sri.com (Nate Williams) To: current@FreeBSD.org Subject: Announce: Linker changes which broke shared C++/F77 code backed out Message-ID: <199504070524.XAA06417@trout.sri.MT.net>
next in thread | raw e-mail | index | archive | help
Due to some underlying dependance of the linker on the previous behavior, the change I made to enforce command line linking has been backed out. This should (hopefully?) fix the problems people were having with C++ programs. However, it should be noted that as it stands currently, if you define a symbol in a static library it will be preferred over the version that exists in a shared library, even if it precedes it on the link line. For example, if you link a program with against -lcompat(static by default) and -lgnuregex(shared by default), as the code is now the regex routines will be pulled from the static library and not the shared library since they both define symbols from regex and friends. I'm hoping to change this behavior, but in the mean-time be aware of this 'feature' of the linker, and if you see any weird behavior in your binaries or are concerned, you're best bet is to compile the program completely static which avoids these problems. On a not so positive note, this change doesn't appear to fix the problems folks are having with Lites. This seems to be a dependance on changes that were made to the run-time loader, and I'm hoping to track this whole mess down as time permits. Nate
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199504070524.XAA06417>