A lot of churn was observed when multiple MACHINEs are sharing a identical build directory, when these MACHINEs are defining different TARGET_* variables (TARGET_CFLAGS, TARGET_CPPFLAGS, TARGET_CXXFLAGS, TARGET_LDFLAGS). How to reproduce: 1 Create two IMX51 machine conf file. 2 Define different TARGET_* flags in them. 3 Let them share a identical build directory. 4 run bitbake core-image-minimal You will see the binutils-cross-arm, gcc-cross-arm-* will rebuild every time when you switch the machine and build.
Patch sent to ML: http://lists.openembedded.org/pipermail/openembedded-core/2017-April/135285.html But it somehow broke the nightly build: https://autobuilder.yocto.io/builders/nightly-x86-lsb/builds/232/steps/BuildImages/logs/stdio https://autobuilder.yocto.io/builders/nightly-arm/builds/281/steps/BuildImages/logs/stdio So only consider merge them after those issues are fixed.
Fixed in oe-core 767335c92b7cc657a008722a908380a3c89c3c66.