On Fri, Jul 02, 2010, Marcin Juszkiewicz wrote:
I am familiar with the existing cross-build mechanisms as used in the emdebian toolchains and the buildcross tool we use to build them. But it looks to me like you have moved stuff around and changed targets and things and I would like the high level view on what is changed and why.
FWIW, the high-level view is in the blueprint; I think it even got recorded at UDS. https://blueprints.launchpad.net/ubuntu/+spec/arm-m-cross-compilers https://wiki.ubuntu.com/Specs/M/ARMCrossCompilers
Also what decisions have been made about using existing or sysroot or multiarch paths or some combination of those in default search paths.
I did not changed any of those.
So on this topic: https://bugs.launchpad.net/gcc-linaro/+bug/598389
I am not exactly sure which source Peter used for his cross-compiler. Perhaps affects Marcin's packaging as well, or maybe not.
In the end, I think the cross-compiler should look in the sysroot, and /usr/$triplet should be the default sysroot.
Has any progress been made on making it easier to set the default cpu build options without building a whole new toolchain?
Not that I know.
I dont think that makes much sense. If you change the ABI in anyway, you want your libgcc1 to pick that up; for instance if you built an armv7 cross-compilers and you would like it to target armv5, it wont work unless you rebuild libgcc1, and even if it works in the other direction you want to rebuild libgcc1 to benefit from it.
There are case which allows not to rebuild such as changing from -O2 to -O3/Os, or adding some -fflags, or adding a different -mtune=foo. I'd still rebuild libgcc1 if I were to change that, but you could in theory use something like hardening-wrapper in your buildd chroot to set any flags you like.