From owner-freebsd-current Wed Apr 9 13:55:02 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id NAA17283 for current-outgoing; Wed, 9 Apr 1997 13:55:02 -0700 (PDT) Received: from austin.polstra.com (austin.polstra.com [206.213.73.10]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id NAA17274 for ; Wed, 9 Apr 1997 13:54:58 -0700 (PDT) Received: from austin.polstra.com (jdp@localhost) by austin.polstra.com (8.8.5/8.8.5) with ESMTP id NAA18435 for ; Wed, 9 Apr 1997 13:54:57 -0700 (PDT) Message-Id: <199704092054.NAA18435@austin.polstra.com> To: current@freebsd.org Subject: Heads up: building shared libraries Date: Wed, 09 Apr 1997 13:54:56 -0700 From: John Polstra Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Later this week, I am going to commit a change to that will eliminate the need for the CPLUSPLUSLIB variable in the makefiles for C++ shared libraries. The change will cause /usr/lib/c++rt0.o to be linked into all shared libraries, even non-C++ ones. It is essential that an up-to-date version of c++rt0.o be installed in /usr/lib before building any shared libraries using the new method. I have already committed the new version of that (src/lib/csu/i386/c++rt0.c version 1.8). The change won't cause any problems for normal "make world" runs. The top-level Makefile takes care to install an up-to-date c++rt0.o before building any shared libraries. If you manually build a new shared library using the new but the old c++rt0.o, it will cause problems. They are not compile-time or link-time errors, but rather subtle run-time errors. (Usually, messages from malloc saying that free() was called on an already-freed block.) So ... don't do that. :-) -- John Polstra jdp@polstra.com John D. Polstra & Co., Inc. Seattle, Washington USA "Self-knowledge is always bad news." -- John Barth