Upon crosscompile, set optimizations for target arch, breaks compilation

rank1seeker at gmail.com rank1seeker at gmail.com
Tue Sep 27 12:17:23 UTC 2011


8.2 RELEASE
On 32bit (i386) machine(CPU: athlonxp) I crosssompile for 64bit (amd64) machine(CPU: core2duo) and it works.
But when I set optimization in make.conf:
--
CPUTYPE?=core2
CFLAGS+=-march=native
NO_CPU_CFLAGS=yes
COPTFLAGS+=-march=native
NO_CPU_COPTFLAGS=yes 
--

Results in make's vars set:
CPUTYPE: prescott
MACHINE_CPU: sse3 sse2 sse i686 mmx i586 i486 i386


Build fails with error:
--
/usr/src/gnu/lib/libgcc/../../../contrib/gcc/libgcc2.c:1: error: CPU you selected does not support x86-64 instruction set
--

Because make vars TRANSLATION was incorectly done, as it looks in running arch instead of TARGET arch!

core2 will be translated into prescott or nacona, depending on arch:
    prescott --> 32bit (i386)
    nocona   --> 64bit (amd64)

CPUTYPE was supposed to be nocona


Domagoj Smolčić


More information about the freebsd-hackers mailing list