This reverts commit
8d310b24927d0f348fb431895f0583733db2aad0.
That commit completely breaks KBUILD_DEFCONFIG because it relies on
$ARCH to match between the target OE arch and the kernel subdirectory
containing the defconfigs. In the kernel all defconfigs for everything
x86-based (including x86_64) is stored in dir arch/x86/configs/
kernel-yocto.bbclass correctly searches for all the defconfigs inside
${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG}
Commit
8d310b249 makes it search in wrong places and _only_ if you
define TARGET_ARCH = "athlon" will it search x86 which is nonsensical.
The commit further adds an if clause to hack the mungled kernel arches
back to their original values (ugh) in do_shared_workdir which is run
after do compile, but of course the build breaks before that in
do_kernel_metadata because of the KBUILD_DEFCONFIG mentioned above (so
that hack is useless).
Please fix that corner case bug in another way which does not completely
screw up the kernel arch mapping & defconfig logic. If 64bit configs are
generated in the kernel for 32bit machines because the host is asked,
then it it a bug in the kernel, it is of no use to hack around it in OE.
Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
valid_archs = d.getVar('valid_archs', True).split()
- if re.match('i.86$', a): return 'i386'
- elif re.match('x86.64$', a): return 'x86_64'
- elif re.match('athlon$', a): return 'x86'
+ if re.match('(i.86|athlon|x86.64)$', 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'
cp -fR include/generated/* $kerneldir/include/generated/
fi
- # When ARCH is set to i386 or x86_64, we need to map ARCH to the real name of src
- # dir (x86) under arch/ of kenrel tree, so that we can find correct source to copy.
-
- if [ "${ARCH}" = "i386" ] || [ "${ARCH}" = "x86_64" ]; then
- KERNEL_SRCARCH=x86
- else
- KERNEL_SRCARCH=${ARCH}
- fi
-
- if [ -d arch/${KERNEL_SRCARCH}/include/generated ]; then
- mkdir -p $kerneldir/arch/${KERNEL_SRCARCH}/include/generated/
- cp -fR arch/${KERNEL_SRCARCH}/include/generated/* $kerneldir/arch/${KERNEL_SRCARCH}/include/generated/
+ if [ -d arch/${ARCH}/include/generated ]; then
+ mkdir -p $kerneldir/arch/${ARCH}/include/generated/
+ cp -fR arch/${ARCH}/include/generated/* $kerneldir/arch/${ARCH}/include/generated/
fi
}