Adapt to the new libc++/libc++abi update.

C++17 removed a handful of things that are used in the libclang
headers, which are used by the versioner. Enable the flag that
re-exposes these until we have a C++17 compatible libclang.

Add a stub posix_memalign to the linker. libc++abi uses posix_memalign
when allocating exceptions, which the linker does not use.

Test: make checkbuild
Bug: None
Change-Id: I32f9d0591ef99a610f27efed90a5c9fd150f0d3e
diff --git a/linker/linker_libcxx_support.cpp b/linker/linker_libcxx_support.cpp
index 41ed8bc..3d15b33 100644
--- a/linker/linker_libcxx_support.cpp
+++ b/linker/linker_libcxx_support.cpp
@@ -35,3 +35,7 @@
 extern "C" int __cxa_type_match() {
   async_safe_fatal("__cxa_type_match is not implemented in the linker");
 }
+
+int posix_memalign(void**, size_t, size_t) {
+  async_safe_fatal("posix_memalign is not implemented in the linker");
+}
diff --git a/tools/versioner/src/Android.bp b/tools/versioner/src/Android.bp
index 9151646..4b237a9 100644
--- a/tools/versioner/src/Android.bp
+++ b/tools/versioner/src/Android.bp
@@ -35,6 +35,8 @@
 
         "-D__STDC_CONSTANT_MACROS",
         "-D__STDC_LIMIT_MACROS",
+
+        "-D_LIBCPP_ENABLE_CXX17_REMOVED_BINDERS",
     ],
 
     target: {