From owner-cvs-all Sat Oct 10 05:14:13 1998 Return-Path: Received: (from daemon@localhost) by hub.freebsd.org (8.8.8/8.8.8) id FAA00555 for cvs-all-outgoing; Sat, 10 Oct 1998 05:14:13 -0700 (PDT) (envelope-from owner-cvs-all) Received: from ceia.nordier.com (slip139-92-122-84.joh.za.ibm.net [139.92.122.84]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id FAA00529; Sat, 10 Oct 1998 05:13:48 -0700 (PDT) (envelope-from rnordier@nordier.com) Received: (from rnordier@localhost) by ceia.nordier.com (8.8.7/8.6.12) id NAA13349; Sat, 10 Oct 1998 13:42:59 +0200 (SAT) From: Robert Nordier Message-Id: <199810101142.NAA13349@ceia.nordier.com> Subject: Re: cvs commit: src/sys/boot/i386 Makefile In-Reply-To: <199810101130.VAA27035@godzilla.zeta.org.au> from Bruce Evans at "Oct 10, 98 09:30:30 pm" To: bde@zeta.org.au (Bruce Evans) Date: Sat, 10 Oct 1998 13:42:56 +0200 (SAT) Cc: bde@zeta.org.au, rnordier@nordier.com, committers@FreeBSD.ORG, peter@netplex.com.au, rnordier@FreeBSD.ORG, skynyrd@opus.cts.cwu.edu X-Mailer: ELM [version 2.4ME+ PL31 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-cvs-all@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Bruce Evans wrote: > >Any advice regarding the new /sys/boot/i386 stuff? > > LKMs just use an -aout override in CFLAGS. This has problems for > libraries (see other mail), but LKMs don't use libraries (module some > bugs with utilities used to build LKMs). Your boot stuff (btx) doesn't > use libraries either, so a simple override should work for it. > > >None of these programs are FreeBSD hosted, so I'm not entirely sure > >what OBJFORMAT really means in this context. All the stuff prefers > >to compile as ELF. As a final step, btxld(8) outputs a "package" in > > The legacy build stuff tends to build things twice, first as elf and > then as aout. You should probably force elf if you really want that. > Building twice is just a pessimization. I think it's a bug for > boot stuff to be left unbuilt just because its preferred OBJFORMAT > doesn't match the current one. Agreed. I introduced the .ifdef just to stop make worlds breaking, rather than introduce a half-baked fix of my own into /usr/src/Makefile*. > >Does OBJFORMAT=aout mean: > > > > o Compile these files using the aout toolchain (in which case > > make world should *not* force OBJFORMAT=aout when invoking > > /sys/boot/i386) > > > > o Produce an aout binary (in which case, it seems we should > > pass the OBJFORMAT setting to btxld only, and force it to > > elf elsewhere, presumably using Makefile.inc) > > It means the former, but it's hard to produced an aout binary without > using aut tools. Yes. The BTX stuff is unusual in that btxld actually does that without toolchain support. > `make world' essentially builds everything with > the default OBJFORMAT, and then if the default is elf it builds some > things with OBJFORMAT=aout. There is no confict in the obj directories > since they are in separate trees, but installation may replace the elf > versions by the aout versions. Clobbering at install time should be > easy to detect using > > INSTALL='install -C -D' make -ss installworld That helps: thanks. -- Robert Nordier