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 <[email protected]>
>> ---
>>  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.

Best Regards,
Lianhao



_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to