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
bionic/libm: fix x86 support regression

Support for x86 and MIPS broke due to an incorrect merge conflict
resolution in commit 5015fe9.  Commit d348cd5 repaired MIPS support
but not x86.  This commit repairs the incorrect merge conflict
resolution, bringing back support for x86 (and potential future
architectures).

Change-Id: I8994d653e5a2f79c9bfacb1c87159c8cdd4f81a7
bionic/libc: fix getsid() syscall number for mips

According to libc/kernel/arch-mips/asm/unistd.h, the syscall number
for mips is 151, not 147.

Only bionic/libc/SYSCALLS.TXT was manually edited;
bionic/libc/include/sys/linux-syscalls.h was generated from
SYSCALLS.TXT by running bionic/libc/tools/gensyscalls.py.

Change-Id: Ia14da35acbc36aafd44a059146a37271bd358ae2
Dynamically allocate soinfo-structs in linker

Request memory from the system when needed instead of having a fixed
array for soinfo structs. Note that malloc() et al can't be used in
linker, so use mmap() instead.

Change-Id: Ia77e6a835db0f4a0bfeccc4a6610b857459fd437
Merge branch 'cm-10.1' of git://github.com/CyanogenMod/android_bionic into cm-10.1