From 3fa1c54a698719d51b0610e97557b10c3b8630db Mon Sep 17 00:00:00 2001 From: Ioan-Adrian Ratiu Date: Tue, 2 Feb 2016 11:01:56 +0200 Subject: Revert "kernel/kernel-arch: Explicitly mapping between i386/x86_64 and x86 for kernel ARCH" 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. (From OE-Core rev: bc02a478a5d4a5de7b3943ed809d5c22711f5b1f) Signed-off-by: Ioan-Adrian Ratiu Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/classes/kernel.bbclass | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) (limited to 'meta/classes/kernel.bbclass') diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index f37affc6a9..c3eab50912 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -317,18 +317,9 @@ do_shared_workdir () { 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 } -- cgit v1.2.3-54-g00ecf