Merge bionic optimizations

Conflicts:
	libc/arch-arm/arm.mk

Change-Id: I8dbbd1a4520ca862f188daaaf13615877df41712
Merge branch 'cm-11.0' of git://github.com/CyanogenMod/android_bionic into kk44
Merge branch 'cm-11.0' of git://github.com/CyanogenMod/android_bionic into kk44
Merge branch 'cm-11.0' of git://github.com/CyanogenMod/android_bionic into kk44
Merge branch 'cm-11.0' of git://github.com/CyanogenMod/android_bionic into kk44
Merge branch 'cm-11.0' of git://github.com/CyanogenMod/android_bionic into kk44
Merge branch 'cm-11.0' of git://github.com/CyanogenMod/android_bionic into kk44
sMerge branch 'cm-11.0' of git://github.com/CyanogenMod/android_bionic into kk44
Revert "Remove harmful attempts to be helpful in pthread_mutex functions."

Well there are currently still to many popular games which rely on getting EINVAL
returned.....so we need to leave it currently like it is till google may
officially change it and apps are forced to change their code

This reverts commit 484f3ba33d90cc698cc04afd5062f21de9ae299e.

Change-Id: I31f0435138e8910da73a98872165fc9558efb6de
Revert "ARM: Change dmb domain for bionic_atomic_barrier()"

Well the original change is indeed correct. But there are devices
which are doing weird things in their proprietaries across gpu and other memory areas
(toro and toroplus as example). This ends up in serious issues on this devices
which are doing it obviosuly wrong.

Whatever till we know which devices are all effected and we can ifdef them
we revert it for now.

This reverts commit f8caadb87dfc4f2eed86462fa6fb0cab5262d52e.

Change-Id: I93ba5dff94ebdef4629d7d9f005037b190e76ad4
Merge branch 'cm-11.0' of git://github.com/CyanogenMod/android_bionic into kk44
Merge branch 'cm-11.0' of https://github.com/CyanogenMod/android_bionic into kk44
Merge branch 'cm-11.0' of https://github.com/CyanogenMod/android_bionic into kk44

Signed-off-by: scott <scott@ubuntu>

Conflicts:
	libc/arch-arm/generic/generic.mk

Change-Id: I75b444ba1d468199050e7b8a26174e75c711a497
Merge branch 'cm-11.0' of https://github.com/CyanogenMod/android_bionic into kk44
Fix Cortex-a15 compile

Change-Id: I751d2cb7535df897f172584227bd9eccff40f7d8
Signed-off-by: Josue Rivera <prbassplayer@gmail.com>
libm: add fmal long double stub

PS2: Fix dependencies

Summary:
This is needed in some target cases, and has since been fixed internally in the AOSP.

From enh@google.com regarding this change:
you were right, and this was the way we should have done it, but i didn't work that out until i fixed this in the same way as part of the aarch64 work (where the weak reference didn't work).

Test Plan: verified

Reviewers: randall.rushing, jriordan001, synergy

Reviewed By: synergy

Differential Revision: http://review.codefirex.com/D234

Change-Id: Ia57674b89e110a7fff4a90c534f67a6bbef57c68
Signed-off-by: DHOMD <DHO@dho.im>
Make use of new memcpy, tweak settings

Summary:
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The new memcpy() is slightly faster than the cortex-strings version,
and fixes the Galaxy Nexus camera issue.

Signed-off-by: Amit Pundir <amit.pundir@linaro.org>

Test Plan: verified in micro bench

Reviewers: randall.rushing, jriordan001, anders3408, synergy

Reviewed By: synergy

Differential Revision: http://review.codefirex.com/D235

Conflicts:
	libc/Android.mk

Change-Id: I89fd0f71c271e047595199e5a6c2f83dd39305a3
Signed-off-by: DHOMD <DHO@dho.im>
libc: support __errno_location

Summary:
Android's errno behavior is the same as glibc's __errno_location.
Support __errno_location for compatibility.

Test Plan: verified fully

Reviewers: randall.rushing, synergy

Reviewed By: synergy

Differential Revision: http://review.codefirex.com/D236

Change-Id: I2f48168d31a870836271319460e3a941c6498022
Signed-off-by: DHOMD <DHO@dho.im>
libc stdlib: implement C99 _Exit and C11 quick_exit API

Summary: needed for some newer changes shortly :)

Test Plan: verified

Reviewers: randall.rushing, jriordan001, synergy

Reviewed By: synergy

Differential Revision: http://review.codefirex.com/D237

Change-Id: I2b34a9cfc2a71721e4bda47b9b06553a096a813c
Signed-off-by: DHOMD <DHO@dho.im>
[ARM] libc: optimized strnlen, strncat, strncmp, and strlcat

PS2: Fix dependencies

Summary:
Date:   Mon Sep 23 14:45:06 2013 -0700

    [ARM] libc: use basic ASM strnlen implementation

    Summary:
    This is based on the current naive strlen routine from
    netbsd

    Test Plan: significant implemented bench gains

    Reviewers: randall.rushing, synergy

    Reviewed By: synergy

    Differential Revision: http://review.codefirex.com/D499

    Conflicts:
        libc/Android.mk

Author: synergydev <synergye@codefi.re>
Date:   Mon Sep 23 14:43:27 2013 -0700

    [ARM] libc: use optimized ASM strncmp implementation

    Summary:
    This strncmp implementation is based on the current
    arm netbsd implementation

    Test Plan: https://sourceware.org/git/?p=glibc.git;a=blob;f=benchtests/bench-strncmp.c;h=25df3dbc2eb25346d9a897f8d7a2ada9725584e3;hb=master and integrated bionic-benchmark

    Reviewers: randall.rushing

Author: synergydev <synergye@codefi.re>
Date:   Sat Sep 21 23:45:58 2013 -0700

    [ARM] libc: use basic ASM strncat implementation

    Summary:
    This implementation is the naive strncat implementation
    for ARM from netbsd upstream.

    Test Plan: Someone else test please, bench gain is significant with http://repo.or.cz/w/glibc.git/blob_plain/ec901dcf2886cfb81d88f9a63cfcd62b9efe6381:/benchtests/bench-strncat.c (no currently integrated bench, only test which is good with this change).

    Reviewers: randall.rushing, ConnorBaker, synergy

    Reviewed By: synergy

Author: synergydev <synergye@codefi.re>
Date:   Mon Sep 23 14:42:47 2013 -0700

    [ARM] libc: use basic ASM strlcat implementation

    Summary: This is based on the netbsd naive strlcat implementation

    Test Plan: +1 here

    Reviewers: randall.rushing, synergy

    Reviewed By: synergy

Test Plan: significant implemented bench gains

Reviewers: randall.rushing, synergy

Reviewed By: synergy

Differential Revision: http://review.codefirex.com/D238

Conflicts:
	libc/Android.mk

Change-Id: Ie9409391cab54527e8949fc879788cf0288db161
Signed-off-by: DHOMD <DHO@dho.im>