bionic: Add flag to restore legacy mmap behavior

* Pre-lollipop mmap would not care whether offset was signed
  or unsigned.
* Lollipop adds 64-bit support which results in sign extension
  of offset, causing a negative offset when
  a positive offset > 2^31 is given.

Change-Id: I5d19d898fc131cf848217974915d1b466a474f99
Replace Cortex A15 strlen implementation with cortex-strings

Benchmarks on a Nexus 10 have shown this implementation to be 5%-20%
faster (depending on input)

Change-Id: I4331a390c404a77b1e13909d713c4258a3776bca
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
Import memchr implementation from cortex-strings for Cortex A15

Benchmarks on a Nexus 10 have shown the cortex-strings implementation
of memchr to be 60%-70% faster (depending on input)

Change-Id: I525587d8663c881e9059b26b19409b0c563b2a18
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
Replace memcpy with the cortex-strings implementation

Benchmarks on a Nexus 10 have shown this implementation to be
up to 12% faster.

Change-Id: Ida882cc6a583dfd00c3659b022c26070665824af
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
krait: use A15 memchr

Change-Id: I6d9c773612db02706d5a36252eb7d4458d9b6e1b
bionic(cm-12): Implement armv6 optimized strlen from glibc 2.18

Change-Id: Ief985c9ca08cb74d9d7e41d3a583e62699f745cf
bionic: cpu-features: enable LDREXD feature on ARMv6K

Change-Id: I6d30b8b65598512ca52280a6aa25342ba5af3491
Fix TLS register for thumb1

mrc is an arm opcode

Change-Id: Iaf1f7b957539c1f824f925ea574ff1955ff50d25
bionic: Fix atomic support for thumb1

ldrex and strex are arm opcodes

Change-Id: I41e0059d405998ea738ebcbf8cbb5716fee572d1