bionic: add linaro-a9 cortex-strings rev 54 strchr routine
cortex-a15 will use the a9 strchr as well due to still performing better than the c++ strchr. Generic uses the c++ AOSP
strchr

Conflicts:
	libc/arch-arm/cortex-a15/cortex-a15.mk
	libc/arch-arm/cortex-a9/cortex-a9.mk
	libc/arch-arm/generic/generic.mk
bionic: use optimized strchr for krait as well
bionic: add linaro-a9 cortex-strings rev 65 memchr routine
cortex-a15 will use the a9 memchr as well due to still performing better than the c memchr. Generic uses the c AOSP
memchr
libc: remove extra memchr
Use GCC's __attribute__((const)) to reduce code size

__attribute__((const)) is mainly intended for the compiler to optimize
away repeated calls to a function that the compiler knows will return
the same value repeatedly.

By adding __attribute__((const)), the compiler can choose to call the
function just once and cache the return value.  Therefore, this yields
code size reduction.

Here are the reference results by arm-eabi-size for crespo device:

[before]
   text    data     bss     dec     hex filename
 267715   10132   45948  323795   4f0d3

[after]
   text    data     bss     dec     hex filename
 267387   10132   45948  323467   4ef8b

Change-Id: I1d80465c0f88158449702d4dc6398a130eb77195
bionic: Optimizations for gettimeofday and clock_gettime.

Use the kernel user helper feature to calculate the results
of gettimeofday and clock_gettime without actually calling
into kernel space. If the user helper patches have not been
applied to the kernel, the regular system calls are used as
a fallback.

Change-Id: I3aebc6ac19ab4743725648a1a279819e624cc5c4
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>
remove typos and multiple declarations

Change-Id: Iff32874c2f801519b57f19a3cc1c2c76b7c7f6fa
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
libc: krait: Restore prior version of strcmp.

Change-Id: I8ddcdb4d3a905dd746985435dcdb525ab5a1c947
libdl: disable LTO

Summary: Part of the global link time optimization patchset.

Test Plan: Apply all patches and win

Reviewers: randall.rushing, Mustaavalkosta, Roach, rlasalle15, synergy

Reviewed By: synergy

Differential Revision: http://review.codefirex.com/D241
libc: set LOCAL_NO_LTO_SUPPORT

Summary: just as the title reads

Test Plan: win

Reviewers: randall.rushing, Mustaavalkosta, michyprima, synergy

Reviewed By: synergy

Differential Revision: http://review.codefirex.com/D311
linker: only warn on text relocations for userdebug variant
This is very nice information to view while debugging, however on some devices this can create excessive log spam. The
issue is that most of the text relocations on newer qcom devices are from proprietary libraries we have no control over.

Please check the inline TODO for a solution to this issue which would allow this commit to be reverted
linker: improve text relocation filtering
Build bionic-benchmarks with statically link
Make memory leak checking configurable
Reduce the code size of system call wrapper for ARM

 - Code size reduce about ~8k

Adapted for codefireXperiment
stdlib: switch to upstream freebsd atexit

Summary: ...

Test Plan: win

Reviewers: randall.rushing, synergy

Reviewed By: synergy

Differential Revision: http://review.codefirex.com/D397
Merge https://android.googlesource.com/platform/bionic into jb-devel-mr2-release
libc: arm: makefile: terminate line
Revert "stdlib: switch to upstream freebsd atexit"

This reverts commit 32e4b14bf240b4dd20a1cf6d0b077fbe1b14617f.