Use GCC's __attribute__((const)) to reduce code size

__attribute__((const)) is mainly intended for the compiler to optimize
away repeated calls to a function that the compiler knows will return
the same value repeatedly.

By adding __attribute__((const)), the compiler can choose to call the
function just once and cache the return value.  Therefore, this yields
code size reduction.

Here are the reference results by arm-eabi-size for crespo device:

[before]
   text    data     bss     dec     hex filename
 267715   10132   45948  323795   4f0d3

[after]
   text    data     bss     dec     hex filename
 267387   10132   45948  323467   4ef8b

Change-Id: I1d80465c0f88158449702d4dc6398a130eb77195
getopt(): fix missing carriage return on bad parameters

This affect all command line tools which show the usage on stdout
after an invalid parameter error (printed on stderr)

Change-Id: I8e2cb3fda241ab989dc42055f15082f8b3ba1397
Signed-off-by: Tanguy Pruvot <tanguy.pruvot@gmail.com>
headers: Unbreak some ARM syscalls

Restore the outside-kernel exclusion for some syscalls that was
removed by change I959b64280e184655ef8c713aa79f9e23cb1f7df4,
since these syscalls are used elsewhere.

Change-Id: I5b5bf3d78edd137e820d25281a375966b6c009ec
armv6: REX routines are currently broken, use alternatives

Change-Id: I7ac05ab6add7802a4cc24fe36f7181e7cdfe07e0
libc: krait: Use performance version of memcpy.

Change-Id: I47d25d1da5b1a96bbc1b60f8acdaa31721a68e73
libc: krait: Use performance version of bcopy and memmove

Change-Id: I587085aeb0c30ceccaa3f420594a194b129632b5
libc: krait: Restore prior version of strcmp.

Change-Id: I8ddcdb4d3a905dd746985435dcdb525ab5a1c947
libc/arm: add cortex-a8 cpu variant

Change-Id: I30e8dd6d4b2e7889aea8f5ed21182a5941bfb489
bionic: Fix aliasing violations

This makes bionic compile with compilers enforcing
strict adherence to aliasing rules (e.g. gcc 4.6+
with -Wstrict-aliasing=2 -Werror=strict-aliasing).

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

Conflicts:

	libc/netbsd/net/getaddrinfo.c
	libc/netbsd/net/getnameinfo.c

Change-Id: I4a6fd36a66b23d963ce137916caece4a424e78ab
Gross fix for IN6_IS_ADDR_TEREDO aliasing... explodes generating ASM with the fix from jb42

Change-Id: I99c7e867e600bbb47309bc89b0c6cacb0883a84d
use new strlen & fix bionic ARM register issue

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

Change-Id: I9ec30e6b9f8d5a8d4211786693e6254ef17af77e
Merge branch 'linaro43' into HEAD

Conflicts:
	libc/Android.mk
	libc/include/netinet/in6.h
	libc/netbsd/net/getaddrinfo.c

Change-Id: I66e84c051c14335f76cc9b84c168bf00cd4243e5