From owner-freebsd-arch Sun Nov 5 14: 7:42 2000 Delivered-To: freebsd-arch@freebsd.org Received: from palrel1.hp.com (palrel1.hp.com [156.153.255.242]) by hub.freebsd.org (Postfix) with ESMTP id 714C237B4CF for ; Sun, 5 Nov 2000 14:07:40 -0800 (PST) Received: from adlmail.cup.hp.com (adlmail.cup.hp.com [15.0.100.30]) by palrel1.hp.com (Postfix) with ESMTP id F199FF20 for ; Sun, 5 Nov 2000 14:07:39 -0800 (PST) Received: from cup.hp.com (p1000180.nsr.hp.com [15.109.0.180]) by adlmail.cup.hp.com (8.9.3 (PHNE_18546)/8.9.3 SMKit7.02) with ESMTP id OAA26056 for ; Sun, 5 Nov 2000 14:07:39 -0800 (PST) Message-ID: <3A05DA28.DE3EE486@cup.hp.com> Date: Sun, 05 Nov 2000 14:07:36 -0800 From: Marcel Moolenaar Organization: Hewlett-Packard X-Mailer: Mozilla 4.73 [en] (X11; U; Linux 2.2.12 i386) X-Accept-Language: en MIME-Version: 1.0 To: arch@FreeBSD.org Subject: source upgrading: bootstrap library Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Hi, When source upgrading, we seem to hit the problem of missing functions/syscalls more often. The problem in general is this: When we maintain our sources and/or update our contributed sources, we use functions that exist on the system at that moment. The mkstemps functions are a good example. When we try to build the sources on an older machine (when upgrading for example) those "new" functions may not be present. This breaks the build and the upgrade path which currently is broken in a number of cases. There are multiple ways to solve (avoid) this. One way is is handling each case seperately, as is currently done for gcc. We build a FreeBSD specific library for gcc that contains functions we need to be backward compatible (see /usr/src/gnu/usr.bin/cc/cc_fbsd). We have a similar problem with libiberty and just recently with perl. Another approach is to build a bootstrap library as part of the bootstrap phase and have it contain any and all functions or compatibility shims we need to be able to upgrade. All bootstrap, build and cross- tools are to be linked against this library (in such a way that existing functions are used). I tend to favor the latter and plan to implement it. Let me know if you have any objections, alternatives, additions or questions. -- Marcel Moolenaar mail: marcel@cup.hp.com / marcel@FreeBSD.org tel: (408) 447-4222 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message