Summary: * arm-linux-gnueabihf and multilib support for linaro toolchain. * Code size benchmark analysis.
Details: 1. arm-linux-gnueabihf support for linaro toolchain * Update gcc, libgcc and libstdc++ config to support the triplet. * Update build scripts to gnueabihf. * Add sample config for gnueabihf. 2. Multilib support for linaro toolchain * Merge Terry's multilib patches (http://gcc.gnu.org/ml/gcc-patches/2012-04/msg00975.html http://gcc.gnu.org/ml/gcc-patches/2012-05/msg00083.html) and revise them for linaro. * Update gcc.c and incpath.c to make multiarch and multilib work together. * libgcc for armv4t (-mfloat-abi=soft) build fail: ld: error: armv4t/libgcc_s.so.1.tmp uses VFP register arguments, ... does not. Root cause: crt*.o from precise sysroot use VFP_args, while other objects are built with -mfloat-abi=soft. We need additional crt*.o to build libgcc for armv4t. 3. Code size regression analysis We find more regression cases introduced by ivopt and loop invariant.
Plans: * Investigate other code size regressions in 4.7. * Finalize the arm-linux-gnueabihf and multilib support for linaro toolchain.
Best regards! -Zhenqiang