From owner-freebsd-current@FreeBSD.ORG Wed Jul 5 16:18:10 2006 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 089FD16A4DF; Wed, 5 Jul 2006 16:18:10 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6D95E43D49; Wed, 5 Jul 2006 16:18:09 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [209.31.154.41]) by cyrus.watson.org (Postfix) with ESMTP id 3D46446CCF; Wed, 5 Jul 2006 12:18:07 -0400 (EDT) Date: Wed, 5 Jul 2006 17:18:07 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: John Baldwin In-Reply-To: <200607051142.28352.jhb@freebsd.org> Message-ID: <20060705171517.H18236@fledge.watson.org> References: <200607010009.09231@aldan> <20060701115508.GC8447@turion.vk2pj.dyndns.org> <200607011508.27920@aldan> <200607051142.28352.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: Peter Jeremy , freebsd-current@freebsd.org, Mikhail Teterin Subject: Re: weird limitation on the system's binutils X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Jul 2006 16:18:10 -0000 On Wed, 5 Jul 2006, John Baldwin wrote: >>> libbdf.a is built by /usr/src/gnu/usr.bin/binutils/libbfd/Makefile. That >>> should be a fairly simple change to arrange for it to build and install >>> the .so as well. >> >> Installing both libbfd-s certainly would be a good start... As things >> stand, every port needing it -- including various different compilers -- >> builds it own version. This is, largely, explained by the GNU's stupidity >> of bundling a different version with each tool (gdb, compiler), but the >> bundled bfds are not THAT incompatible, and the system-installed version >> can include the compatible superset... > > Actually, in the past this has proven quite difficult, hence the current > arrangment of various tools linking statically against their own private > copy. My recollection is that we got to where we are today precisely because the various GNU tools (gdb, gcc, etc) relied on versions of bfd "as cut" at the point where the tool revisions were released. This meant that they could not share bfd versions between tools, since tools were often released at different dates, and the versions of bfd with different tools were incompatible. The conclusion was that by statically linking the specific compatible versions into the binaries, and by not shipping a specific bfd as part of the base system, we avoided numerous compatibility issues, as well as avoided committing consumers of the system to a particular bfd revision that might be incompatible with what they want to run in the way of their own cross tools, etc. Perhaps the world has changed since that time, but those sound like pretty good reasons to me. So these are my recollections, but since I'm not an expert in our toolchain bits, I could be off in the woods somewhere. Robert N M Watson Computer Laboratory University of Cambridge