"Cross" building for same architecture, different CPUTYPE
Marek Zarychta
zarychtam at plan-b.pwste.edu.pl
Mon Mar 5 16:56:43 UTC 2018
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 at freebsd.org
> > <mailto:dim at 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 at 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 at 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
More information about the freebsd-stable
mailing list