libc: add tegra2 TARGET_CPU_VARIANT

Tegra2 is a Dual Cortex A9 without FP neon SIMD

based on 'generic' arm (memcpy, memset)
on cortex-a15 and a8 (strcmp)
and armv7-a from cm10.1 (memchr and strlen)

rebased and now for cm-10.2 only

Change-Id: I1e7207e2d1ba02012fb5306f46b688903d31386c
Signed-off-by: Tanguy Pruvot <tanguy.pruvot@gmail.com>
tegra2: add missing strcpy and strcat

These applets are no more common since recent optimisations

strcpy from cortex-a9
strcat : keep standard one

Change-Id: Icfedf17aa4f9fa30e7f63b19bd6d4ac533e5e0e9
bionic: Fix aliasing violations

This makes bionic compile with compilers enforcing
strict adherence to aliasing rules (e.g. gcc 4.6+
with -Wstrict-aliasing=2 -Werror=strict-aliasing).

Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
bionic: Add workarounds for current compilers

With current compilers, we're getting "this function cannot be inlined"
errors on vsnprintf and strlcpy because the always_inline attribute is
set.

Before marking this a "fix" instead of a "workaround", we should figure
out why the functions can't be inlined.

PatchSet 2: Set the topic to linaro.
This is needed to build with AOSP's GCC 4.7.

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

Conflicts:

	libc/include/sys/cdefs.h
Fix build on gcc 4.7

Fixes:
target asm: libm <= bionic/libm/arm/e_pow.S
/tmp/cc5RHbaP.s: Assembler messages:
/tmp/cc5RHbaP.s: Error: .size expression for pow does not evaluate to a constant

Change-Id: Ie6d1056c835d0db6da923d7286cb12a60253d5ff
Signed-off-by: Evan McClain <aeroevan@gmail.com>