[OE-core] [RFC] gcc-cross.inc: Add depedency on BUILD_ARCH

Khem Raj raj.khem at gmail.com
Thu Nov 24 03:37:02 UTC 2011


On Wed, Nov 23, 2011 at 7:35 PM, McClintock Matthew-B29882
<B29882 at freescale.com> wrote:
> On Wed, Nov 23, 2011 at 9:28 PM, Khem Raj <raj.khem at gmail.com> wrote:
>> On Wed, Nov 23, 2011 at 1:40 AM, Matthew McClintock <msm at freescale.com> wrote:
>>> Without some sort of dependency on the HOST arch this "fake"
>>> target package will be reused on a 32bit system even if it was
>>> built on a 64bit system.
>>>
>>> This new dependecy should prevent that from occuring.
>>>
>>> Signed-off-by: Matthew McClintock <msm at freescale.com>
>>> ---
>>> Comments? I still this this is VERY BAD since it will trigger
>>> all TARGET cache to be rebuilt just because we changed ARCH.
>>> However, it should generate working sstate-cache. Might
>>> address this issue:
>>>
>>> | checking for /home/liut/poky/build_p4080ds_release/tmp/work/ppce500mc-fsl-linux/gcc-cross-intermediate-4.6.1+svnr175454-r10/gcc-4_6-branch/build.i686-linux.powerpc-fsl-linux/./gcc/xgcc -B/home/liut/poky/build_p4080ds_release/tmp/work/ppce500mc-fsl-linux/gcc-cross-intermediate-4.6.1+svnr175454-r10/gcc-4_6-branch/build.i686-linux.powerpc-fsl-linux/./gcc/ -m32 -mhard-float  -mcpu=e500mc -isystem/home/liut/poky/build_p4080ds_release/tmp/sysroots/p4080ds/usr/include -B/home/liut/poky/build_p4080ds_release/tmp/sysroots/i686-linux/usr/powerpc-fsl-linux/bin/ -B/home/liut/poky/build_p4080ds_release/tmp/sysroots/i686-linux/usr/powerpc-fsl-linux/lib/ -isystem /home/liut/poky/build_p4080ds_release/tmp/sysroots/i686-linux/usr/powerpc-fsl-linux/include -isystem /home/liut/poky/build_p4080ds_release/tmp/sysroots/i686-linux/usr/powerpc-fsl-linux/sys-include --sysroot=/home/liut/poky/build_p4080ds_release/tmp/sysroots/p4080ds-tcbootstrap   option to accept ISO C89... none needed
>>> | checking how to run the C preprocessor... /home/liut/poky/build_p4080ds_release/tmp/work/ppce500mc-fsl-linux/gcc-cross-intermediate-4.6.1+svnr175454-r10/gcc-4_6-branch/build.i686-linux.powerpc-fsl-linux/./gcc/xgcc -B/home/liut/poky/build_p4080ds_release/tmp/work/ppce500mc-fsl-linux/gcc-cross-intermediate-4.6.1+svnr175454-r10/gcc-4_6-branch/build.i686-linux.powerpc-fsl-linux/./gcc/ -E
>>> | configure: error: in `/home/liut/poky/build_p4080ds_release/tmp/work/ppce500mc-fsl-linux/gcc-cross-intermediate-4.6.1+svnr175454-r10/gcc-4_6-branch/build.i686-linux.powerpc-fsl-linux/powerpc-fsl-linux/libgcc':
>>> | configure: error: C preprocessor "/home/liut/poky/build_p4080ds_release/tmp/work/ppce500mc-fsl-linux/gcc-cross-intermediate-4.6.1+svnr175454-r10/gcc-4_6-branch/build.i686-linux.powerpc-fsl-linux/./gcc/xgcc -B/home/liut/poky/build_p4080ds_release/tmp/work/ppce500mc-fsl-linux/gcc-cross-intermediate-4.6.1+svnr175454-r10/gcc-4_6-branch/build.i686-linux.powerpc-fsl-linux/./gcc/ -E" fails sanity check
>>> | See `config.log' for more details.
>>> | make[1]: *** [configure-target-libgcc] Error 1
>>> | make[1]: Leaving directory `/home/liut/poky/build_p4080ds_release/tmp/work/ppce500mc-fsl-linux/gcc-cross-intermediate-4.6.1+svnr175454-r10/gcc-4_6-branch/build.i686-linux.powerpc-fsl-linux'
>>> | make: *** [all] Error 2
>>> | ERROR: oe_runmake failed
>>> | ERROR: Function 'do_compile' failed (see /home/liut/poky/build_p4080ds_release/tmp/work/ppce500mc-fsl-linux/gcc-cross-intermediate-4.6.1+svnr175454-r10/temp/log.do_compile.27393 for further information)
>>>
>>>  meta/recipes-devtools/gcc/gcc-4.6.inc   |    2 +-
>>>  meta/recipes-devtools/gcc/gcc-cross.inc |   11 +++++++++++
>>>  2 files changed, 12 insertions(+), 1 deletions(-)
>>>
>>> diff --git a/meta/recipes-devtools/gcc/gcc-4.6.inc b/meta/recipes-devtools/gcc/gcc-4.6.inc
>>> index f7bcf30..ee42fa7 100644
>>> --- a/meta/recipes-devtools/gcc/gcc-4.6.inc
>>> +++ b/meta/recipes-devtools/gcc/gcc-4.6.inc
>>> @@ -1,6 +1,6 @@
>>>  require gcc-common.inc
>>>
>>> -PR = "r10"
>>> +PR = "r11"
>>>
>>>  # Third digit in PV should be incremented after a minor release
>>>  # happens from this branch on gcc e.g. currently its 4.6.0
>>> diff --git a/meta/recipes-devtools/gcc/gcc-cross.inc b/meta/recipes-devtools/gcc/gcc-cross.inc
>>> index 5a796bc..9f6d6ad 100644
>>> --- a/meta/recipes-devtools/gcc/gcc-cross.inc
>>> +++ b/meta/recipes-devtools/gcc/gcc-cross.inc
>>> @@ -10,3 +10,14 @@ do_compile () {
>>>        oe_runmake all-host all-target-libgcc
>>>  }
>>>
>>> +# gcc-cross is special since it builds a HOST binary on
>>> +# as a TARGET recipe. This is a hack to pull in the
>>> +# BUILD_ARCH to the recipe so the sstate-cache is
>>> +# different if the HOST ARCH has changed. By expanding
>>> +# right now we assure it's going to be in the sig
>>> +BUILD_ARCH_EXPANDED := "${BUILD_ARCH}"
>>> +
>>> +# we also add this to the PV so its clear in filenames
>>> +# that this is arch specific even though it's labeled as
>>> +# a target package
>>> +PV .= "+${BUILD_ARCH_EXPANDED}"
>>> --
>>> 1.7.6.1
>>>
>>
>> isnt BUILD_ARCH in signature
>
> This is a TARGET recipe, so it should *not* be right?

no this is a cross recipe.

By doing what is
> above I've added it. Although I habe not  extensively tested this
> modification...
>
> -M
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>




More information about the Openembedded-core mailing list