Add testcase for fixes on GNU4.7/4.8/4.9 libstdc++ for clang

See https://android-review.googlesource.com/#/c/92538/

Change-Id: Ib99a37c3e369c508c9df6d125d5080d82cde3898
Enable aarch64 libatomic and libgomp

Need https://android-review.googlesource.com/#/c/92602

Also try make install in -j1 at 2nd run to workaround race
condition in aarch64-linux-android-4.8 with libatomic

Change-Id: Ibffeff563a7451b35fa487137410b4625704d653
Merge "Enable aarch64 libatomic and libgomp"
Merge "Add testcase for fixes on GNU4.7/4.8/4.9 libstdc++ for clang"
crazy_linker: Add a callback feature.

Add support for callbacks and callback posters. Callbacks can execute
code later and/or on different threads. Use callbacks, where enabled,
to update r_map pages used by gdb.

Change-Id: If7e7f565248d8f83095c7bd78f1dd294216ba631
Merge "crazy_linker: Add a callback feature."
crazy_linker: Add support for 64-bit Android systems.

Change-Id: Idac06d43fe0af3b157b5c702c86282b51fab7d40
docs: Fix a typo in an old entry in the changelog

Change-Id: I24c0da19c70a82af47357eaed7bc32ce6177a08c
Merge "docs: Fix a typo in an old entry in the changelog"
Merge "crazy_linker: Add support for 64-bit Android systems."
cpu-features: Support 32-bit ARM binaries running on an ARM64 kernel.

This addresses several issues related to 32-bit ARM binaries running
on an ARMv8 CPU.

The first one is that API level 20 exposes getauxval() in <sys/auxv.h>
which provides a reliably way to extract the ARM ELF HwCaps, so try
to use it when possible. Note that this adds -ldl as a LDLIBS
export for the library.

The second one is that /proc/self/auxv should always be the preferred
to /proc/cpuinfo for a process to access the 32-bit ARM ELF HWCaps.
Unfortunately, this file is not always accessible on some recent
Android platform versions, even though this may be fixed in the future.

When the file is not accessible, parse /proc/cpuinfo as a fallback,
but deal with the fact that the 'Features' field only list features
that are optional for the device's CPU reference architecture revision.
I.e. when running on an ARMv8 CPU, it will not list the typical
ARMv7 extensions that became mandatory in ARMv8.

+ Refresh and clarify documentation to explain that the output of
  android_getCpuFamily() depends on the process' bitness, not the
  target device's CPU.

+ Check that android_getCpuFeatures() returns 0 as expected on
  anything except 32-bit ARM and 32-bit Intel.

+ Fix the reporting of ARM IDIV instruction by Goldfish kernels
  / Android emulators.

BUG=13679666

Change-Id: I003808b0a44c0645a180232ab688f9ce76d10f25
Merge "cpu-features: Support 32-bit ARM binaries running on an ARM64 kernel."
Revert "cpu-features: Support 32-bit ARM binaries running on an ARM64 kernel."

This reverts commit 2016d8782c69b0ac6729b47884d874a606ebba52.

Change-Id: I4cdfa6dcc39e5fdd14fc3287d6f44e09eaa910c7
Merge "Revert "cpu-features: Support 32-bit ARM binaries running on an ARM64 kernel.""
Revert "Revert "cpu-features: Support 32-bit ARM binaries running on an ARM64 kernel.""

This reverts commit 85b60dd97d351766fe1023e9eba23df23644953d.

The original patch [1] was reverted because a required dependency
was missing in the libportable module. Fixed in [2], so it is now
safe to re-apply.

[1] https://android-review.googlesource.com/#/c/91380/
[2] https://android-review.googlesource.com/#/c/94181/

Change-Id: I95417e4dccfcc7f7b056df8cf4682424d1940448
Merge "Revert "Revert "cpu-features: Support 32-bit ARM binaries running on an ARM64 kernel."""
Revert "Revert "Revert "cpu-features: Support 32-bit ARM binaries running on an ARM64 kernel."""

There is something fishy in the kingdom of Denmark. Investigating...

This reverts commit 4933fadc341c3452d4d2360e890697c37dcfeaa5.
Merge "Revert "Revert "Revert "cpu-features: Support 32-bit ARM binaries running on an ARM64 kernel.""""
Merge branch 'master' of https://android.googlesource.com/platform/ndk into HEAD