> Then I need to add a configure test for this, causing a failure if the > option is missing. A toolchain that does not support this option cannot > be used to build a reliable bare-metal image for ARM. > > FSF GCC 4.7 onwards (and some distribution-patched 4.6) support this flag. > Why? According to http://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=eb04cafba3a6f1eddbdb5ec031d8a7074930d5b9 older version simply have "implicit" -mno-unaligned-access and we support only GCC. >>> And for reasons stated above, -march= should be set to whatever your >>> target architecture is. Extracted by configure, I suppose? >> >> Hence --target-cpu=armv[67] proposal.g > > I think it is a bit overkill, since CFLAGS can cover it. > The difference is that for all other targets you can compile for the lowest supported CPU and use it for all devices with this target but if I understand correctly on armv7 you need to insert some opcodes which would cause a crash on armv6. Is only cache flushing displays such kind of backward incompatibility? Another question: I see that efi/startup.S transitions to thumb but not uboot/startup.S. Was uboot compiled as arm in your port as well or do I miss sth? > / > Leif >