Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 05 Nov 2000 14:07:36 -0800
From:      Marcel Moolenaar <marcel@cup.hp.com>
To:        arch@FreeBSD.org
Subject:   source upgrading: bootstrap library
Message-ID:  <3A05DA28.DE3EE486@cup.hp.com>

next in thread | raw e-mail | index | archive | help
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3A05DA28.DE3EE486>