build: Prevent some auto-generated variables from being overridden

These variables are used by internal processes for build indexing
and identification, and those processes expect either specific patterns,
or uniqueness.
So prevent accidental overriding of these by device configurations:
BUILD_DISPLAY_ID, BUILD_NUMBER, PLATFORM_VERSION, PLATFORM_SDK_VERSION,
PLATFORM_VERSION_CODENAME, BUILD_VERSION_TAGS

Change-Id: I06252f2687a5e5fd97ee21a98f26c739fd0ef6e4
qcom_utils: Add qsd8k to qcom platforms

PS2: fix typo

Change-Id: Id85569d1dd7be2f4c0620827da6d89e63b658aa9
build: let TWRP eat zips too

This allows us to sideload zips regardless of the recovery in place.

Change-Id: I5e95614e545a617737fcc27fd892f42c29a06f9b
Add f2fs to list of partition types in common.py

Change-Id: I9a54489c38009ca2970132b530164663b15c1337
build: Add script to generate extra images

Change-Id: I53081c7a2b4f18bc8c8a27b04d311a6b078b2022
arm: Drop linker script when building without PIE

The current section headers generated by bionic are incompatible
with this (interp is in, ctors were dropped, and other tiny changes
related to Elf32_Dyn). But... we don't actually need this to
disable PIE, so drop it entirely instead of writing a new one.

Change-Id: I3b350a9f6251e60bf52114343d190f3d6d83b216
Add standard method for enabling mfpu and mcpu code optimization
build: Enable Bionic optimizations on Cortex platforms

 * Enable the new NEON optimizations in Bionic when
   TARGET_ARCH_VARIANT_CPU is set.
 * NEON memcpy() optimization is disabled on A15 due to a regression.

Change-Id: I4862695812a70b75bdabc4398cb592157f3913c6
build: move bionic optimizations to NEON makefile

Change-Id: Idd495ddbb49f67fef5496456803263f8a23643c5
build: Relax Cortex CFLAGS

 * Always set march=armv7-a
 * Use mtune instead of mcpu. Bad code is generated on A15 otherwise.

Change-Id: Idf8ced8eb0e9d3d4676ca8ec69bf56aed5533bf4
Bionic optimization for Cortex A5

Change-Id: I06f29035fcfa2849b2d6f46dbfc7273312b1d136
build: Cleanup CPU-specific optimizations

 * TARGET_ARCH_CPU_VARIANT was a Linaro thing. Now that Android
   introducted TARGET_CPU_VARIANT, we should use this instead.
 * Added CFLAGS for Krait and Scorpion after the cleanup.

Change-Id: Iafb40ecefa353a1169c22601be4ce80069c3f587
add cortex-a5 cpu variant

Change-Id: I369e499d537888eb0f07d900cb50d1424632820e
core: combo: arm: add cortex-a8 target

Change-Id: I83e409dd048762acbd2e2dec9b0095933141cff0