Squashed commit of FML changes.

Optimize, optimize, optimize...

Prepare GCC 4.8 support

Suppress new warnings, enable GCC colors.

Optimizing, small fixes, etc.

+-

Automatically set these vars on envsetup.

build: Don't work around cortex-a8 issues when targeting a9 only

Don't work around cortex-a8 issues when other compiler flags
show we want to target cortex-a9 only

Change-Id: If5a077243fc15298fbcbe2ffc857b5e961dd29da
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

build: Add support for TARGET_EXTRA_C{,PP}FLAGS

Add support for setting TARGET_EXTRA_C{,PP}FLAGS in board configs.
This can be used to set compiler flags for a board that break other
boards, such as -march=cortex-a9 or -DUSE_CUSTOM_EXTENSIONS_FOR_XYZ

Change-Id: I0efd4e37578bf6d239bf56dfeeaaed44840ee3af
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

build/core: Fix build errors

- Include task hooks only if they exists
- Fix typos

Signed-off-by: Amit Pundir <amit.pundir@linaro.org>

Conflicts:
	core/legacy_prebuilts.mk

Add support for instruction set features

This adds the --instruction-set-features= arguments to the dex2oat
commands for the system images.  The feature set is determined at
build time

(cherry picked from commit 4145a2a20a0f275fe4c77e39d507cd5f8eb7a73b)

(cherry picked from commit 5174bb052986e9d90b597824a7e7b9ee2dfc8668)

Change-Id: I45af3b59752a48897bff2dd468b74f3ea73000be

Conflicts:
	envsetup.sh
Metalize build

Change-Id: I99991823c3f64a2b8c733d4231e1609a071ab6cf
Introduce Link Time Optimization

Change-Id: I979b6f423ab3fb3ab6992b6c36a0d518d6d7f95a
Switch to cortex-a9 optimized kernel toolchain

Change-Id: I9548b28576b7387b8e22b4d04af74df05e1665c1
build: no longer build emulator by default

This is just increasing build times when most people are not using it.
Let's speed up builds a bit.

Building emulator should still be possible by appending BUILD_EMULATOR=true
to the build command

Change-Id: Ibd8e2b90455bd603a691c7b95466068b6fae212a
update toolchain alias

Change-Id: I5ee46e8293efc8930bc5e2c7019f9fdb6ce0ccfa
Fix clang errors

Change-Id: Ib482b3a4d8609302adc8020de712d1130d59ad7d
Set HAVE_UNWIND_CONTEXT_STRUCT for Clang

Change-Id: I423d650181c6736111e4a5e91ded81c471dd08e1
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
LTO fixes

Change-Id: I62c1eb09058ce72e47a6f06a9bc004e7aba08358
cortex-a9 fixes

Change-Id: Ie20055f21177945367e66b6fc666739eebce3831