Update to kernel headers v4.14.

Remove the hiding of the kernel structure binder_fd_array_object. This
structure now matches the structure used in the binder code.

Load the libclang_android.so shared library directly for parsing.
This file changed name in a recent update to the prebuilts.

Test: Compiles arm/arm64/x86/x86_64.
Test: Boots on hikey and boots on a sailfish.
Test: Ran bionic unit tests on hikey and sailfish.
Change-Id: I141a4b93ac3511cd58f4d12bb3c0d4efaa4c2742
diff --git a/libc/kernel/uapi/linux/aio_abi.h b/libc/kernel/uapi/linux/aio_abi.h
index 2a7a6e7..e71936d 100644
--- a/libc/kernel/uapi/linux/aio_abi.h
+++ b/libc/kernel/uapi/linux/aio_abi.h
@@ -19,6 +19,7 @@
 #ifndef __LINUX__AIO_ABI_H
 #define __LINUX__AIO_ABI_H
 #include <linux/types.h>
+#include <linux/fs.h>
 #include <asm/byteorder.h>
 typedef __kernel_ulong_t aio_context_t;
 enum {
@@ -37,16 +38,17 @@
   __s64 res;
   __s64 res2;
 };
+struct iocb {
+  __u64 aio_data;
 #if defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN)
-#define PADDED(x,y) x, y
+  __u32 aio_key;
+  __kernel_rwf_t aio_rw_flags;
 #elif defined(__BYTE_ORDER)?__BYTE_ORDER==__BIG_ENDIAN:defined(__BIG_ENDIAN)
-#define PADDED(x,y) y, x
+  __kernel_rwf_t aio_rw_flags;
+  __u32 aio_key;
 #else
 #error edit for your odd byteorder .
 #endif
-struct iocb {
-  __u64 aio_data;
-  __u32 PADDED(aio_key, aio_reserved1);
   __u16 aio_lio_opcode;
   __s16 aio_reqprio;
   __u32 aio_fildes;