[OE-core] [PATCH] native.bbclass: Override TARGET_ flags too

Mike Crowe mac at mcrowe.com
Wed Apr 16 10:07:26 UTC 2014


On Wednesday 16 April 2014 at 10:59:27 +0100, Paul Eggleton wrote:
> On Wednesday 16 April 2014 10:53:59 Mike Crowe wrote:
> > On Wednesday 16 April 2014 at 10:49:48 +0100, Paul Eggleton wrote:
> > > On Wednesday 16 April 2014 10:31:36 Mike Crowe wrote:
> > > > TARGET_LDFLAGS is currently defined in bitbake.conf to contain
> > > > ${TARGET_LINK_HASH_STYLE} which differs between MIPS and other
> > > > targets. Since TARGET_LDFLAGS is an exported variable it affects the
> > > > hash
> > > > of every shell task even if it is not used.
> > > > 
> > > > We don't want native recipe tasks to have different hashes purely
> > > > because
> > > > they happen to have been built in order to satisfy dependencies for
> > > > different MACHINEs since this causes lots of churn in the native sysroot
> > > > when switching between MACHINEs.
> > > > 
> > > > Making native.bbclass override TARGET_LDFLAGS to use BUILD_LDFLAGS
> > > > ensures
> > > > consistent hashes and is a sensible thing to be doing anyway.
> > > 
> > > Just to be clear, for a native recipe how is TARGET_LDFLAGS entering the
> > > signatures? AIUI there ought to be indirection such that LDFLAGS is used
> > > and that is set from BUILD_LDFLAGS for a native recipe rather than
> > > TARGET_LDFLAGS.
> > 
> > Because TARGET_LDFLAGS is an exported variable. LDFLAGS is set from
> > TARGET_LDFLAGS but (prior to this patch) only LDFLAGS is set to
> > BUILD_LDFLAGS; TARGET_LDFLAGS remains unchanged.
> > 
> > See thread "export TARGET_LDFLAGS and native sstate"
> > <20140407155333.GA19351 at mcrowe.com> .
> > 
> > Should I improve the commit message?
> 
> Sorry, I had missed the other thread. If it's exported then we probably do 
> need it to have the correct value.
> 
> Since this doesn't look like something recent though I'd like to understand 
> why it being effectively wrong hasn't been an issue up to this point.

Perhaps few people are building in the same source tree for both MIPS and
non-MIPS. I don't think you'd notice otherwise.

Even then we only noticed because it seems to be a good way provoke races
in building whilst unpopulating the sysroot (e.g. my recent fix for
cmake-native vs libacl.)

Thanks.

Mike.



More information about the Openembedded-core mailing list