On Thu, 2015-12-03 at 15:03 -0800, Jianxun Zhang wrote: > For a bare-bone kernel recipe which specifies 32 bit x86 target, > a 64 bit .config will be generated from do_configure task when > building 32-bit qemux86, once all of these conditions are true: > > () arch of host is x86_64 > () kernel source tree used in build has commit ffee0de41 which > actually chooses i386 or x86_64 defconfig by asking host arch if > ARCH is "x86" (arch/x86/Makefile) > () bare-bone kernel recipe inherits directly from kernel without > other special treatment > > Build will fail in this case because of the mismatched architecture > of kernel image after compiling. > > The patch sets ARCH i386 or x86_64 explicitly to configure > task to avoid this host contamination. > Just to be clear about this, it does not change the TUNE_ARCH, the ARCH that is set is local to the kernel-arch.bbclass.
This should also be a candidate for backport to Jethro Sau! > Signed-off-by: Jianxun Zhang <[email protected]> > --- > meta/classes/kernel-arch.bbclass | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/meta/classes/kernel-arch.bbclass b/meta/classes/kernel- > arch.bbclass > index 3ed5986..d8b180e 100644 > --- a/meta/classes/kernel-arch.bbclass > +++ b/meta/classes/kernel-arch.bbclass > @@ -21,7 +21,9 @@ def map_kernel_arch(a, d): > > valid_archs = d.getVar('valid_archs', True).split() > > - if re.match('(i.86|athlon|x86.64)$', a): return 'x86' > + if re.match('i.86$', a): return 'i386' > + elif re.match('x86.64$', a): return 'x86_64' > + elif re.match('athlon$', a): return 'x86' > elif re.match('armeb$', a): return 'arm' > elif re.match('aarch64$', a): return 'arm64' > elif re.match('aarch64_be$', a): return 'arm64' > -- > 1.9.1 > -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
