"LRX21U"
"LRX21V"
build: Handle custom boot images properly

When a pre-built image should be used, it should be stored in the
target files zip so that it can be used with external signing
processes.

Original-Change-Id: I2661af9ac58af30bb9314b552775046d3abf44e0
Change-Id: I10b3bd0bb33489b8ffb26d16d002f8dd6ff405ad
build: Use project pathmap for recovery

Change-Id: I6339ac77b899a43db21261d587252b65cb58ad79
ota: Let devices specify their own recovery-from-boot.p installer

Some devices apply transformations to the installed images, making
the sha1 checksums fail (or, worse, generating invalid images). If
"/system/etc/recovery-transform.sh" exists, run that instead, passing
the expected sizes and checksums as arguments in the form of

recovery-transform.sh <recovery_size> <recovery_sha1> <boot_size> <boot_sha1>

A direct emulation of the standard patcher could look like this, transformations
should be added as needed.

----------------
RECSIZE=$1
RECSHA1=$2
BOOTSIZE=$3
BOOTSHA1=$4

dd if=/dev/block/platform/msm_sdcc.1/by-name/recovery of=$C/recovery.img
dd if=/dev/block/platform/msm_sdcc.1/by-name/boot of=$C/boot.img

if ! applypatch -c EMMC:$C/recovery.img:$RECSIZE:$RECSHA1; then
  log -t recovery "Installing new recovery image"
  applypatch -b /system/etc/recovery-resource.dat EMMC:$C/boot.img:$BOOTSIZE:$BOOTSHA1 EMMC:$C/recovery.img $RECSHA1 $RECSIZE $BOOTSHA1:/system/recovery-from-boot.p || exit 1
else
  log -t recovery "Recovery image already installed"
fi
----------------

Conflicts:
	tools/releasetools/ota_from_target_files

Change-Id: Ie601841ca1cdad6b8f3b16e593d2718a92e8ca09
Merge tag 'android-5.0.0_r7' into lollipop

Android 5.0.0 release 7
fix build for unified devices

Change-Id: I003301c1560358056b4e0e4c8fbfc16a1f0e74d8
Signed-off-by: cj360 <ayunker551@gmail.com>
build: add color to chromium prebuilt check message

Change-Id: I1063dc744f7f6ab618e10c9e3b5132af1cbab490
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>
Signed-off-by: cj360 <ayunker551@gmail.com>

Conflicts:
	libc/arch-arm/cortex-a15/bionic/strlen.S
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>
Signed-off-by: cj360 <ayunker551@gmail.com>

Conflicts:
	libc/arch-arm/arm.mk
	libc/arch-arm/cortex-a15/cortex-a15.mk
	libc/arch-arm/cortex-a9/cortex-a9.mk
	libc/arch-arm/generic/generic.mk
	libc/arch-arm/krait/krait.mk
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>
Signed-off-by: cj360 <ayunker551@gmail.com>

Conflicts:
	libc/arch-arm/cortex-a15/bionic/memcpy.S
krait: use A15 memchr

Change-Id: I6d9c773612db02706d5a36252eb7d4458d9b6e1b
Cleanup arm assembly.

Remove the old arm directives.
Change the non-local labels to .L labels.
Add cfi directives to strcpy.S.

Change-Id: I9bafee1ffe5d85c92d07cfa8a85338cef9759562
Signed-off-by: Jake Weinstein <xboxlover360@gmail.com>
Signed-off-by: cj360 <ayunker551@gmail.com>
Add stpcpy assembler version.

For generic, continue to use the C version of the code.

Bug: 13746695
Change-Id: I77426a70b06131f2373bb51265bea1240bb3f101
Signed-off-by: Jake Weinstein <xboxlover360@gmail.com>
Signed-off-by: cj360 <ayunker551@gmail.com>

Conflicts:
	libc/arch-arm/denver/denver.mk
libc: denver: use Cortex-A15 Memchr

Change-Id: I6c2dc07ca6faf0c0a3cfe684581ae99b103e41b7