libc: Add ARMV7 optimized memchr()

 * From Cortex-Strings via Linaro
 * Performance is 10x over the default version on microbenchmarks

Change-Id: I14c1b5ccbd0078219a1dbf9f02fb1591b3a2403c
libc: Remove Scorpion memmove() routine

 * This code is slower than the new implementation under every
   circumstance on Scorpion devices. Remove it and standardize on one
   implementation.
 * Also remove "optimized" memmove_words, which was just a pointer to
   memmove. The performance was identical to the C version on Krait, and
   has regressions on other platforms. This function is only used for
   System.arraycopy in Dalvik.

Change-Id: I42d06fbd7c56d9874b80a0e768dbadf0fa5025a4
Bionic/libm: Fix the mismatch ENTRY/END in e_pow.S

Change-Id: Ibe53e7863f462a63029d1154f317256c00814c6d
Fix assembler error using newer toolchains.
Fixes a ".size expression for pow does not evaluate to a constant" assembler error using linaro 4.7.x.

Change-Id: I5ad3643794df330c0e54508ba946f9fc769e62e2
Revert "FORTIFY_SOURCE: fortify strrchr"

This reverts commit f9c4e0a57ce9b5a96a7bccdb690bf8ae4084af65.

Conflicts:
	libc/include/string.h

Change-Id: I44884224f2df1da1acd1915be8c32ef606fc51da
msm: vidc: Add the support for MPEG-2 extension and user data

Update msm vidc header to match the new qcom/media branch

Change-Id: I444982ba7fb77f1ff3b71f4f09a4c436ff966859
Merge "msm: vidc: Add the support for MPEG-2 extension and user data" into cm-10.1
libc: Add optimized strcmp

This version is from Newlib.

Original comment of the author:

The attached patch provides a new implementation of strcmp for ARM, using
LDRD instead of LDR whenever possible.

For older architectures that do not support LDRD, this implementation uses
the same algorithm as before.

This patch replaces strcmp.c with strcmp.S. The huge inline assembly from
strcmp.c was converted into plain assembly and included in strcmp.S under
the appropriate predefines.

Testing and benchmarking:
* Validation: successfully passes a test that compares different strings of
length 1-128 and offsets 0-8 from a word boundary. Checked on qemu/A15/A9,
ARM/Thumb mode, Big/Little Endian. This test is also added to newlib
testsuite as part of this patch.
* Integration with gcc: no regression on qemu for arm-none-eabi --with-cpu
a15/a9 --with-mode arm/thumb.
* Performance (relative to the current strcmp in newlib, only in ARM mode):
On Dhrystone, the new implementation (ldrd) is 22% faster on Cortex-A15
FPGA, and 16% on Cortex-A9 VE2.
On synthetic benchmarks, which measure the average number of cycles for
strcmp on strings of length 4-128K and offsets 0,1,2,3,4,8 from a word
boundary, where the strings are equal, the new implementation is three times
faster for long strings, when the input strings have the same offset from a
word boundary, and up to 30% faster in other cases, on both A15 FPGA and A9
VE2.

Change-Id: I7a39770cad48c2ecc6b6d375165652cd4f0c0619
Signed-off-by: Dirk Rettschlag <dirk.rettschlag@gmail.com>
libc: Fix invalid macro

Change-Id: Ia0c1d81cecb2f05834842bf3e6a3cc9cb06e00c9
Merge remote-tracking branch 'cm/cm-10.1' into cm
bionic/libc: add syscalls needed by busybox

The numbers for the new syscalls were determined by examining
bionic/libc/kernel/arch-*/asm/unistd.h.

Only bionic/libc/SYSCALLS.TXT was manually edited; all other files
were generated from SYSCALLS.TXT by running
bionic/libc/tools/gensyscalls.py.

Change-Id: Ie29d1aec6d3a61282d3712fea4c0e3ecafa49945