Date: Mon, 3 Dec 2018 12:18:33 -0700 From: Warner Losh <imp@bsdimp.com> To: Yuri Pankov <yuripv@yuripv.net> Cc: Baptiste Daroussin <bapt@freebsd.org>, FreeBSD Current <freebsd-current@freebsd.org> Subject: Re: WITH_CTF breaks CD loader: "File too big" Message-ID: <CANCZdfrFbwmaLAKcMc8Zq2iypGAM0jxxGX%2Bs2%2Bh%2B3cUCGhEGOw@mail.gmail.com> In-Reply-To: <a7ec7948-1442-ef92-d38e-292171018239@yuripv.net> References: <6e53765f-52bd-f503-c1a5-ae23e402afcb@yuripv.net> <20181203072226.mpvh7an5pupjbwkb@ivaldir.net> <CANCZdfojEB2ge7=L51ZhT8P4igY9UiCx=aFUcZFCZOUdDdQFjg@mail.gmail.com> <CANCZdfpN6SSRBMFt3SnxDRKz=cNUmtYmJimJAGHtB%2BqZZuNhYw@mail.gmail.com> <51d0fa8c-b453-69e0-500e-32818d29826a@yuripv.net> <cb28f786-c6ad-930b-6f1a-03e9ab636a79@yuripv.net> <CANCZdfpup0VuT0p9ZYyv7rx_OzS-DOaT=eyoEq2mKecjBhj_QQ@mail.gmail.com> <a7ec7948-1442-ef92-d38e-292171018239@yuripv.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Dec 3, 2018 at 11:14 AM Yuri Pankov <yuripv@yuripv.net> wrote: > Warner Losh wrote: > > On Mon, Dec 3, 2018 at 9:56 AM Yuri Pankov <yuripv@yuripv.net> wrote: > > > >> Yuri Pankov wrote: > >>> Warner Losh wrote: > >>>> On Mon, Dec 3, 2018 at 8:10 AM Warner Losh <imp@bsdimp.com> wrote: > >>>> > >>>>> > >>>>> On Mon, Dec 3, 2018 at 12:24 AM Baptiste Daroussin <bapt@freebsd.org > > > >>>>> wrote: > >>>>> > >>>>>> On Sun, Dec 02, 2018 at 06:08:34PM +0300, Yuri Pankov wrote: > >>>>>>> Hi, > >>>>>>> > >>>>>>> Building disc1.iso using `make release` and having WITH_CTF set in > >>>>>>> src.conf leads to "File too big" displayed when booting the image. > >>>>>>> > >>>>>>> Would it make sense to build loader and related parts without CTF > >>>>>>> unconditionally as it doesn't look useful there? > >>>>>>> > >>>>>> > >>>>>> Fully agree with you > >>>>>> > >>>>> > >>>>> What a great Idea. We already turn it off in defs.mk: > >>> > >>> Sorry about that, I incorrectly assumed it wasn't done yet as there was > >>> a difference for me. > >>> > >>>>> MK_CTF= no > >>>>> > >>>>> which should be global to every single Makefile under stand. I'm not > >> sure > >>>>> why that's turning it back on. > >>>>> > >>>> > >>>> % cat /etc/src.conf > >>>> WITH_CTF=yes > >>>> FRED=present > >>>> % cd stand/cdboot > >>>> % make -V MK_CTF > >>>> no > >>>> % make -V FRED > >>>> present > >>>> % > >>>> > >>>> So this sure sounds like a false positive to me. Do you have logs > >> showing > >>>> cdboot building with MK_CTF=yes? > >>> > >>> Diff'ing the log for src/stand w/o and with -DWITH_CTF shows a lot of > >>> ctfconvert calls in the latter case. Attached is the diff of binary > >>> sizes in obj/ for stand/i386; could one of those be the problem I'm > >> seeing? > >> > >> If ctfconvert calls are indeed the source of problem, then something > >> seems to be wrong here (I didn't mention the "cdboot" binary exactly, > >> rather the binary it's trying to load): > >> > >> yuripv:~/ws/ctf/stand/i386/loader$ make -V MK_CTF -V CTFCONVERT_CMD > >> no > >> > >> yuripv:~/ws/ctf/stand/i386/loader$ make -DWITH_CTF -V MK_CTF -V > >> CTFCONVERT_CMD > >> no > >> ctfconvert -L VERSION ${.TARGET} > >> > > > > Ding! We have a winner: order of operations not quite right. We included > > src.opts.mk which includes bsd.own.mk which defines CTFCONVERT_CMD and > then > > we change the MK_CTF value which has no effect. Unlike the lazy > evaluation > > in makefile rules, where the last one wins, when we're parsing stuff for > > .if, it's the current value that's used. The solution is to include > > src.opts.mk later after we set the MK_foo overrides. > > > > r341433 should fix that. > > Thank you. > Please give it a spin and let me know if we're golden. I'll MFC it then since this should be in 12.1. Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfrFbwmaLAKcMc8Zq2iypGAM0jxxGX%2Bs2%2Bh%2B3cUCGhEGOw>