Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Oct 1998 21:30:30 +1000
From:      Bruce Evans <bde@zeta.org.au>
To:        bde@zeta.org.au, rnordier@nordier.com
Cc:        committers@FreeBSD.ORG, peter@netplex.com.au, rnordier@FreeBSD.ORG, skynyrd@opus.cts.cwu.edu
Subject:   Re: cvs commit: src/sys/boot/i386 Makefile
Message-ID:  <199810101130.VAA27035@godzilla.zeta.org.au>

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

>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.  `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

Bruce



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