From owner-freebsd-current Thu Jul 27 12:54:20 1995 Return-Path: current-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id MAA04101 for current-outgoing; Thu, 27 Jul 1995 12:54:20 -0700 Received: from cs.weber.edu (cs.weber.edu [137.190.16.16]) by freefall.cdrom.com (8.6.11/8.6.6) with SMTP id MAA04090 for ; Thu, 27 Jul 1995 12:54:18 -0700 Received: by cs.weber.edu (4.1/SMI-4.1.1) id AA13760; Thu, 27 Jul 95 13:46:03 MDT From: terry@cs.weber.edu (Terry Lambert) Message-Id: <9507271946.AA13760@cs.weber.edu> Subject: Re: ls_length in struct linker_set To: wollman@halloran-eldar.lcs.mit.edu (Garrett Wollman) Date: Thu, 27 Jul 95 13:46:03 MDT Cc: esser@zpr.uni-koeln.de, current@freebsd.org In-Reply-To: <9507271754.AA10540@halloran-eldar.lcs.mit.edu> from "Garrett Wollman" at Jul 27, 95 01:54:03 pm X-Mailer: ELM [version 2.4dev PL52] Sender: current-owner@freebsd.org Precedence: bulk > > Consider that most of the items that get "linker sets" have manifest > > constant kernel options to get them in in the first place. > > The entire intent of my work in this area was to ELIMINATE the > manifest constants in the first place. It should be possible to add a > new static filesystem to a kernel simply by dropping in an object > module, with no recompilation necessary. Then you need to fix i386/i386/autoconf.c; I've made a healthy start in this direction. > > Then consider that you might have a non-self-hosted porting environment > > that doesn't support linker sets. 8-). > > Using whose linker? I considered this question for all of five > minutes, and concluded that it was not worth any more thought, since > anything that we do with these things can be trivially implemented > using C++ constructors, and any reasonable build environment will > provide some facility for making C++ work. IBM's AIX linker on the Motorolla Ultra PPC 604. And without C++, a linker that supports C++ mechanisms is relatively useless (unless you happen to know the magic incantations for it). Or the DEC OSF/1 linker on the Alpha 21066 box. Because even with a GNU build environment, the GNU linker fails to operate correctly. It's a porting issue. Terry Lambert terry@cs.weber.edu --- Any opinions in this posting are my own and not those of my present or previous employers.