Include asm/sigcontext.h only for LP64 in singnal.h

Causes compilation issues reporting no definition of
__uint128_t.

Change-Id: I10db050c63fbff866671d53bfd4ce66d3ea7cc7f
libc: Add cortex-a53 bionic code

Add cortex-a53 makefile. Currently it
uses cortex-a15 bionic code.

Change-Id: I1401b54b6c61d17782dff827d69f92b35a4f5c4f
libc: krait: Implement optimized versions of memmove and bcopy

Code has been refactored to thumb2 for consistency with the rest
of bionic libc, as well as performance and correctness.

Use memove & bcopy in cortex-a53.

Change-Id: I5f738ef3eb12ece6b55285f1588eab3d4bbbe27d
Bionic/libm: math optimizations

A couple math function optimizations.  It is a squashed version of
previous commits.

Change-Id: I09db8e265a121ebb4a14a3b52bef11664d6cc341
libc: krait: Re-factor high-performance memcpy for thumb2

The majority of libc under bionic is built for thumb2.  Refactor the
high performance memcpy used in previous builds for thumb2, including
information that can be used for stack-unwinding.

Change-Id: I8a25e9cdc242a54f0fea41c135e11312f0bbb449
bionic: Detect userspace memory leak

When process is consuming memory beyond the limit specified by
property, it will print all the allocations of the same process.
To enable this feature, do following steps:
1. libc.debug.malloc 40
2. libc.debug.malloc.program <PROCESS_NAME>
3. libc.debug.malloc.maxprocsize <VALUE_IN_BYTES>
4. libc.malloc.minalloclim <VALUE_IN_BYTES>

Conflicts:
        libc/bionic/malloc_debug_check.cpp
        libc/bionic/malloc_debug_common.cpp

Change-Id: I03a4de9643ec954802b26443ce5685975ea30f89
bionic/libm pow optimizations for arm64

Optimize a narrow, commonly used range of inputs for faster pow.

Change-Id: Ic2f2aefe73433fb354429f5a9de5141b716ca89b
libm: add missing symbols to optimized math functions

add the following missing symbols to optimized math functions:
sqrtl => sqrt
sinl  => sin
cosl  => cos

these symbols will be weak references to the functions at
right-hand side when compiler internal macro
(__LDBL_MANT_DIG__ == 53) is true

Change-Id: Ie3b3e720b3207bbc13574b9b6d42738767f22754
Partial revert "Remove ioprio_get(2) and ioprio_set(2) from LP64."

Put them back for ARM32. Some pre-L blobs link with it
This partially reverts commit 607341e226912d95d03216483bdcef6f8d96f8b4.

Change-Id: If8503bd5624869ba071fdd21fa48cffb65617586
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
Revert "Remove the MD5 implementation that was only used by toolbox."

This reverts commit 67401638a92abd52e5896183e851b1b097da07ac.

Added TARGET_NEEDS_BIONIC_MD5 to indicate if a device needs it.
In particular, the Galaxy Nexus RIL breaks without this.

Change-Id: I49f1779566dfeb5093970ed0bbda741919318a83
libc: Add Scorpion-optimized memcpy and memset

 * Optimized routines from Qualcomm for msm8660 class SoCs
 * Enable with TARGET_CPU_VARIANT := scorpion
 * Use cortex-a15 memcpy and krait memset routines

Change-Id: I01d0f22efba5a418ddd20fca0d0c570d855e0f6f
Merge remote-tracking branch 'cm/cm-12.0' into lollipop

Conflicts:
	libc/arch-arm/arm.mk

Change-Id: I469bade9930b4e51d719d8c4174eb6cb5d343d2f