On 23/08/2016 15:41, Bruce Ashfield wrote:


On Tue, Aug 23, 2016 at 9:36 AM, Bruce Ashfield <bruce.ashfi...@gmail.com <mailto:bruce.ashfi...@gmail.com>> wrote:

    On Tue, Aug 23, 2016 at 3:25 AM, Jérémy Rosen
    <jeremy.ro...@smile.fr <mailto:jeremy.ro...@smile.fr>> wrote:

        The KConfig infrastructure hardwires the compiler name to gcc,
        which breaks
        the BUILD_CC feature. This is needed even when cross compiling
        because
        make *config rely on the kconfig infrastructure


    Can you elaborate ? I'm not aware of any issues with either the
    host builds or
    target builds with the kernel.


Aha. I found the 0/N for the series.

And my answer is still the same. These belong upstream, and since the kernel is fairly picky about the compiler and compiler versions, I don't see a pressing need to carry
something like this until it makes it into the mainline kernel.

My answer to 'can't assume the name of gcc', is to make sure that your environment and path is fully understood, and make your compiler available as 'gcc', versus trying
to patch multiple recipes.

Ok, my 0/N maybe was not as clear as I hoped. I don't want to compile without a gcc binary. I want to make sure that when I set BUILD_* to a specific version of gcc (gcc-5 in my case) only that version of the compiler can be used.

As pointed, jethro can only be compiled on a machine where the default compiler is gcc-5. Having gcc-5 installed is not enough, it needs to be default. The BUILD_* feature was meant to prevent that, i'm just fixing it

As I have stated elsewhere, I am upstreaming the patches in parlallel (only the glibc patch is left at this point, since I found a way to drop the kconfig ones) hopefully I will be able to add the "submitted upstream" tag on V2.

In the meantime, I mainly wanted comments on the approch and I was wondering how to makes sure some sort of autmated QA test could detect that sort of problems.

Hope this helps
Jeremy


Cheers,

Bruce


    If there's an issue, we need to fix it upstream .. not here.

        ---
         meta/recipes-kernel/linux/linux-yocto.inc              |  4 ++++
         
meta/recipes-kernel/linux/linux-yocto/0001-Allow-overriding-host-compiler-name-from-environment.patch
        | 32 ++++++++++++++++++++++++++++++++
         2 files changed, 36 insertions(+), 0 deletions(-)
         create mode 100644
        
meta/recipes-kernel/linux/linux-yocto/0001-Allow-overriding-host-compiler-name-from-environment.patch

        diff --git a/meta/recipes-kernel/linux/linux-yocto.inc
        b/meta/recipes-kernel/linux/linux-yocto.inc
        index 98a48ec..63c1531 100644
        --- a/meta/recipes-kernel/linux/linux-yocto.inc
        +++ b/meta/recipes-kernel/linux/linux-yocto.inc
        @@ -58,3 +58,7 @@ do_install_append(){
         addtask kernel_link_images after do_compile before do_install
         addtask validate_branches before do_patch after
        do_kernel_checkout
         addtask kernel_configcheck after do_configure before do_compile
        +
        +SRC_URI_append = "
        file://0001-Allow-overriding-host-compiler-name-from-environment.patch"


    We don't carry patches to linux-yocto like this, they are sent to
    the linux-yocto mailing list, and
    integrated into the tree itself.

    Bruce

        +export HOSTCC = "${BUILD_CC}"
        +export HOSTCXX = "${BUILD_CXX}"
        diff --git
        
a/meta/recipes-kernel/linux/linux-yocto/0001-Allow-overriding-host-compiler-name-from-environment.patch
        b/meta/recipes-kernel/linux/linux-

        yocto/0001-Allow-overriding-host-compiler-name-from-environment.patch
        new file mode 100644
        index 0000000..6fcfbc8
        --- /dev/null
        +++
        
b/meta/recipes-kernel/linux/linux-yocto/0001-Allow-overriding-host-compiler-name-from-environment.patch
        @@ -0,0 +1,32 @@
        +From 0ce4c4f29b5d456a7707e870c7affe524f7c8807 Mon Sep 17
        00:00:00 2001
        +From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Rosen?=
        <jeremy.ro...@smile.fr <mailto:jeremy.ro...@smile.fr>>
        +Date: Tue, 16 Aug 2016 22:39:29 +0200
        +Subject: [PATCH] Allow overriding host-compiler name from
        environment
        + variables
        +
        +---
        + Makefile | 8 ++++----
        + 1 file changed, 4 insertions(+), 4 deletions(-)
        +
        +diff --git a/Makefile b/Makefile
        +index 70dea02..1f0d2d2 100644
        +--- a/Makefile
        ++++ b/Makefile
        +@@ -295,10 +295,10 @@ CONFIG_SHELL := $(shell if [ -x
        "$$BASH" ]; then echo $$BASH; \
        +         else if [ -x /bin/bash ]; then echo /bin/bash; \
        +         else echo sh; fi ; fi)
        +
        +-HOSTCC       = gcc
        +-HOSTCXX      = g++
        +-HOSTCFLAGS   = -Wall -Wmissing-prototypes
        -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89
        +-HOSTCXXFLAGS = -O2
        ++HOSTCC       ?= gcc
        ++HOSTCXX      ?= g++
        ++HOSTCFLAGS   ?= -Wall -Wmissing-prototypes
        -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89
        ++HOSTCXXFLAGS ?= -O2
        +
        + ifeq ($(shell $(HOSTCC) -v 2>&1 | grep -c "clang version"), 1)
        + HOSTCFLAGS  += -Wno-unused-value -Wno-unused-parameter \
        +--
        +2.8.1
        +
        --
        git-series 0.8.9
        --
        _______________________________________________
        Openembedded-core mailing list
        Openembedded-core@lists.openembedded.org
        <mailto:Openembedded-core@lists.openembedded.org>
        http://lists.openembedded.org/mailman/listinfo/openembedded-core
        <http://lists.openembedded.org/mailman/listinfo/openembedded-core>




-- "Thou shalt not follow the NULL pointer, for chaos and madness
    await thee at its end"




--
"Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end"

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to