On Tue, 2012-01-17 at 03:05 +0000, Lu, Lianhao wrote:
> Richard Purdie wrote on 2012-01-17:
> > On Mon, 2012-01-16 at 19:43 +0800, Lianhao Lu wrote:
> >> [YOCTO #1555]
> >> Adding new mechanism to allow multiple gcc related recipes sharing the
> >> same src directory when using the basichash as the signature handler.
> >> 
> >> Using the same stamp file for multiple gcc related recipes to share the
> >> same src directory is no longer working when using the basichash
> >> signature.
> >> 
> >> Signed-off-by: Lianhao Lu <lianhao...@intel.com>
> >> ---
> >>  meta/recipes-devtools/gcc/gcc-common.inc |   56 
> >> ++++++++++++++++++++++++++++++
> >>  1 files changed, 56 insertions(+), 0 deletions(-)
> > 
> > Can you please check if this can be fixed by:
> > 
> > diff --git a/meta/recipes-devtools/gcc/gcc-configure-common.inc 
> > b/meta/recipes-devtools/gcc/gcc-configure-common.inc
> > index d014980..3a82720 100644
> > --- a/meta/recipes-devtools/gcc/gcc-configure-common.inc
> > +++ b/meta/recipes-devtools/gcc/gcc-configure-common.inc
> > @@ -77,6 +77,9 @@ do_headerfix () {
> > 
> >  addtask headerfix after do_unpack before do_patch
> > +CROSS_TARGET_SYS_DIR[vardepsexclude] = "PN"
> > +CROSS_TARGET_SYS_DIR[vardepvalue] = "1"
> > +
> >  do_configure_prepend () {
> >         # teach gcc to find correct target includedir when checking libc 
> > ssp support
> >         mkdir -p ${B}/gcc
> > as discussed in the "sstate info" thread?
> > 
> 
> By using this patch, gcc-cross-initial, gcc-cross-intermediate, gcc-cross 
> would have the same signatures for tasks like do_fetch, do_unpack, 
> do_headerfix, do_patch. But libgcc still has different signature with 
> gcc-cross-initial for task do_patch.
> 
> By bitbake-diffsigs the do_patch signature files between gcc-cross-initial 
> and libgcc, it says:
>   Dependency on task gcc-cross-initial_4.6.bb.do_unpack was added
>   Dependency on task gcc-cross-initial_4.6.bb.do_headerfix was added
>   Dependency on task libgcc_4.6.bb.do_unpack was removed
> 
> Besides, gcc-runtime seems have an additional patch file 
> "fortran-cross-compile-hack.patch" which was never got be used. This would 
> results all the signature difference between gcc-cross-initial and 
> gcc-runtime. After I remove that unused patch file, the signatures begin to 
> differ in  task do_headerfix and do_patch. By bitbake-diffsigs the 
> do_headerfix sigangure files between gcc-cross-initial and gcc-runtime, we 
> could see tons of variable values, variable dependencies, task dependencies 
> difference.
> 
> So I think this patch alone is not enough to solve all the problems here.

Agreed, there are further issues. The patch should really move into the
main SRC_URI which would resolve that problem. libgcc should really be
able to see the do_headerfix task so we could move that from
gcc-configure-common to gcc-common.inc.

This might not be all of the differences but should get us closer to
solving this problem!

Cheers,

Richard


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

Reply via email to