Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Dec 2010 08:02:21 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-hackers@freebsd.org
Cc:        Alexander Best <arundel@freebsd.org>, Garrett Cooper <gcooper@freebsd.org>
Subject:   Re: getting rid of some -mno-* flags under sys/boot
Message-ID:  <201012200802.21334.jhb@freebsd.org>
In-Reply-To: <AANLkTimbAzukEahttm9mtQDFtvwN8aEc=RjMVVMqq2n0@mail.gmail.com>
References:  <20101219112356.GA18388@freebsd.org> <AANLkTimbAzukEahttm9mtQDFtvwN8aEc=RjMVVMqq2n0@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sunday, December 19, 2010 12:42:01 pm Garrett Cooper wrote:
> On Sun, Dec 19, 2010 at 3:23 AM, Alexander Best <arundel@freebsd.org> wrote:
> > hi there,
> >
> > i think some of the -mno-* flags in sys/boot/* can be scrubbed, since they're
> > already being included from ../Makefile.inc.
> 
>     Looks good.
> 
> > also TARGET cleandir leaves some files behind in i386/gptboot which should be
> > fixed by this patch.
> 
>     AHA. This might fix the issue I've seen rebuilding stuff with
> gptzfsboot for a good while now where I have to (on mostly rare
> occasions with -j24, etc typically after updating my source tree)
> rebuild it manually. gptzfsboot and zfsboot also need the fix, BTW.
> The only thing is that these files live under the common directory, so
> shouldn't common clean them up (I see that common doesn't have a
> Makefile though, only a Makefile.inc -- ouch)?
>     FWIW though, wouldn't it be better to avoid this accidental bug
> and unnecessary duplication by doing something like the following?
> 
> # ...
> 
> OBJS=    zfsboot.o sio.o gpt.o drv.o cons.o util.o
> CLEANFILES+= gptzfsboot.out ${OBJS}
> 
> gptzfsboot.out: ${BTXCRT} ${OBJS}
> # ...

Yes, an OBJS would be good.  Also, gptboot.c was recently changed to not
#include ufsread.c, so that explicit dependency can be removed, as can the
GPTBOOT_UFS variable.

Similar fixes probably apply to gptzfsboot.

BTW, the code in common/ is not built into a library, but specific boot
programs (typically /boot/loader on different platforms) include specific
objects.

-- 
John Baldwin



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