Move _thread_created_hook to where it belongs.

Change-Id: I643d761c78ccaae25270aeffa2afb811c4e2fcd7
Fix libdl build warnings, turn on -Werror.

Change-Id: I71c39b77ac1e9a92482ce71a829449100945ec86
Merge "Move _thread_created_hook to where it belongs."
Merge "Fix libdl build warnings, turn on -Werror."
Add "__noreturn" to assert and assert2

These functions should print assertion violation messages and then
call abort(). They do really not return control flow afterwards.
Consider the declaration of the similar __assert_fail from glibc:

extern void __assert_fail (const char *__assertion,
                           const char *__file,
			   unsigned int __line,
                           const char *__function)
     __THROW __attribute__ ((__noreturn__));

Bionic has __noreturn defined in sys/cdefs.h to be that GNU
noreturn attribute.

This patch has a practical value. Consider the following function:

void check(void* ptr) {
  assert(ptr != NULL);
}

Without this patch applied, gcc (and presumably clang) shows even in
debug mode:

warning: unused parameter 'ptr' [-Wunused-parameter]

In release mode, NDEBUG is defined and assert() becomes a no-op, as
one should expect. Thus, the warning is shown correctly then.

Another code sample:

float array[2];
int i = 3;
...
assert(i < 2);
array[i] = 0;

gcc says,

warning: array subscript is below array bounds [-Warray-bounds]

In other words, without noreturn attribute, assertions do not
allow a compiler's static analyzer to properly understand
the preconditions.

Change-Id: I3be92e99787c528899cf243ed448c4730c00c45b
Signed-off-by: Vadim Markovtsev <gmarkhor@gmail.com>
Merge "Add "__noreturn" to assert and assert2"
bionic: rename aarch64 target to arm64

Rename aarch64 build targets to arm64.  The gcc toolchain is still
aarch64.

Change-Id: Ia92d8a50824e5329cf00fd6f4f92eae112b7f3a3
Re-export libgcc's __aeabi_uidivmod and __popcount_tab

This is required to make the Nexus 10 graphics driver work on a system
compiled with gcc 4.9.

Change-Id: If3f3d488652a736d9ea3e583548d74fae3ffa902
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
Merge "Re-export libgcc's __aeabi_uidivmod and __popcount_tab"
Merge "bionic: rename aarch64 target to arm64"
Add all implicitly loaded symbols from libgcc.a into libgcc_compat.c.

Change-Id: I0e66a73e849a01817d016a688d7291c2fb604e48
Merge "Add all implicitly loaded symbols from libgcc.a into libgcc_compat.c."
Remove __STDC_FORMAT_MACROS and __STDC_LIMIT_MACROS guards (and fix SIZE_MAX for LP64).

The various committees decided that everyone should get all these macros,
all the time.

Bug: 12708004
Change-Id: Ib56010dcba9b0656e5701546fefb7f78dc0bf916
Use arch-specific variable to set up the x86 ld flags.

Bug: 11654773
Change-Id: I9e9075bac1303cfa39b0f717dd74625ce1dd5fa5
Merge "Use arch-specific variable to set up the x86 ld flags."
Merge "Remove __STDC_FORMAT_MACROS and __STDC_LIMIT_MACROS guards (and fix SIZE_MAX for LP64)."
bionic: Do not use magic number for portability

Do not use the magic number 0xFFFFFFFFU to represent the max value of an address
as it's not correct on 64bit platform. We should use UINTPTR_MAX instead.

Change-Id: I1fc6f5864a651b2eddea2333cb0788f9d9223270
Signed-off-by: Qiming Shi <qiming.shi@intel.com>
Signed-off-by: Weiwu Chen <weiwu.chen@intel.com>
Merge "bionic: Do not use magic number for portability"
Remove libthread_db from bionic.

The NDK statically links its own copy into gdb.

Bug: 11882807
Change-Id: I0c7ed8761c32df3cc3644258551bc7d2e263f47b
Merge "Remove libthread_db from bionic."