diff options
author | Ioan-Adrian Ratiu <adrian.ratiu@ni.com> | 2016-02-02 11:01:56 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-02-04 23:39:02 +0000 |
commit | 3fa1c54a698719d51b0610e97557b10c3b8630db (patch) | |
tree | 05a66c117451fb63cb08d830cb85c83b015644ad /meta/classes/kernel.bbclass | |
parent | 0b82af2aed4fb9ebd85ffae1b539161c489259a7 (diff) | |
download | poky-3fa1c54a698719d51b0610e97557b10c3b8630db.tar.gz |
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 <adrian.ratiu@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/kernel.bbclass')
-rw-r--r-- | meta/classes/kernel.bbclass | 15 |
1 files changed, 3 insertions, 12 deletions
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 () { | |||
317 | cp -fR include/generated/* $kerneldir/include/generated/ | 317 | cp -fR include/generated/* $kerneldir/include/generated/ |
318 | fi | 318 | fi |
319 | 319 | ||
320 | # When ARCH is set to i386 or x86_64, we need to map ARCH to the real name of src | 320 | if [ -d arch/${ARCH}/include/generated ]; then |
321 | # dir (x86) under arch/ of kenrel tree, so that we can find correct source to copy. | 321 | mkdir -p $kerneldir/arch/${ARCH}/include/generated/ |
322 | 322 | cp -fR arch/${ARCH}/include/generated/* $kerneldir/arch/${ARCH}/include/generated/ | |
323 | if [ "${ARCH}" = "i386" ] || [ "${ARCH}" = "x86_64" ]; then | ||
324 | KERNEL_SRCARCH=x86 | ||
325 | else | ||
326 | KERNEL_SRCARCH=${ARCH} | ||
327 | fi | ||
328 | |||
329 | if [ -d arch/${KERNEL_SRCARCH}/include/generated ]; then | ||
330 | mkdir -p $kerneldir/arch/${KERNEL_SRCARCH}/include/generated/ | ||
331 | cp -fR arch/${KERNEL_SRCARCH}/include/generated/* $kerneldir/arch/${KERNEL_SRCARCH}/include/generated/ | ||
332 | fi | 323 | fi |
333 | } | 324 | } |
334 | 325 | ||