Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 Mar 2018 17:47:00 +0100
From:      Marek Zarychta <zarychtam@plan-b.pwste.edu.pl>
To:        Christian Ullrich <chris@chrullrich.net>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: "Cross" building for same architecture, different CPUTYPE
Message-ID:  <20180305122207.GA37743@plan-b.pwste.edu.pl>
In-Reply-To: <f24d5c35-2afe-1c88-c197-5d16dad80633@chrullrich.net>
References:  <2126f358-c827-ecf0-109b-0488c5b155b6@chrullrich.net> <D30A88D2-6DFB-4535-8735-C71A43DEEB6B@FreeBSD.org> <CANCZdfqzZrjseYZybt%2BcDv5MLJEK5uZqtGvJCnPrLC6TNtBrJg@mail.gmail.com> <f24d5c35-2afe-1c88-c197-5d16dad80633@chrullrich.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Mar 04, 2018 at 07:32:09PM +0100, Christian Ullrich wrote:
> * Warner Losh wrote:
> 
> > On Sun, Mar 4, 2018 at 10:43 AM, Dimitry Andric <dim@freebsd.org 
> > <mailto:dim@freebsd.org>> wrote:
> > 
> >     Again, this depends on how exactly you are overriding CPUTYPE.
> > 
> > I'd suggest *NOT* setting CPUTYPE and instead using TARGET_CPUTYPE to do 
> > these sorts of things. CPUTYPE is known to only work on native builds 
> 
> Doesn't work either, sorry:
> 
> [chul@build /usr/obj/slm/usr/src/tmp/legacy/usr/bin]$ CCACHE_DISABLE=yes 
> MAKEOBJDIRPREFIX=/usr/obj/slm make TARGET_CPUTYPE=slm -j4 buildworld 
> buildkernel
> ...
> [chul@build /usr/obj/slm/usr/src/tmp/legacy/usr/bin]$ objdump -d install 
> | fgrep '(bad)' | wc -l
>      8345
> 
> This objdump (in base, "GNU objdump 2.17.50 [FreeBSD] 2007-07-03") does 
> not understand AVX, and most of the (bad)s are c4 and c5 prefixes, aka AVX.
> 
> For /usr/obj/slm/usr/src/lib/libc/libc.so.7 I get a lot of (bad), too, 
> but these seem to be instructions that the chip actually has, only the 
> old objdump does not know them.
> 
> The same happens with the TARGET_CPUTYPE in make.conf , and also if I 
> spell it "silvermont". bsd.cpu.mk turns "slm" into "silvermont", but 
> somehow it ends up as "-march=slm" on the command line again. gcc's docs 
> say "-march=silvermont", and clang is apparently notorious for not 
> providing any useful detail on what architecture variants it supports.
> 
> Should I try make release? I'm really interesting in something that will 
> bring down build time, because buildworld/buildkernel on the Atom takes 
> 24 hours without ccache and at least 8 with.

Maybe you should try to build using different make.conf(5) files for
each build? It can be improved WITH_META_MODE=YES enabled in
src-env.conf (requires loading filemon(4) first) and two differnt object
directories mounted in /usr/obj with nullfs(5). I do such crossbuilds
for some time compiling kernel and world for core2 on admfam10. Full
build of STABLE takes usually < 10 minutes on 8 years old Phenom II.

-- 
Marek Zarychta



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