diff --git a/ndk/platforms/android-21/arch-p/include/_FORBIDDEN_HEADER.h b/ndk/platforms/android-21/arch-p/include/_FORBIDDEN_HEADER.h
deleted file mode 100644
index 99fea7d..0000000
--- a/ndk/platforms/android-21/arch-p/include/_FORBIDDEN_HEADER.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright 2014, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef _FORBIDDEN_HEADER_H
-#define _FORBIDDEN_HEADER_H
-
-#ifndef NDEBUG
-#warning "The header file should not included directly by user."
-#endif
-
-#endif
diff --git a/ndk/platforms/android-21/arch-p/include/asm/auxvec.h b/ndk/platforms/android-21/arch-p/include/asm/auxvec.h
deleted file mode 100644
index 2fa0e6b..0000000
--- a/ndk/platforms/android-21/arch-p/include/asm/auxvec.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#include <asm-generic/auxvec.h>
diff --git a/ndk/platforms/android-21/arch-p/include/asm/bitsperlong.h b/ndk/platforms/android-21/arch-p/include/asm/bitsperlong.h
deleted file mode 100644
index f7d5d77..0000000
--- a/ndk/platforms/android-21/arch-p/include/asm/bitsperlong.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifdef __LP64__
-#define __BITS_PER_LONG 64
-#else
-#define __BITS_PER_LONG 32
-#endif
-#include <asm-generic/bitsperlong.h>
-
diff --git a/ndk/platforms/android-21/arch-p/include/asm/byteorder.h b/ndk/platforms/android-21/arch-p/include/asm/byteorder.h
deleted file mode 100644
index 6f17a48..0000000
--- a/ndk/platforms/android-21/arch-p/include/asm/byteorder.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef __ASM_ARM_BYTEORDER_H
-#define __ASM_ARM_BYTEORDER_H
-#include <linux/byteorder/little_endian.h>
-#endif
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
diff --git a/ndk/platforms/android-21/arch-p/include/asm/errno.h b/ndk/platforms/android-21/arch-p/include/asm/errno.h
deleted file mode 100644
index 392cd94..0000000
--- a/ndk/platforms/android-21/arch-p/include/asm/errno.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#include <asm-generic/errno.h>
diff --git a/ndk/platforms/android-21/arch-p/include/asm/fcntl.h b/ndk/platforms/android-21/arch-p/include/asm/fcntl.h
deleted file mode 100644
index cb5399e..0000000
--- a/ndk/platforms/android-21/arch-p/include/asm/fcntl.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef _TARGET_FCNTL_H
-#define _TARGET_FCNTL_H
-
-#define O_DIRECTORY 040000  // TODO: x86, mips family needs to be fixed
-#define O_NOFOLLOW 0100000
-#define O_DIRECT 0200000
-#define O_LARGEFILE 0400000
-#include <asm-generic/fcntl.h>
-
-#endif
diff --git a/ndk/platforms/android-21/arch-p/include/asm/ioctl.h b/ndk/platforms/android-21/arch-p/include/asm/ioctl.h
deleted file mode 100644
index 7b7bd37..0000000
--- a/ndk/platforms/android-21/arch-p/include/asm/ioctl.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#include <asm-generic/ioctl.h>
diff --git a/ndk/platforms/android-21/arch-p/include/asm/ioctls.h b/ndk/platforms/android-21/arch-p/include/asm/ioctls.h
deleted file mode 100644
index f3381f8..0000000
--- a/ndk/platforms/android-21/arch-p/include/asm/ioctls.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef __ASM_TARGET_IOCTLS_H
-#define __ASM_TARGET_IOCTLS_H
-#define FIOQSIZE 0x545E
-#include <asm-generic/ioctls.h>
-#endif
diff --git a/ndk/platforms/android-21/arch-p/include/asm/ipcbuf.h b/ndk/platforms/android-21/arch-p/include/asm/ipcbuf.h
deleted file mode 100644
index 0021f14..0000000
--- a/ndk/platforms/android-21/arch-p/include/asm/ipcbuf.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#include <asm-generic/ipcbuf.h>
diff --git a/ndk/platforms/android-21/arch-p/include/asm/mman.h b/ndk/platforms/android-21/arch-p/include/asm/mman.h
deleted file mode 100644
index 6c23fb6..0000000
--- a/ndk/platforms/android-21/arch-p/include/asm/mman.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#include <asm-generic/mman.h>
diff --git a/ndk/platforms/android-21/arch-p/include/asm/msgbuf.h b/ndk/platforms/android-21/arch-p/include/asm/msgbuf.h
deleted file mode 100644
index 7809e3c..0000000
--- a/ndk/platforms/android-21/arch-p/include/asm/msgbuf.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#include <asm-generic/msgbuf.h>
diff --git a/ndk/platforms/android-21/arch-p/include/asm/param.h b/ndk/platforms/android-21/arch-p/include/asm/param.h
deleted file mode 100644
index 5ccf935..0000000
--- a/ndk/platforms/android-21/arch-p/include/asm/param.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#include <asm-generic/param.h>
diff --git a/ndk/platforms/android-21/arch-p/include/asm/poll.h b/ndk/platforms/android-21/arch-p/include/asm/poll.h
deleted file mode 100644
index d7e8adc..0000000
--- a/ndk/platforms/android-21/arch-p/include/asm/poll.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#include <asm-generic/poll.h>
diff --git a/ndk/platforms/android-21/arch-p/include/asm/posix_types.h b/ndk/platforms/android-21/arch-p/include/asm/posix_types.h
deleted file mode 100644
index b0bebdb..0000000
--- a/ndk/platforms/android-21/arch-p/include/asm/posix_types.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef __ARCH_ARM_POSIX_TYPES_H
-#define __ARCH_ARM_POSIX_TYPES_H
-#include <asm-generic/posix_types.h>
-#endif
diff --git a/ndk/platforms/android-21/arch-p/include/asm/resource.h b/ndk/platforms/android-21/arch-p/include/asm/resource.h
deleted file mode 100644
index 371adb5..0000000
--- a/ndk/platforms/android-21/arch-p/include/asm/resource.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#include <asm-generic/resource.h>
diff --git a/ndk/platforms/android-21/arch-p/include/asm/sembuf.h b/ndk/platforms/android-21/arch-p/include/asm/sembuf.h
deleted file mode 100644
index 6ce6549..0000000
--- a/ndk/platforms/android-21/arch-p/include/asm/sembuf.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#include <asm-generic/sembuf.h>
diff --git a/ndk/platforms/android-21/arch-p/include/asm/shmbuf.h b/ndk/platforms/android-21/arch-p/include/asm/shmbuf.h
deleted file mode 100644
index fe8b1be..0000000
--- a/ndk/platforms/android-21/arch-p/include/asm/shmbuf.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#include <asm-generic/shmbuf.h>
diff --git a/ndk/platforms/android-21/arch-p/include/asm/sigcontext.h b/ndk/platforms/android-21/arch-p/include/asm/sigcontext.h
deleted file mode 100644
index b671110..0000000
--- a/ndk/platforms/android-21/arch-p/include/asm/sigcontext.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright 2014, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <_FORBIDDEN_HEADER.h>
diff --git a/ndk/platforms/android-21/arch-p/include/asm/siginfo.h b/ndk/platforms/android-21/arch-p/include/asm/siginfo.h
deleted file mode 100644
index eb212a0..0000000
--- a/ndk/platforms/android-21/arch-p/include/asm/siginfo.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef __ASM_SIGINFO_H
-#define __ASM_SIGINFO_H
-#include <asm-generic/siginfo.h>
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#endif
diff --git a/ndk/platforms/android-21/arch-p/include/asm/signal.h b/ndk/platforms/android-21/arch-p/include/asm/signal.h
deleted file mode 100644
index c436b6f..0000000
--- a/ndk/platforms/android-21/arch-p/include/asm/signal.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef __ASM_SIGNAL_H
-#define __ASM_SIGNAL_H
-
-#ifdef __LP64__
-
-#include <asm-generic/signal.h>
-
-#else // ! __LP64__
-
-#include <linux/types.h>
-#include <linux/time.h>
-#include <linux/compiler.h>
-struct siginfo;
-#define _KERNEL_NSIG 32
-typedef unsigned long sigset_t;
-#define SIGHUP 1
-#define SIGINT 2
-#define SIGQUIT 3
-#define SIGILL 4
-#define SIGTRAP 5
-#define SIGABRT 6
-#define SIGIOT 6
-#define SIGBUS 7
-#define SIGFPE 8
-#define SIGKILL 9
-#define SIGUSR1 10
-#define SIGSEGV 11
-#define SIGUSR2 12
-#define SIGPIPE 13
-#define SIGALRM 14
-#define SIGTERM 15
-#define SIGSTKFLT 16
-#define SIGCHLD 17
-#define SIGCONT 18
-#define SIGSTOP 19
-#define SIGTSTP 20
-#define SIGTTIN 21
-#define SIGTTOU 22
-#define SIGURG 23
-#define SIGXCPU 24
-#define SIGXFSZ 25
-#define SIGVTALRM 26
-#define SIGPROF 27
-#define SIGWINCH 28
-#define SIGIO 29
-#define SIGPOLL SIGIO
-#define SIGPWR 30
-#define SIGSYS 31
-#define SIGUNUSED 31
-#define __SIGRTMIN 32
-#define __SIGRTMAX _KERNEL__NSIG
-#define SA_NOCLDSTOP 0x00000001u
-#define SA_NOCLDWAIT 0x00000002u
-#define SA_SIGINFO 0x00000004u
-#define SA_ONSTACK 0x08000000u
-#define SA_RESTART 0x10000000u
-#define SA_NODEFER 0x40000000u
-#define SA_RESETHAND 0x80000000u
-#define SA_NOMASK SA_NODEFER
-#define SA_ONESHOT SA_RESETHAND
-#define SA_RESTORER 0x04000000
-#define MINSIGSTKSZ 2048
-#define SIGSTKSZ 8192
-#include <asm-generic/signal-defs.h>
-
-struct sigaction {
- union {
- __sighandler_t _sa_handler;
- void (*_sa_sigaction)(int, struct siginfo *, void *);
- } _u;
- sigset_t sa_mask;
- unsigned long sa_flags;
- void (*sa_restorer)(void);
-};
-#define sa_handler _u._sa_handler
-#define sa_sigaction _u._sa_sigaction
-
-typedef struct sigaltstack {
- void __user *ss_sp;
- int ss_flags;
- size_t ss_size;
-} stack_t;
-
-#endif // __LP64__
-
-#endif
diff --git a/ndk/platforms/android-21/arch-p/include/asm/socket.h b/ndk/platforms/android-21/arch-p/include/asm/socket.h
deleted file mode 100644
index 50a9874..0000000
--- a/ndk/platforms/android-21/arch-p/include/asm/socket.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#include <asm-generic/socket.h>
diff --git a/ndk/platforms/android-21/arch-p/include/asm/sockios.h b/ndk/platforms/android-21/arch-p/include/asm/sockios.h
deleted file mode 100644
index 710db92..0000000
--- a/ndk/platforms/android-21/arch-p/include/asm/sockios.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#include <asm-generic/sockios.h>
diff --git a/ndk/platforms/android-21/arch-p/include/asm/stat.h b/ndk/platforms/android-21/arch-p/include/asm/stat.h
deleted file mode 100644
index af7ebfc..0000000
--- a/ndk/platforms/android-21/arch-p/include/asm/stat.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#include <asm-generic/stat.h>
diff --git a/ndk/platforms/android-21/arch-p/include/asm/statfs.h b/ndk/platforms/android-21/arch-p/include/asm/statfs.h
deleted file mode 100644
index 18ee8de..0000000
--- a/ndk/platforms/android-21/arch-p/include/asm/statfs.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef __ASM_STATFS_H
-#define __ASM_STATFS_H
-#include <asm-generic/statfs.h>
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#endif
diff --git a/ndk/platforms/android-21/arch-p/include/asm/termbits.h b/ndk/platforms/android-21/arch-p/include/asm/termbits.h
deleted file mode 100644
index 42af6fe..0000000
--- a/ndk/platforms/android-21/arch-p/include/asm/termbits.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#include <asm-generic/termbits.h>
diff --git a/ndk/platforms/android-21/arch-p/include/asm/termios.h b/ndk/platforms/android-21/arch-p/include/asm/termios.h
deleted file mode 100644
index feca4c6..0000000
--- a/ndk/platforms/android-21/arch-p/include/asm/termios.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#include <asm-generic/termios.h>
diff --git a/ndk/platforms/android-21/arch-p/include/asm/types.h b/ndk/platforms/android-21/arch-p/include/asm/types.h
deleted file mode 100644
index 8250f43..0000000
--- a/ndk/platforms/android-21/arch-p/include/asm/types.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#include <asm-generic/types.h>
diff --git a/ndk/platforms/android-21/arch-p/include/asm/unistd.h b/ndk/platforms/android-21/arch-p/include/asm/unistd.h
deleted file mode 100644
index 697186a..0000000
--- a/ndk/platforms/android-21/arch-p/include/asm/unistd.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#include <asm-generic/unistd.h>
diff --git a/ndk/platforms/android-21/arch-p/include/linux/eventpoll.h b/ndk/platforms/android-21/arch-p/include/linux/eventpoll.h
deleted file mode 100644
index b671110..0000000
--- a/ndk/platforms/android-21/arch-p/include/linux/eventpoll.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright 2014, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <_FORBIDDEN_HEADER.h>
diff --git a/ndk/platforms/android-21/arch-p/include/machine/elf_machdep.h b/ndk/platforms/android-21/arch-p/include/machine/elf_machdep.h
deleted file mode 100644
index b671110..0000000
--- a/ndk/platforms/android-21/arch-p/include/machine/elf_machdep.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright 2014, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <_FORBIDDEN_HEADER.h>
diff --git a/ndk/platforms/android-21/arch-p/include/machine/endian.h b/ndk/platforms/android-21/arch-p/include/machine/endian.h
deleted file mode 100644
index d54fc52..0000000
--- a/ndk/platforms/android-21/arch-p/include/machine/endian.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#ifndef _MACHINE_ENDIAN_H_
-#define _MACHINE_ENDIAN_H_
-
-#include <sys/types.h>
-#include <sys/endian.h>
-
-#define _BYTE_ORDER _LITTLE_ENDIAN
-
-#endif /* _MACHINE_ENDIAN_H_ */
diff --git a/ndk/platforms/android-21/arch-p/include/machine/fenv.h b/ndk/platforms/android-21/arch-p/include/machine/fenv.h
deleted file mode 100644
index 06fb4a1..0000000
--- a/ndk/platforms/android-21/arch-p/include/machine/fenv.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright 2014, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _MACHINE_FENV_H_
-#define _MACHINE_FENV_H_
-
-#include <sys/types.h>
-
-typedef struct {
-  unsigned char a[128];
-} fenv_t;
-typedef __uint32_t fexcept_t;
-
-/* Exception flags. */
-#define FE_INVALID    0x01
-#define FE_DIVBYZERO  0x02
-#define FE_OVERFLOW   0x04
-#define FE_UNDERFLOW  0x08
-#define FE_INEXACT    0x10
-#define FE_ALL_EXCEPT (FE_DIVBYZERO | FE_INEXACT | FE_INVALID |\
-                                FE_OVERFLOW | FE_UNDERFLOW)
-
-/* Rounding modes. */
-#define FE_TONEAREST  0x0
-#define FE_UPWARD     0x1
-#define FE_DOWNWARD   0x2
-#define FE_TOWARDZERO 0x3
-
-#endif /* _MACHINE_FENV_H_ */
diff --git a/ndk/platforms/android-21/arch-p/include/machine/setjmp.h b/ndk/platforms/android-21/arch-p/include/machine/setjmp.h
deleted file mode 100644
index 4e157bd..0000000
--- a/ndk/platforms/android-21/arch-p/include/machine/setjmp.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/*
- * machine/setjmp.h: machine dependent setjmp-related information.
- */
-
-/* _JBLEN is the size of a jmp_buf in longs.
- * Do not modify this value or you will break the ABI !
- *
- * This value comes from the original OpenBSD ARM-specific header
- * that was replaced by this one.
- */
-#define _JBLEN  160
diff --git a/ndk/platforms/android-21/arch-p/include/sys/cachectl.h b/ndk/platforms/android-21/arch-p/include/sys/cachectl.h
deleted file mode 100644
index b2b333c..0000000
--- a/ndk/platforms/android-21/arch-p/include/sys/cachectl.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-#ifndef _SYS_CACHECTL_H
-#define _SYS_CACHECTL_H 1
-
-//#ifdef __mips__
-//#include <asm/cachectl.h>
-//extern int __cachectl (void *addr, __const int nbytes, __const int op);
-//extern int _flush_cache (char *addr, __const int nbytes, __const int op);
-//#endif
-#endif /* sys/cachectl.h */
diff --git a/ndk/platforms/android-21/arch-p/include/sys/epoll.h b/ndk/platforms/android-21/arch-p/include/sys/epoll.h
deleted file mode 100644
index c85440e..0000000
--- a/ndk/platforms/android-21/arch-p/include/sys/epoll.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#ifndef _SYS_EPOLL_H_
-#define _SYS_EPOLL_H_
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <fcntl.h> /* For O_CLOEXEC. */
-#include <signal.h> /* For sigset_t. */
-
-__BEGIN_DECLS
-
-#define EPOLLIN          0x00000001
-#define EPOLLPRI         0x00000002
-#define EPOLLOUT         0x00000004
-#define EPOLLERR         0x00000008
-#define EPOLLHUP         0x00000010
-#define EPOLLRDNORM      0x00000040
-#define EPOLLRDBAND      0x00000080
-#define EPOLLWRNORM      0x00000100
-#define EPOLLWRBAND      0x00000200
-#define EPOLLMSG         0x00000400
-#define EPOLLRDHUP       0x00002000
-#define EPOLLWAKEUP      0x20000000
-#define EPOLLONESHOT     0x40000000
-#define EPOLLET          0x80000000
-
-#define EPOLL_CTL_ADD    1
-#define EPOLL_CTL_DEL    2
-#define EPOLL_CTL_MOD    3
-
-#define EPOLL_CLOEXEC O_CLOEXEC
-
-typedef union epoll_data {
-  void* ptr;
-  int fd;
-  uint32_t u32;
-  uint64_t u64;
-} epoll_data_t;
-
-struct epoll_event {
-  uint32_t events;
-  unsigned char __padding[4];
-  epoll_data_t data;
-};
-
-int epoll_create(int);
-int epoll_create1(int);
-int epoll_ctl(int, int, int, struct epoll_event*);
-int epoll_wait(int, struct epoll_event*, int, int);
-int epoll_pwait(int, struct epoll_event*, int, int, const sigset_t*);
-
-__END_DECLS
-
-#endif  /* _SYS_EPOLL_H_ */
diff --git a/ndk/platforms/android-21/arch-p/include/sys/glibc-syscalls.h b/ndk/platforms/android-21/arch-p/include/sys/glibc-syscalls.h
deleted file mode 100644
index b671110..0000000
--- a/ndk/platforms/android-21/arch-p/include/sys/glibc-syscalls.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright 2014, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <_FORBIDDEN_HEADER.h>
diff --git a/ndk/platforms/android-21/arch-p/include/sys/ioctl_compat.h b/ndk/platforms/android-21/arch-p/include/sys/ioctl_compat.h
deleted file mode 100644
index 5c6b3f8..0000000
--- a/ndk/platforms/android-21/arch-p/include/sys/ioctl_compat.h
+++ /dev/null
@@ -1,174 +0,0 @@
-/*	$NetBSD: ioctl_compat.h,v 1.15 2005/12/03 17:10:46 christos Exp $	*/
-
-/*
- * Copyright (c) 1990, 1993
- *	The Regents of the University of California.  All rights reserved.
- * (c) UNIX System Laboratories, Inc.
- * All or some portions of this file are derived from material licensed
- * to the University of California by American Telephone and Telegraph
- * Co. or Unix System Laboratories, Inc. and are reproduced herein with
- * the permission of UNIX System Laboratories, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *	@(#)ioctl_compat.h	8.4 (Berkeley) 1/21/94
- */
-
-#ifndef _SYS_IOCTL_COMPAT_H_
-#define	_SYS_IOCTL_COMPAT_H_
-
-/*#include <sys/ttychars.h>*/
-/*#include <sys/ttydev.h>*/
-
-//#if !defined(__mips__)
-struct tchars {
-	char	t_intrc;	/* interrupt */
-	char	t_quitc;	/* quit */
-	char	t_startc;	/* start output */
-	char	t_stopc;	/* stop output */
-	char	t_eofc;		/* end-of-file */
-	char	t_brkc;		/* input delimiter (like nl) */
-};
-
-struct ltchars {
-	char	t_suspc;	/* stop process signal */
-	char	t_dsuspc;	/* delayed stop process signal */
-	char	t_rprntc;	/* reprint line */
-	char	t_flushc;	/* flush output (toggles) */
-	char	t_werasc;	/* word erase */
-	char	t_lnextc;	/* literal next character */
-};
-
-/*
- * Structure for TIOCGETP and TIOCSETP ioctls.
- */
-#ifndef _SGTTYB_
-#define	_SGTTYB_
-struct sgttyb {
-	char	sg_ispeed;		/* input speed */
-	char	sg_ospeed;		/* output speed */
-	char	sg_erase;		/* erase character */
-	char	sg_kill;		/* kill character */
-	short	sg_flags;		/* mode flags */
-};
-#endif
-//#endif
-
-#ifdef USE_OLD_TTY
-# undef  TIOCGETD
-# define TIOCGETD	_IOR('t', 0, int)	/* get line discipline */
-# undef  TIOCSETD
-# define TIOCSETD	_IOW('t', 1, int)	/* set line discipline */
-#else
-# define OTIOCGETD	_IOR('t', 0, int)	/* get line discipline */
-# define OTIOCSETD	_IOW('t', 1, int)	/* set line discipline */
-#endif
-#define	TIOCHPCL	_IO('t', 2)		/* hang up on last close */
-//#if !defined(__mips__)
-#define	TIOCGETP	_IOR('t', 8,struct sgttyb)/* get parameters -- gtty */
-#define	TIOCSETP	_IOW('t', 9,struct sgttyb)/* set parameters -- stty */
-#define	TIOCSETN	_IOW('t',10,struct sgttyb)/* as above, but no flushtty*/
-//#endif
-#define	TIOCSETC	_IOW('t',17,struct tchars)/* set special characters */
-#define	TIOCGETC	_IOR('t',18,struct tchars)/* get special characters */
-#if 0
-/* BUG: a bunch of these conflict with #defines in asm/termbits.h */
-#define		TANDEM		0x00000001	/* send stopc on out q full */
-#define		CBREAK		0x00000002	/* half-cooked mode */
-#define		LCASE		0x00000004	/* simulate lower case */
-#define		ECHO		0x00000008	/* enable echoing */
-#define		CRMOD		0x00000010	/* map \r to \r\n on output */
-#define		RAW		0x00000020	/* no i/o processing */
-#define		ODDP		0x00000040	/* get/send odd parity */
-#define		EVENP		0x00000080	/* get/send even parity */
-#define		ANYP		0x000000c0	/* get any parity/send none */
-#define		NLDELAY		0x00000300	/* \n delay */
-#define			NL0	0x00000000
-#define			NL1	0x00000100	/* tty 37 */
-#define			NL2	0x00000200	/* vt05 */
-#define			NL3	0x00000300
-#define		TBDELAY		0x00000c00	/* horizontal tab delay */
-#define			TAB0	0x00000000
-#define			TAB1	0x00000400	/* tty 37 */
-#define			TAB2	0x00000800
-#define		XTABS		0x00000c00	/* expand tabs on output */
-#define		CRDELAY		0x00003000	/* \r delay */
-#define			CR0	0x00000000
-#define			CR1	0x00001000	/* tn 300 */
-#define			CR2	0x00002000	/* tty 37 */
-#define			CR3	0x00003000	/* concept 100 */
-#define		VTDELAY		0x00004000	/* vertical tab delay */
-#define			FF0	0x00000000
-#define			FF1	0x00004000	/* tty 37 */
-#define		BSDELAY		0x00008000	/* \b delay */
-#define			BS0	0x00000000
-#define			BS1	0x00008000
-#define		ALLDELAY	(NLDELAY|TBDELAY|CRDELAY|VTDELAY|BSDELAY)
-#define		CRTBS		0x00010000	/* do backspacing for crt */
-#define		PRTERA		0x00020000	/* \ ... / erase */
-#define		CRTERA		0x00040000	/* " \b " to wipe out char */
-#define		TILDE		0x00080000	/* hazeltine tilde kludge */
-#define		MDMBUF		0x00100000	/* DTR/DCD hardware flow control */
-#define		LITOUT		0x00200000	/* literal output */
-#define		TOSTOP		0x00400000	/* stop background jobs on output */
-#define		FLUSHO		0x00800000	/* output being flushed (state) */
-#define		NOHANG		0x01000000	/* (no-op) was no SIGHUP on carrier drop */
-#define		L001000		0x02000000
-#define		CRTKIL		0x04000000	/* kill line with " \b " */
-#define		PASS8		0x08000000
-#define		CTLECH		0x10000000	/* echo control chars as ^X */
-#define		PENDIN		0x20000000	/* re-echo input buffer at next read */
-#define		DECCTQ		0x40000000	/* only ^Q starts after ^S */
-#define		NOFLSH		0x80000000	/* don't flush output on signal */
-#endif
-#define	TIOCLBIS	_IOW('t', 127, int)	/* bis local mode bits */
-#define	TIOCLBIC	_IOW('t', 126, int)	/* bic local mode bits */
-#define	TIOCLSET	_IOW('t', 125, int)	/* set entire local mode word */
-#define	TIOCLGET	_IOR('t', 124, int)	/* get local modes */
-#define		LCRTBS		(CRTBS>>16)
-#define		LPRTERA		(PRTERA>>16)
-#define		LCRTERA		(CRTERA>>16)
-#define		LTILDE		(TILDE>>16)
-#define		LMDMBUF		(MDMBUF>>16)
-#define		LLITOUT		(LITOUT>>16)
-#define		LTOSTOP		(TOSTOP>>16)
-#define		LFLUSHO		(FLUSHO>>16)
-#define		LNOHANG		(NOHANG>>16)
-#define		LCRTKIL		(CRTKIL>>16)
-#define		LPASS8		(PASS8>>16)
-#define		LCTLECH		(CTLECH>>16)
-#define		LPENDIN		(PENDIN>>16)
-#define		LDECCTQ		(DECCTQ>>16)
-#define		LNOFLSH		(NOFLSH>>16)
-//#if !defined(__mips__)
-#define	TIOCSLTC	_IOW('t',117,struct ltchars)/* set local special chars*/
-#define	TIOCGLTC	_IOR('t',116,struct ltchars)/* get local special chars*/
-//#endif
-#define OTIOCCONS	_IO('t', 98)	/* for hp300 -- sans int arg */
-#define	OTTYDISC	0
-#define	NETLDISC	1
-#define	NTTYDISC	2
-
-#endif /* !_SYS_IOCTL_COMPAT_H_ */
diff --git a/ndk/platforms/android-21/arch-p/include/sys/reg.h b/ndk/platforms/android-21/arch-p/include/sys/reg.h
deleted file mode 100644
index b671110..0000000
--- a/ndk/platforms/android-21/arch-p/include/sys/reg.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright 2014, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <_FORBIDDEN_HEADER.h>
diff --git a/ndk/platforms/android-21/arch-p/include/sys/socket.h b/ndk/platforms/android-21/arch-p/include/sys/socket.h
deleted file mode 100644
index f8f4df3..0000000
--- a/ndk/platforms/android-21/arch-p/include/sys/socket.h
+++ /dev/null
@@ -1,328 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#ifndef _SYS_SOCKET_H_
-#define _SYS_SOCKET_H_
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <linux/socket.h>
-
-#include <asm/fcntl.h>
-#include <asm/socket.h>
-#include <linux/sockios.h>
-#include <linux/uio.h>
-#include <linux/types.h>
-#include <linux/compiler.h>
-
-__BEGIN_DECLS
-
-#define sockaddr_storage __kernel_sockaddr_storage
-typedef unsigned short sa_family_t;
-
-struct timespec;
-
-#ifdef __mips__
-#define SOCK_DGRAM      1
-#define SOCK_STREAM     2
-#define SOCK_RAW        3
-#define SOCK_RDM        4
-#define SOCK_SEQPACKET  5
-#define SOCK_DCCP       6
-#define SOCK_PACKET     10
-#else
-#define SOCK_STREAM      1
-#define SOCK_DGRAM       2
-#define SOCK_RAW         3
-#define SOCK_RDM         4
-#define SOCK_SEQPACKET   5
-#define SOCK_PACKET      10
-#endif
-
-#define SOCK_CLOEXEC O_CLOEXEC
-#define SOCK_NONBLOCK O_NONBLOCK
-
-enum {
-  SHUT_RD = 0,
-#define SHUT_RD         SHUT_RD
-  SHUT_WR,
-#define SHUT_WR         SHUT_WR
-  SHUT_RDWR
-#define SHUT_RDWR       SHUT_RDWR
-};
-
-struct sockaddr {
-  sa_family_t sa_family;
-  char sa_data[14];
-};
-
-struct linger {
-  int l_onoff;
-  int l_linger;
-};
-
-struct msghdr {
-  void* msg_name;
-  socklen_t msg_namelen;
-  struct iovec* msg_iov;
-  size_t msg_iovlen;
-  void* msg_control;
-  size_t msg_controllen;
-  int msg_flags;
-};
-
-struct mmsghdr {
-  struct msghdr msg_hdr;
-  unsigned int msg_len;
-};
-
-struct cmsghdr {
-  size_t cmsg_len;
-  int cmsg_level;
-  int cmsg_type;
-};
-
-#define CMSG_NXTHDR(mhdr, cmsg) __cmsg_nxthdr((mhdr), (cmsg))
-#define CMSG_ALIGN(len) ( ((len)+sizeof(long)-1) & ~(sizeof(long)-1) )
-#define CMSG_DATA(cmsg) ((void*)((char*)(cmsg) + CMSG_ALIGN(sizeof(struct cmsghdr))))
-#define CMSG_SPACE(len) (CMSG_ALIGN(sizeof(struct cmsghdr)) + CMSG_ALIGN(len))
-#define CMSG_LEN(len) (CMSG_ALIGN(sizeof(struct cmsghdr)) + (len))
-#define CMSG_FIRSTHDR(msg) \
-  ((msg)->msg_controllen >= sizeof(struct cmsghdr) \
-   ? (struct cmsghdr*) (msg)->msg_control : (struct cmsghdr*) NULL)
-#define CMSG_OK(mhdr, cmsg) ((cmsg)->cmsg_len >= sizeof(struct cmsghdr) &&   (cmsg)->cmsg_len <= (unsigned long)   ((mhdr)->msg_controllen -   ((char*)(cmsg) - (char*)(mhdr)->msg_control)))
-
-struct cmsghdr* __cmsg_nxthdr(struct msghdr*, struct cmsghdr*);
-
-#define SCM_RIGHTS 0x01
-#define SCM_CREDENTIALS 0x02
-#define SCM_SECURITY 0x03
-
-struct ucred {
-  pid_t pid;
-  uid_t uid;
-  gid_t gid;
-};
-
-#define AF_UNSPEC 0
-#define AF_UNIX 1
-#define AF_LOCAL 1
-#define AF_INET 2
-#define AF_AX25 3
-#define AF_IPX 4
-#define AF_APPLETALK 5
-#define AF_NETROM 6
-#define AF_BRIDGE 7
-#define AF_ATMPVC 8
-#define AF_X25 9
-#define AF_INET6 10
-#define AF_ROSE 11
-#define AF_DECnet 12
-#define AF_NETBEUI 13
-#define AF_SECURITY 14
-#define AF_KEY 15
-#define AF_NETLINK 16
-#define AF_ROUTE AF_NETLINK
-#define AF_PACKET 17
-#define AF_ASH 18
-#define AF_ECONET 19
-#define AF_ATMSVC 20
-#define AF_RDS 21
-#define AF_SNA 22
-#define AF_IRDA 23
-#define AF_PPPOX 24
-#define AF_WANPIPE 25
-#define AF_LLC 26
-#define AF_CAN 29
-#define AF_TIPC 30
-#define AF_BLUETOOTH 31
-#define AF_IUCV 32
-#define AF_RXRPC 33
-#define AF_ISDN 34
-#define AF_PHONET 35
-#define AF_IEEE802154 36
-#define AF_CAIF 37
-#define AF_ALG 38
-#define AF_MAX 39
-
-#define PF_UNSPEC AF_UNSPEC
-#define PF_UNIX AF_UNIX
-#define PF_LOCAL AF_LOCAL
-#define PF_INET AF_INET
-#define PF_AX25 AF_AX25
-#define PF_IPX AF_IPX
-#define PF_APPLETALK AF_APPLETALK
-#define PF_NETROM AF_NETROM
-#define PF_BRIDGE AF_BRIDGE
-#define PF_ATMPVC AF_ATMPVC
-#define PF_X25 AF_X25
-#define PF_INET6 AF_INET6
-#define PF_ROSE AF_ROSE
-#define PF_DECnet AF_DECnet
-#define PF_NETBEUI AF_NETBEUI
-#define PF_SECURITY AF_SECURITY
-#define PF_KEY AF_KEY
-#define PF_NETLINK AF_NETLINK
-#define PF_ROUTE AF_ROUTE
-#define PF_PACKET AF_PACKET
-#define PF_ASH AF_ASH
-#define PF_ECONET AF_ECONET
-#define PF_ATMSVC AF_ATMSVC
-#define PF_RDS AF_RDS
-#define PF_SNA AF_SNA
-#define PF_IRDA AF_IRDA
-#define PF_PPPOX AF_PPPOX
-#define PF_WANPIPE AF_WANPIPE
-#define PF_LLC AF_LLC
-#define PF_CAN AF_CAN
-#define PF_TIPC AF_TIPC
-#define PF_BLUETOOTH AF_BLUETOOTH
-#define PF_IUCV AF_IUCV
-#define PF_RXRPC AF_RXRPC
-#define PF_ISDN AF_ISDN
-#define PF_PHONET AF_PHONET
-#define PF_IEEE802154 AF_IEEE802154
-#define PF_CAIF AF_CAIF
-#define PF_ALG AF_ALG
-#define PF_MAX AF_MAX
-
-#define SOMAXCONN 128
-
-#define MSG_OOB 1
-#define MSG_PEEK 2
-#define MSG_DONTROUTE 4
-#define MSG_TRYHARD 4
-#define MSG_CTRUNC 8
-#define MSG_PROBE 0x10
-#define MSG_TRUNC 0x20
-#define MSG_DONTWAIT 0x40
-#define MSG_EOR 0x80
-#define MSG_WAITALL 0x100
-#define MSG_FIN 0x200
-#define MSG_SYN 0x400
-#define MSG_CONFIRM 0x800
-#define MSG_RST 0x1000
-#define MSG_ERRQUEUE 0x2000
-#define MSG_NOSIGNAL 0x4000
-#define MSG_MORE 0x8000
-#define MSG_WAITFORONE 0x10000
-#define MSG_FASTOPEN 0x20000000
-#define MSG_CMSG_CLOEXEC 0x40000000
-#define MSG_EOF MSG_FIN
-#define MSG_CMSG_COMPAT 0
-
-#define SOL_IP 0
-#define SOL_TCP 6
-#define SOL_UDP 17
-#define SOL_IPV6 41
-#define SOL_ICMPV6 58
-#define SOL_SCTP 132
-#define SOL_RAW 255
-#define SOL_IPX 256
-#define SOL_AX25 257
-#define SOL_ATALK 258
-#define SOL_NETROM 259
-#define SOL_ROSE 260
-#define SOL_DECNET 261
-#define SOL_X25 262
-#define SOL_PACKET 263
-#define SOL_ATM 264
-#define SOL_AAL 265
-#define SOL_IRDA 266
-#define SOL_NETBEUI 267
-#define SOL_LLC 268
-#define SOL_DCCP 269
-#define SOL_NETLINK 270
-#define SOL_TIPC 271
-
-#define IPX_TYPE 1
-
-# define __socketcall extern
-
-__socketcall int accept(int, struct sockaddr*, socklen_t*);
-__socketcall int accept4(int, struct sockaddr*, socklen_t*, int);
-__socketcall int bind(int, const struct sockaddr*, int);
-__socketcall int connect(int, const struct sockaddr*, socklen_t);
-__socketcall int getpeername(int, struct sockaddr*, socklen_t*);
-__socketcall int getsockname(int, struct sockaddr*, socklen_t*);
-__socketcall int getsockopt(int, int, int, void*, socklen_t*);
-__socketcall int listen(int, int);
-__socketcall int recvmmsg(int, struct mmsghdr*, unsigned int, int, const struct timespec*);
-__socketcall int recvmsg(int, struct msghdr*, int);
-__socketcall int sendmmsg(int, const struct mmsghdr*, unsigned int, int);
-__socketcall int sendmsg(int, const struct msghdr*, int);
-__socketcall int setsockopt(int, int, int, const void*, socklen_t);
-__socketcall int shutdown(int, int);
-__socketcall int socket(int, int, int);
-__socketcall int socketpair(int, int, int, int*);
-
-extern ssize_t send(int, const void*, size_t, int);
-extern ssize_t recv(int, void*, size_t, int);
-
-__socketcall ssize_t sendto(int, const void*, size_t, int, const struct sockaddr*, socklen_t);
-__socketcall ssize_t recvfrom(int, void*, size_t, int, const struct sockaddr*, socklen_t*);
-
-#if defined(__BIONIC_FORTIFY)
-__errordecl(__recvfrom_error, "recvfrom called with size bigger than buffer");
-extern ssize_t __recvfrom_chk(int, void*, size_t, size_t, int, const struct sockaddr*, socklen_t*);
-extern ssize_t __recvfrom_real(int, void*, size_t, int, const struct sockaddr*, socklen_t*)
-    __asm__(__USER_LABEL_PREFIX__ "recvfrom");
-
-__BIONIC_FORTIFY_INLINE
-ssize_t recvfrom(int fd, void* buf, size_t len, int flags, const struct sockaddr* src_addr, socklen_t* addr_len) {
-  size_t bos = __bos0(buf);
-
-#if !defined(__clang__)
-  if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) {
-    return __recvfrom_real(fd, buf, len, flags, src_addr, addr_len);
-  }
-
-  if (__builtin_constant_p(len) && (len <= bos)) {
-    return __recvfrom_real(fd, buf, len, flags, src_addr, addr_len);
-  }
-
-  if (__builtin_constant_p(len) && (len > bos)) {
-    __recvfrom_error();
-  }
-#endif
-
-  return __recvfrom_chk(fd, buf, len, bos, flags, src_addr, addr_len);
-}
-
-__BIONIC_FORTIFY_INLINE
-ssize_t recv(int socket, void* buf, size_t len, int flags) {
-  return recvfrom(socket, buf, len, flags, NULL, 0);
-}
-
-#endif /* __BIONIC_FORTIFY */
-
-#undef __socketcall
-
-__END_DECLS
-
-#endif /* _SYS_SOCKET_H */
diff --git a/ndk/platforms/android-21/arch-p/include/sys/stat.h b/ndk/platforms/android-21/arch-p/include/sys/stat.h
deleted file mode 100644
index 95ab1de..0000000
--- a/ndk/platforms/android-21/arch-p/include/sys/stat.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-#ifndef _SYS_STAT_H_
-#define _SYS_STAT_H_
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <sys/time.h>
-#include <linux/stat.h>
-
-#include <endian.h>
-
-__BEGIN_DECLS
-
-#define __STAT64_BODY \
-  unsigned long st_dev; \
-  unsigned long st_ino; \
-  unsigned long st_mode; \
-  unsigned long st_nlink; \
-  uid_t st_uid; /* 32-bit uid_t */ \
-  unsigned char padding[4]; \
-  gid_t st_gid; /* 32-bit gid_t */ \
-  unsigned char padding2[4]; \
-  unsigned long st_rdev; \
-  long st_size; \
-  long st_blksize; \
-  long st_blocks; \
-  long st_atime; \
-  unsigned long st_atime_nsec; \
-  long st_mtime; \
-  unsigned long st_mtime_nsec; \
-  long st_ctime; \
-  unsigned long st_ctime_nsec; \
-  unsigned char padding3[8];
-
-struct stat { __STAT64_BODY };
-struct stat64 { __STAT64_BODY };
-
-#undef __STAT64_BODY
-
-#define st_atimensec st_atime_nsec
-#define st_mtimensec st_mtime_nsec
-#define st_ctimensec st_ctime_nsec
-
-#ifdef __USE_BSD
-/* Permission macros provided by glibc for compatibility with BSDs. */
-#define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO) /* 0777 */
-#define ALLPERMS    (S_ISUID | S_ISGID | S_ISVTX | S_IRWXU | S_IRWXG | S_IRWXO) /* 07777 */
-#define DEFFILEMODE (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH) /* 0666 */
-#endif
-
-extern int chmod(const char*, mode_t);
-extern int fchmod(int, mode_t);
-extern int mkdir(const char*, mode_t);
-
-extern int fstat(int, struct stat*);
-extern int fstat64(int, struct stat64*);
-extern int fstatat(int, const char*, struct stat*, int);
-extern int fstatat64(int, const char*, struct stat64*, int);
-extern int lstat(const char*, struct stat*);
-extern int lstat64(const char*, struct stat64*);
-extern int stat(const char*, struct stat*);
-extern int stat64(const char*, struct stat64*);
-
-extern int mknod(const char*, mode_t, dev_t);
-extern mode_t umask(mode_t);
-
-#if defined(__BIONIC_FORTIFY)
-
-extern mode_t __umask_chk(mode_t);
-extern mode_t __umask_real(mode_t) __asm__(__USER_LABEL_PREFIX__ "umask");
-__errordecl(__umask_invalid_mode, "umask called with invalid mode");
-
-__BIONIC_FORTIFY_INLINE
-mode_t umask(mode_t mode) {
-#if !defined(__clang__)
-  if (__builtin_constant_p(mode)) {
-    if ((mode & 0777) != mode) {
-      __umask_invalid_mode();
-    }
-    return __umask_real(mode);
-  }
-#endif
-  return __umask_chk(mode);
-}
-#endif /* defined(__BIONIC_FORTIFY) */
-
-extern int mkfifo(const char*, mode_t);
-
-extern int fchmodat(int, const char*, mode_t, int);
-extern int mkdirat(int, const char*, mode_t);
-extern int mknodat(int, const char*, mode_t, dev_t);
-
-#define UTIME_NOW  ((1L << 30) - 1L)
-#define UTIME_OMIT ((1L << 30) - 2L)
-extern int utimensat(int fd, const char *path, const struct timespec times[2], int flags);
-extern int futimens(int fd, const struct timespec times[2]);
-
-__END_DECLS
-
-#endif /* _SYS_STAT_H_ */
diff --git a/ndk/platforms/android-21/arch-p/include/sys/ucontext.h b/ndk/platforms/android-21/arch-p/include/sys/ucontext.h
deleted file mode 100644
index b671110..0000000
--- a/ndk/platforms/android-21/arch-p/include/sys/ucontext.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright 2014, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <_FORBIDDEN_HEADER.h>
diff --git a/ndk/platforms/android-21/arch-p/include/sys/user.h b/ndk/platforms/android-21/arch-p/include/sys/user.h
deleted file mode 100644
index b671110..0000000
--- a/ndk/platforms/android-21/arch-p/include/sys/user.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright 2014, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <_FORBIDDEN_HEADER.h>
diff --git a/ndk/platforms/android-21/arch-p/include/sys/vfs.h b/ndk/platforms/android-21/arch-p/include/sys/vfs.h
deleted file mode 100644
index 194c229..0000000
--- a/ndk/platforms/android-21/arch-p/include/sys/vfs.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-#ifndef _SYS_VFS_H_
-#define _SYS_VFS_H_
-
-#include <stdint.h>
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-__BEGIN_DECLS
-
-/* The kernel's __kernel_fsid_t has a 'val' member but glibc uses '__val'. */
-typedef struct { int __val[2]; } __fsid_t;
-typedef __fsid_t fsid_t;
-
-#define __STATFS64_BODY \
-  uint64_t f_type; \
-  uint64_t f_bsize; \
-  uint64_t f_blocks; \
-  uint64_t f_bfree; \
-  uint64_t f_bavail; \
-  uint64_t f_files; \
-  uint64_t f_ffree; \
-  fsid_t f_fsid; \
-  uint64_t f_namelen; \
-  uint64_t f_frsize; \
-  uint64_t f_flags; \
-  uint64_t f_spare[5];
-
-
-struct statfs { __STATFS64_BODY };
-struct statfs64 { __STATFS64_BODY };
-
-#undef __STATFS64_BODY
-
-/* Declare that we have the f_namelen, f_frsize, and f_flags fields. */
-#define _STATFS_F_NAMELEN
-#define _STATFS_F_FRSIZE
-#define _STATFS_F_FLAGS
-
-#define  ADFS_SUPER_MAGIC      0xadf5
-#define  AFFS_SUPER_MAGIC      0xADFF
-#define  BEFS_SUPER_MAGIC      0x42465331
-#define  BFS_MAGIC             0x1BADFACE
-#define  CIFS_MAGIC_NUMBER     0xFF534D42
-#define  CODA_SUPER_MAGIC      0x73757245
-#define  COH_SUPER_MAGIC       0x012FF7B7
-#define  CRAMFS_MAGIC          0x28cd3d45
-#define  DEVFS_SUPER_MAGIC     0x1373
-#define  EFS_SUPER_MAGIC       0x00414A53
-#define  EXT_SUPER_MAGIC       0x137D
-#define  EXT2_OLD_SUPER_MAGIC  0xEF51
-#define  EXT2_SUPER_MAGIC      0xEF53
-#define  EXT3_SUPER_MAGIC      0xEF53
-#define  HFS_SUPER_MAGIC       0x4244
-#define  HPFS_SUPER_MAGIC      0xF995E849
-#define  HUGETLBFS_MAGIC       0x958458f6
-#define  ISOFS_SUPER_MAGIC     0x9660
-#define  JFFS2_SUPER_MAGIC     0x72b6
-#define  JFS_SUPER_MAGIC       0x3153464a
-#define  MINIX_SUPER_MAGIC     0x137F /* orig. minix */
-#define  MINIX_SUPER_MAGIC2    0x138F /* 30 char minix */
-#define  MINIX2_SUPER_MAGIC    0x2468 /* minix V2 */
-#define  MINIX2_SUPER_MAGIC2   0x2478 /* minix V2, 30 char names */
-#define  MSDOS_SUPER_MAGIC     0x4d44
-#define  NCP_SUPER_MAGIC       0x564c
-#define  NFS_SUPER_MAGIC       0x6969
-#define  NTFS_SB_MAGIC         0x5346544e
-#define  OPENPROM_SUPER_MAGIC  0x9fa1
-#define  PROC_SUPER_MAGIC      0x9fa0
-#define  QNX4_SUPER_MAGIC      0x002f
-#define  REISERFS_SUPER_MAGIC  0x52654973
-#define  ROMFS_MAGIC           0x7275
-#define  SMB_SUPER_MAGIC       0x517B
-#define  SYSV2_SUPER_MAGIC     0x012FF7B6
-#define  SYSV4_SUPER_MAGIC     0x012FF7B5
-#define  TMPFS_MAGIC           0x01021994
-#define  UDF_SUPER_MAGIC       0x15013346
-#define  UFS_MAGIC             0x00011954
-#define  USBDEVICE_SUPER_MAGIC 0x9fa2
-#define  VXFS_SUPER_MAGIC      0xa501FCF5
-#define  XENIX_SUPER_MAGIC     0x012FF7B4
-#define  XFS_SUPER_MAGIC       0x58465342
-#define  _XIAFS_SUPER_MAGIC    0x012FD16D
-
-extern int statfs(const char*, struct statfs*) __nonnull((1, 2));
-extern int statfs64(const char*, struct statfs64*) __nonnull((1, 2));
-extern int fstatfs(int, struct statfs*) __nonnull((2));
-extern int fstatfs64(int, struct statfs64*) __nonnull((2));
-
-__END_DECLS
-
-#endif /* _SYS_VFS_H_ */
diff --git a/ndk/platforms/android-21/arch-p/symbols/libEGL.so.functions.txt b/ndk/platforms/android-21/arch-p/symbols/libEGL.so.functions.txt
deleted file mode 100644
index 12d92a3..0000000
--- a/ndk/platforms/android-21/arch-p/symbols/libEGL.so.functions.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-eglBindAPI
-eglBindTexImage
-eglChooseConfig
-eglCopyBuffers
-eglCreateContext
-eglCreateImageKHR
-eglCreatePbufferFromClientBuffer
-eglCreatePbufferSurface
-eglCreatePixmapSurface
-eglCreateWindowSurface
-eglDestroyContext
-eglDestroyImageKHR
-eglDestroySurface
-eglGetConfigAttrib
-eglGetConfigs
-eglGetCurrentContext
-eglGetCurrentDisplay
-eglGetCurrentSurface
-eglGetDisplay
-eglGetError
-eglGetProcAddress
-eglInitialize
-eglLockSurfaceKHR
-eglMakeCurrent
-eglQueryAPI
-eglQueryContext
-eglQueryString
-eglQuerySurface
-eglReleaseTexImage
-eglReleaseThread
-eglSetSwapRectangleANDROID
-eglSurfaceAttrib
-eglSwapBuffers
-eglSwapInterval
-eglTerminate
-eglUnlockSurfaceKHR
-eglWaitClient
-eglWaitGL
-eglWaitNative
diff --git a/ndk/platforms/android-21/arch-p/symbols/libGLESv1_CM.so.functions.txt b/ndk/platforms/android-21/arch-p/symbols/libGLESv1_CM.so.functions.txt
deleted file mode 100644
index af65b58..0000000
--- a/ndk/platforms/android-21/arch-p/symbols/libGLESv1_CM.so.functions.txt
+++ /dev/null
@@ -1,239 +0,0 @@
-glActiveTexture
-glAlphaFunc
-glAlphaFuncx
-glAlphaFuncxOES
-glBindBuffer
-glBindFramebufferOES
-glBindRenderbufferOES
-glBindTexture
-glBlendEquationOES
-glBlendEquationSeparateOES
-glBlendFunc
-glBlendFuncSeparateOES
-glBufferData
-glBufferSubData
-glCheckFramebufferStatusOES
-glClear
-glClearColor
-glClearColorx
-glClearColorxOES
-glClearDepthf
-glClearDepthfOES
-glClearDepthx
-glClearDepthxOES
-glClearStencil
-glClientActiveTexture
-glClipPlanef
-glClipPlanefOES
-glClipPlanex
-glClipPlanexOES
-glColor4f
-glColor4ub
-glColor4x
-glColor4xOES
-glColorMask
-glColorPointer
-glColorPointerBounds
-glCompressedTexImage2D
-glCompressedTexSubImage2D
-glCopyTexImage2D
-glCopyTexSubImage2D
-glCullFace
-glCurrentPaletteMatrixOES
-glDeleteBuffers
-glDeleteFramebuffersOES
-glDeleteRenderbuffersOES
-glDeleteTextures
-glDepthFunc
-glDepthMask
-glDepthRangef
-glDepthRangefOES
-glDepthRangex
-glDepthRangexOES
-glDisable
-glDisableClientState
-glDrawArrays
-glDrawElements
-glDrawTexfOES
-glDrawTexfvOES
-glDrawTexiOES
-glDrawTexivOES
-glDrawTexsOES
-glDrawTexsvOES
-glDrawTexxOES
-glDrawTexxvOES
-glEGLImageTargetRenderbufferStorageOES
-glEGLImageTargetTexture2DOES
-glEnable
-glEnableClientState
-glFinish
-glFlush
-glFogf
-glFogfv
-glFogx
-glFogxOES
-glFogxv
-glFogxvOES
-glFramebufferRenderbufferOES
-glFramebufferTexture2DOES
-glFrontFace
-glFrustumf
-glFrustumfOES
-glFrustumx
-glFrustumxOES
-glGenBuffers
-glGenerateMipmapOES
-glGenFramebuffersOES
-glGenRenderbuffersOES
-glGenTextures
-glGetBooleanv
-glGetBufferParameteriv
-glGetBufferPointervOES
-glGetClipPlanef
-glGetClipPlanefOES
-glGetClipPlanex
-glGetClipPlanexOES
-glGetError
-glGetFixedv
-glGetFixedvOES
-glGetFloatv
-glGetFramebufferAttachmentParameterivOES
-glGetIntegerv
-glGetLightfv
-glGetLightxv
-glGetLightxvOES
-glGetMaterialfv
-glGetMaterialxv
-glGetMaterialxvOES
-glGetPointerv
-glGetRenderbufferParameterivOES
-glGetString
-glGetTexEnvfv
-glGetTexEnviv
-glGetTexEnvxv
-glGetTexEnvxvOES
-glGetTexGenfvOES
-glGetTexGenivOES
-glGetTexGenxvOES
-glGetTexParameterfv
-glGetTexParameteriv
-glGetTexParameterxv
-glGetTexParameterxvOES
-glHint
-glIsBuffer
-glIsEnabled
-glIsFramebufferOES
-glIsRenderbufferOES
-glIsTexture
-glLightf
-glLightfv
-glLightModelf
-glLightModelfv
-glLightModelx
-glLightModelxOES
-glLightModelxv
-glLightModelxvOES
-glLightx
-glLightxOES
-glLightxv
-glLightxvOES
-glLineWidth
-glLineWidthx
-glLineWidthxOES
-glLoadIdentity
-glLoadMatrixf
-glLoadMatrixx
-glLoadMatrixxOES
-glLoadPaletteFromModelViewMatrixOES
-glLogicOp
-glMapBufferOES
-glMaterialf
-glMaterialfv
-glMaterialx
-glMaterialxOES
-glMaterialxv
-glMaterialxvOES
-glMatrixIndexPointerOES
-glMatrixMode
-glMultiTexCoord4f
-glMultiTexCoord4x
-glMultiTexCoord4xOES
-glMultMatrixf
-glMultMatrixx
-glMultMatrixxOES
-glNormal3f
-glNormal3x
-glNormal3xOES
-glNormalPointer
-glNormalPointerBounds
-glOrthof
-glOrthofOES
-glOrthox
-glOrthoxOES
-glPixelStorei
-glPointParameterf
-glPointParameterfv
-glPointParameterx
-glPointParameterxOES
-glPointParameterxv
-glPointParameterxvOES
-glPointSize
-glPointSizePointerOES
-glPointSizex
-glPointSizexOES
-glPolygonOffset
-glPolygonOffsetx
-glPolygonOffsetxOES
-glPopMatrix
-glPushMatrix
-glQueryMatrixxOES
-glReadPixels
-glRenderbufferStorageOES
-glRotatef
-glRotatex
-glRotatexOES
-glSampleCoverage
-glSampleCoveragex
-glSampleCoveragexOES
-glScalef
-glScalex
-glScalexOES
-glScissor
-glShadeModel
-glStencilFunc
-glStencilMask
-glStencilOp
-glTexCoordPointer
-glTexCoordPointerBounds
-glTexEnvf
-glTexEnvfv
-glTexEnvi
-glTexEnviv
-glTexEnvx
-glTexEnvxOES
-glTexEnvxv
-glTexEnvxvOES
-glTexGenfOES
-glTexGenfvOES
-glTexGeniOES
-glTexGenivOES
-glTexGenxOES
-glTexGenxvOES
-glTexImage2D
-glTexParameterf
-glTexParameterfv
-glTexParameteri
-glTexParameteriv
-glTexParameterx
-glTexParameterxOES
-glTexParameterxv
-glTexParameterxvOES
-glTexSubImage2D
-glTranslatef
-glTranslatex
-glTranslatexOES
-glUnmapBufferOES
-glVertexPointer
-glVertexPointerBounds
-glViewport
-glWeightPointerOES
diff --git a/ndk/platforms/android-21/arch-p/symbols/libGLESv2.so.functions.txt b/ndk/platforms/android-21/arch-p/symbols/libGLESv2.so.functions.txt
deleted file mode 100644
index 8739b3d..0000000
--- a/ndk/platforms/android-21/arch-p/symbols/libGLESv2.so.functions.txt
+++ /dev/null
@@ -1,177 +0,0 @@
-glActiveTexture
-glAttachShader
-glBeginPerfMonitorAMD
-glBindAttribLocation
-glBindBuffer
-glBindFramebuffer
-glBindRenderbuffer
-glBindTexture
-glBlendColor
-glBlendEquation
-glBlendEquationSeparate
-glBlendFunc
-glBlendFuncSeparate
-glBufferData
-glBufferSubData
-glCheckFramebufferStatus
-glClear
-glClearColor
-glClearDepthf
-glClearStencil
-glColorMask
-glCompileShader
-glCompressedTexImage2D
-glCompressedTexImage3DOES
-glCompressedTexSubImage2D
-glCompressedTexSubImage3DOES
-glCopyTexImage2D
-glCopyTexSubImage2D
-glCopyTexSubImage3DOES
-glCreateProgram
-glCreateShader
-glCullFace
-glDeleteBuffers
-glDeleteFencesNV
-glDeleteFramebuffers
-glDeletePerfMonitorsAMD
-glDeleteProgram
-glDeleteRenderbuffers
-glDeleteShader
-glDeleteTextures
-glDepthFunc
-glDepthMask
-glDepthRangef
-glDetachShader
-glDisable
-glDisableDriverControlQCOM
-glDisableVertexAttribArray
-glDrawArrays
-glDrawElements
-glEGLImageTargetRenderbufferStorageOES
-glEGLImageTargetTexture2DOES
-glEnable
-glEnableDriverControlQCOM
-glEnableVertexAttribArray
-glEndPerfMonitorAMD
-glFinish
-glFinishFenceNV
-glFlush
-glFramebufferRenderbuffer
-glFramebufferTexture2D
-glFramebufferTexture3DOES
-glFrontFace
-glGenBuffers
-glGenerateMipmap
-glGenFencesNV
-glGenFramebuffers
-glGenPerfMonitorsAMD
-glGenRenderbuffers
-glGenTextures
-glGetActiveAttrib
-glGetActiveUniform
-glGetAttachedShaders
-glGetAttribLocation
-glGetBooleanv
-glGetBufferParameteriv
-glGetBufferPointervOES
-glGetDriverControlsQCOM
-glGetDriverControlStringQCOM
-glGetError
-glGetFenceivNV
-glGetFloatv
-glGetFramebufferAttachmentParameteriv
-glGetIntegerv
-glGetPerfMonitorCounterDataAMD
-glGetPerfMonitorCounterInfoAMD
-glGetPerfMonitorCountersAMD
-glGetPerfMonitorCounterStringAMD
-glGetPerfMonitorGroupsAMD
-glGetPerfMonitorGroupStringAMD
-glGetProgramBinaryOES
-glGetProgramInfoLog
-glGetProgramiv
-glGetRenderbufferParameteriv
-glGetShaderInfoLog
-glGetShaderiv
-glGetShaderPrecisionFormat
-glGetShaderSource
-glGetString
-glGetTexParameterfv
-glGetTexParameteriv
-glGetUniformfv
-glGetUniformiv
-glGetUniformLocation
-glGetVertexAttribfv
-glGetVertexAttribiv
-glGetVertexAttribPointerv
-glHint
-glIsBuffer
-glIsEnabled
-glIsFenceNV
-glIsFramebuffer
-glIsProgram
-glIsRenderbuffer
-glIsShader
-glIsTexture
-glLineWidth
-glLinkProgram
-glMapBufferOES
-glPixelStorei
-glPolygonOffset
-glProgramBinaryOES
-glReadPixels
-glReleaseShaderCompiler
-glRenderbufferStorage
-glSampleCoverage
-glScissor
-glSelectPerfMonitorCountersAMD
-glSetFenceNV
-glShaderBinary
-glShaderSource
-glStencilFunc
-glStencilFuncSeparate
-glStencilMask
-glStencilMaskSeparate
-glStencilOp
-glStencilOpSeparate
-glTestFenceNV
-glTexImage2D
-glTexImage3DOES
-glTexParameterf
-glTexParameterfv
-glTexParameteri
-glTexParameteriv
-glTexSubImage2D
-glTexSubImage3DOES
-glUniform1f
-glUniform1fv
-glUniform1i
-glUniform1iv
-glUniform2f
-glUniform2fv
-glUniform2i
-glUniform2iv
-glUniform3f
-glUniform3fv
-glUniform3i
-glUniform3iv
-glUniform4f
-glUniform4fv
-glUniform4i
-glUniform4iv
-glUniformMatrix2fv
-glUniformMatrix3fv
-glUniformMatrix4fv
-glUnmapBufferOES
-glUseProgram
-glValidateProgram
-glVertexAttrib1f
-glVertexAttrib1fv
-glVertexAttrib2f
-glVertexAttrib2fv
-glVertexAttrib3f
-glVertexAttrib3fv
-glVertexAttrib4f
-glVertexAttrib4fv
-glVertexAttribPointer
-glViewport
diff --git a/ndk/platforms/android-21/arch-p/symbols/libGLESv3.so.functions.txt b/ndk/platforms/android-21/arch-p/symbols/libGLESv3.so.functions.txt
deleted file mode 100644
index b2510e0..0000000
--- a/ndk/platforms/android-21/arch-p/symbols/libGLESv3.so.functions.txt
+++ /dev/null
@@ -1,367 +0,0 @@
-glActiveShaderProgram
-glActiveTexture
-glAttachShader
-glBeginQuery
-glBeginTransformFeedback
-glBindAttribLocation
-glBindBuffer
-glBindBufferBase
-glBindBufferRange
-glBindFramebuffer
-glBindImageTexture
-glBindProgramPipeline
-glBindRenderbuffer
-glBindSampler
-glBindTexture
-glBindTransformFeedback
-glBindVertexArray
-glBindVertexArrayOES
-glBindVertexBuffer
-glBlendBarrierKHR
-glBlendColor
-glBlendEquation
-glBlendEquationiEXT
-glBlendEquationSeparate
-glBlendEquationSeparateiEXT
-glBlendFunc
-glBlendFunciEXT
-glBlendFuncSeparate
-glBlendFuncSeparateiEXT
-glBlitFramebuffer
-glBufferData
-glBufferSubData
-glCheckFramebufferStatus
-glClear
-glClearBufferfi
-glClearBufferfv
-glClearBufferiv
-glClearBufferuiv
-glClearColor
-glClearDepthf
-glClearStencil
-glClientWaitSync
-glColorMask
-glColorMaskiEXT
-glCompileShader
-glCompressedTexImage2D
-glCompressedTexImage3D
-glCompressedTexImage3DOES
-glCompressedTexSubImage2D
-glCompressedTexSubImage3D
-glCompressedTexSubImage3DOES
-glCopyBufferSubData
-glCopyImageSubDataEXT
-glCopyTexImage2D
-glCopyTexSubImage2D
-glCopyTexSubImage3D
-glCopyTexSubImage3DOES
-glCreateProgram
-glCreateShader
-glCreateShaderProgramv
-glCullFace
-glDebugMessageCallbackKHR
-glDebugMessageControlKHR
-glDebugMessageInsertKHR
-glDeleteBuffers
-glDeleteFramebuffers
-glDeleteProgram
-glDeleteProgramPipelines
-glDeleteQueries
-glDeleteRenderbuffers
-glDeleteSamplers
-glDeleteShader
-glDeleteSync
-glDeleteTextures
-glDeleteTransformFeedbacks
-glDeleteVertexArrays
-glDeleteVertexArraysOES
-glDepthFunc
-glDepthMask
-glDepthRangef
-glDetachShader
-glDisable
-glDisableiEXT
-glDisableVertexAttribArray
-glDispatchCompute
-glDispatchComputeIndirect
-glDrawArrays
-glDrawArraysIndirect
-glDrawArraysInstanced
-glDrawBuffers
-glDrawElements
-glDrawElementsIndirect
-glDrawElementsInstanced
-glDrawRangeElements
-glEGLImageTargetRenderbufferStorageOES
-glEGLImageTargetTexture2DOES
-glEnable
-glEnableiEXT
-glEnableVertexAttribArray
-glEndQuery
-glEndTransformFeedback
-glFenceSync
-glFinish
-glFlush
-glFlushMappedBufferRange
-glFramebufferParameteri
-glFramebufferRenderbuffer
-glFramebufferTexture2D
-glFramebufferTexture3DOES
-glFramebufferTextureEXT
-glFramebufferTextureLayer
-glFrontFace
-glGenBuffers
-glGenerateMipmap
-glGenFramebuffers
-glGenProgramPipelines
-glGenQueries
-glGenRenderbuffers
-glGenSamplers
-glGenTextures
-glGenTransformFeedbacks
-glGenVertexArrays
-glGenVertexArraysOES
-glGetActiveAttrib
-glGetActiveUniform
-glGetActiveUniformBlockiv
-glGetActiveUniformBlockName
-glGetActiveUniformsiv
-glGetAttachedShaders
-glGetAttribLocation
-glGetBooleani_v
-glGetBooleanv
-glGetBufferParameteri64v
-glGetBufferParameteriv
-glGetBufferPointerv
-glGetBufferPointervOES
-glGetDebugMessageLogKHR
-glGetError
-glGetFloatv
-glGetFragDataLocation
-glGetFramebufferAttachmentParameteriv
-glGetFramebufferParameteriv
-glGetInteger64i_v
-glGetInteger64v
-glGetIntegeri_v
-glGetIntegerv
-glGetInternalformativ
-glGetMultisamplefv
-glGetObjectLabelKHR
-glGetObjectPtrLabelKHR
-glGetPointervKHR
-glGetProgramBinary
-glGetProgramBinaryOES
-glGetProgramInfoLog
-glGetProgramInterfaceiv
-glGetProgramiv
-glGetProgramPipelineInfoLog
-glGetProgramPipelineiv
-glGetProgramResourceIndex
-glGetProgramResourceiv
-glGetProgramResourceLocation
-glGetProgramResourceName
-glGetQueryiv
-glGetQueryObjectuiv
-glGetRenderbufferParameteriv
-glGetSamplerParameterfv
-glGetSamplerParameterIivEXT
-glGetSamplerParameterIuivEXT
-glGetSamplerParameteriv
-glGetShaderInfoLog
-glGetShaderiv
-glGetShaderPrecisionFormat
-glGetShaderSource
-glGetString
-glGetStringi
-glGetSynciv
-glGetTexLevelParameterfv
-glGetTexLevelParameteriv
-glGetTexParameterfv
-glGetTexParameterIivEXT
-glGetTexParameterIuivEXT
-glGetTexParameteriv
-glGetTransformFeedbackVarying
-glGetUniformBlockIndex
-glGetUniformfv
-glGetUniformIndices
-glGetUniformiv
-glGetUniformLocation
-glGetUniformuiv
-glGetVertexAttribfv
-glGetVertexAttribIiv
-glGetVertexAttribIuiv
-glGetVertexAttribiv
-glGetVertexAttribPointerv
-glHint
-glInvalidateFramebuffer
-glInvalidateSubFramebuffer
-glIsBuffer
-glIsEnabled
-glIsEnablediEXT
-glIsFramebuffer
-glIsProgram
-glIsProgramPipeline
-glIsQuery
-glIsRenderbuffer
-glIsSampler
-glIsShader
-glIsSync
-glIsTexture
-glIsTransformFeedback
-glIsVertexArray
-glIsVertexArrayOES
-glLineWidth
-glLinkProgram
-glMapBufferOES
-glMapBufferRange
-glMemoryBarrier
-glMemoryBarrierByRegion
-glMinSampleShadingOES
-glObjectLabelKHR
-glObjectPtrLabelKHR
-glPatchParameteriEXT
-glPauseTransformFeedback
-glPixelStorei
-glPolygonOffset
-glPopDebugGroupKHR
-glPrimitiveBoundingBoxEXT
-glProgramBinary
-glProgramBinaryOES
-glProgramParameteri
-glProgramUniform1f
-glProgramUniform1fv
-glProgramUniform1i
-glProgramUniform1iv
-glProgramUniform1ui
-glProgramUniform1uiv
-glProgramUniform2f
-glProgramUniform2fv
-glProgramUniform2i
-glProgramUniform2iv
-glProgramUniform2ui
-glProgramUniform2uiv
-glProgramUniform3f
-glProgramUniform3fv
-glProgramUniform3i
-glProgramUniform3iv
-glProgramUniform3ui
-glProgramUniform3uiv
-glProgramUniform4f
-glProgramUniform4fv
-glProgramUniform4i
-glProgramUniform4iv
-glProgramUniform4ui
-glProgramUniform4uiv
-glProgramUniformMatrix2fv
-glProgramUniformMatrix2x3fv
-glProgramUniformMatrix2x4fv
-glProgramUniformMatrix3fv
-glProgramUniformMatrix3x2fv
-glProgramUniformMatrix3x4fv
-glProgramUniformMatrix4fv
-glProgramUniformMatrix4x2fv
-glProgramUniformMatrix4x3fv
-glPushDebugGroupKHR
-glReadBuffer
-glReadPixels
-glReleaseShaderCompiler
-glRenderbufferStorage
-glRenderbufferStorageMultisample
-glResumeTransformFeedback
-glSampleCoverage
-glSampleMaski
-glSamplerParameterf
-glSamplerParameterfv
-glSamplerParameteri
-glSamplerParameterIivEXT
-glSamplerParameterIuivEXT
-glSamplerParameteriv
-glScissor
-glShaderBinary
-glShaderSource
-glStencilFunc
-glStencilFuncSeparate
-glStencilMask
-glStencilMaskSeparate
-glStencilOp
-glStencilOpSeparate
-glTexBufferEXT
-glTexBufferRangeEXT
-glTexImage2D
-glTexImage3D
-glTexImage3DOES
-glTexParameterf
-glTexParameterfv
-glTexParameteri
-glTexParameterIivEXT
-glTexParameterIuivEXT
-glTexParameteriv
-glTexStorage2D
-glTexStorage2DMultisample
-glTexStorage3D
-glTexStorage3DMultisampleOES
-glTexSubImage2D
-glTexSubImage3D
-glTexSubImage3DOES
-glTransformFeedbackVaryings
-glUniform1f
-glUniform1fv
-glUniform1i
-glUniform1iv
-glUniform1ui
-glUniform1uiv
-glUniform2f
-glUniform2fv
-glUniform2i
-glUniform2iv
-glUniform2ui
-glUniform2uiv
-glUniform3f
-glUniform3fv
-glUniform3i
-glUniform3iv
-glUniform3ui
-glUniform3uiv
-glUniform4f
-glUniform4fv
-glUniform4i
-glUniform4iv
-glUniform4ui
-glUniform4uiv
-glUniformBlockBinding
-glUniformMatrix2fv
-glUniformMatrix2x3fv
-glUniformMatrix2x4fv
-glUniformMatrix3fv
-glUniformMatrix3x2fv
-glUniformMatrix3x4fv
-glUniformMatrix4fv
-glUniformMatrix4x2fv
-glUniformMatrix4x3fv
-glUnmapBuffer
-glUnmapBufferOES
-glUseProgram
-glUseProgramStages
-glValidateProgram
-glValidateProgramPipeline
-glVertexAttrib1f
-glVertexAttrib1fv
-glVertexAttrib2f
-glVertexAttrib2fv
-glVertexAttrib3f
-glVertexAttrib3fv
-glVertexAttrib4f
-glVertexAttrib4fv
-glVertexAttribBinding
-glVertexAttribDivisor
-glVertexAttribFormat
-glVertexAttribI4i
-glVertexAttribI4iv
-glVertexAttribI4ui
-glVertexAttribI4uiv
-glVertexAttribIFormat
-glVertexAttribIPointer
-glVertexAttribPointer
-glVertexBindingDivisor
-glViewport
-glWaitSync
diff --git a/ndk/platforms/android-21/arch-p/symbols/libOpenMAXAL.so.functions.txt b/ndk/platforms/android-21/arch-p/symbols/libOpenMAXAL.so.functions.txt
deleted file mode 100644
index c3a190c..0000000
--- a/ndk/platforms/android-21/arch-p/symbols/libOpenMAXAL.so.functions.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-xaCreateEngine
-xaQueryNumSupportedEngineInterfaces
-xaQuerySupportedEngineInterfaces
diff --git a/ndk/platforms/android-21/arch-p/symbols/libOpenMAXAL.so.variables.txt b/ndk/platforms/android-21/arch-p/symbols/libOpenMAXAL.so.variables.txt
deleted file mode 100644
index 7ceda9c..0000000
--- a/ndk/platforms/android-21/arch-p/symbols/libOpenMAXAL.so.variables.txt
+++ /dev/null
@@ -1,41 +0,0 @@
-XA_IID_ANDROIDBUFFERQUEUESOURCE
-XA_IID_AUDIODECODERCAPABILITIES
-XA_IID_AUDIOENCODER
-XA_IID_AUDIOENCODERCAPABILITIES
-XA_IID_AUDIOIODEVICECAPABILITIES
-XA_IID_CAMERA
-XA_IID_CAMERACAPABILITIES
-XA_IID_CONFIGEXTENSION
-XA_IID_DEVICEVOLUME
-XA_IID_DYNAMICINTERFACEMANAGEMENT
-XA_IID_DYNAMICSOURCE
-XA_IID_ENGINE
-XA_IID_EQUALIZER
-XA_IID_IMAGECONTROLS
-XA_IID_IMAGEDECODERCAPABILITIES
-XA_IID_IMAGEEFFECTS
-XA_IID_IMAGEENCODER
-XA_IID_IMAGEENCODERCAPABILITIES
-XA_IID_LED
-XA_IID_METADATAEXTRACTION
-XA_IID_METADATAINSERTION
-XA_IID_METADATATRAVERSAL
-XA_IID_NULL
-XA_IID_OBJECT
-XA_IID_OUTPUTMIX
-XA_IID_PLAY
-XA_IID_PLAYBACKRATE
-XA_IID_PREFETCHSTATUS
-XA_IID_RADIO
-XA_IID_RDS
-XA_IID_RECORD
-XA_IID_SEEK
-XA_IID_SNAPSHOT
-XA_IID_STREAMINFORMATION
-XA_IID_THREADSYNC
-XA_IID_VIBRA
-XA_IID_VIDEODECODERCAPABILITIES
-XA_IID_VIDEOENCODER
-XA_IID_VIDEOENCODERCAPABILITIES
-XA_IID_VIDEOPOSTPROCESSING
-XA_IID_VOLUME
diff --git a/ndk/platforms/android-21/arch-p/symbols/libOpenSLES.so.functions.txt b/ndk/platforms/android-21/arch-p/symbols/libOpenSLES.so.functions.txt
deleted file mode 100644
index f69a3e5..0000000
--- a/ndk/platforms/android-21/arch-p/symbols/libOpenSLES.so.functions.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-slCreateEngine
-slQueryNumSupportedEngineInterfaces
-slQuerySupportedEngineInterfaces
diff --git a/ndk/platforms/android-21/arch-p/symbols/libOpenSLES.so.variables.txt b/ndk/platforms/android-21/arch-p/symbols/libOpenSLES.so.variables.txt
deleted file mode 100644
index c7ee7d1..0000000
--- a/ndk/platforms/android-21/arch-p/symbols/libOpenSLES.so.variables.txt
+++ /dev/null
@@ -1,50 +0,0 @@
-SL_IID_3DCOMMIT
-SL_IID_3DDOPPLER
-SL_IID_3DGROUPING
-SL_IID_3DLOCATION
-SL_IID_3DMACROSCOPIC
-SL_IID_3DSOURCE
-SL_IID_ANDROIDBUFFERQUEUESOURCE
-SL_IID_ANDROIDCONFIGURATION
-SL_IID_ANDROIDEFFECT
-SL_IID_ANDROIDEFFECTCAPABILITIES
-SL_IID_ANDROIDEFFECTSEND
-SL_IID_ANDROIDSIMPLEBUFFERQUEUE
-SL_IID_AUDIODECODERCAPABILITIES
-SL_IID_AUDIOENCODER
-SL_IID_AUDIOENCODERCAPABILITIES
-SL_IID_AUDIOIODEVICECAPABILITIES
-SL_IID_BASSBOOST
-SL_IID_BUFFERQUEUE
-SL_IID_DEVICEVOLUME
-SL_IID_DYNAMICINTERFACEMANAGEMENT
-SL_IID_DYNAMICSOURCE
-SL_IID_EFFECTSEND
-SL_IID_ENGINE
-SL_IID_ENGINECAPABILITIES
-SL_IID_ENVIRONMENTALREVERB
-SL_IID_EQUALIZER
-SL_IID_LED
-SL_IID_METADATAEXTRACTION
-SL_IID_METADATATRAVERSAL
-SL_IID_MIDIMESSAGE
-SL_IID_MIDIMUTESOLO
-SL_IID_MIDITEMPO
-SL_IID_MIDITIME
-SL_IID_MUTESOLO
-SL_IID_NULL
-SL_IID_OBJECT
-SL_IID_OUTPUTMIX
-SL_IID_PITCH
-SL_IID_PLAY
-SL_IID_PLAYBACKRATE
-SL_IID_PREFETCHSTATUS
-SL_IID_PRESETREVERB
-SL_IID_RATEPITCH
-SL_IID_RECORD
-SL_IID_SEEK
-SL_IID_THREADSYNC
-SL_IID_VIBRA
-SL_IID_VIRTUALIZER
-SL_IID_VISUALIZATION
-SL_IID_VOLUME
diff --git a/ndk/platforms/android-21/arch-p/symbols/libandroid.so.functions.txt b/ndk/platforms/android-21/arch-p/symbols/libandroid.so.functions.txt
deleted file mode 100644
index a164f8c..0000000
--- a/ndk/platforms/android-21/arch-p/symbols/libandroid.so.functions.txt
+++ /dev/null
@@ -1,179 +0,0 @@
-AAsset_close
-AAssetDir_close
-AAssetDir_getNextFileName
-AAssetDir_rewind
-AAsset_getBuffer
-AAsset_getLength
-AAsset_getLength64
-AAsset_getRemainingLength
-AAsset_getRemainingLength64
-AAsset_isAllocated
-AAssetManager_fromJava
-AAssetManager_open
-AAssetManager_openDir
-AAsset_openFileDescriptor
-AAsset_openFileDescriptor64
-AAsset_read
-AAsset_seek
-AAsset_seek64
-AConfiguration_copy
-AConfiguration_delete
-AConfiguration_diff
-AConfiguration_fromAssetManager
-AConfiguration_getCountry
-AConfiguration_getDensity
-AConfiguration_getKeyboard
-AConfiguration_getKeysHidden
-AConfiguration_getLanguage
-AConfiguration_getLayoutDirection
-AConfiguration_getMcc
-AConfiguration_getMnc
-AConfiguration_getNavHidden
-AConfiguration_getNavigation
-AConfiguration_getOrientation
-AConfiguration_getScreenHeightDp
-AConfiguration_getScreenLong
-AConfiguration_getScreenSize
-AConfiguration_getScreenWidthDp
-AConfiguration_getSdkVersion
-AConfiguration_getSmallestScreenWidthDp
-AConfiguration_getTouchscreen
-AConfiguration_getUiModeNight
-AConfiguration_getUiModeType
-AConfiguration_isBetterThan
-AConfiguration_match
-AConfiguration_new
-AConfiguration_setCountry
-AConfiguration_setDensity
-AConfiguration_setKeyboard
-AConfiguration_setKeysHidden
-AConfiguration_setLanguage
-AConfiguration_setLayoutDirection
-AConfiguration_setMcc
-AConfiguration_setMnc
-AConfiguration_setNavHidden
-AConfiguration_setNavigation
-AConfiguration_setOrientation
-AConfiguration_setScreenHeightDp
-AConfiguration_setScreenLong
-AConfiguration_setScreenSize
-AConfiguration_setScreenWidthDp
-AConfiguration_setSdkVersion
-AConfiguration_setSmallestScreenWidthDp
-AConfiguration_setTouchscreen
-AConfiguration_setUiModeNight
-AConfiguration_setUiModeType
-AInputEvent_getDeviceId
-AInputEvent_getSource
-AInputEvent_getType
-AInputQueue_attachLooper
-AInputQueue_detachLooper
-AInputQueue_finishEvent
-AInputQueue_getEvent
-AInputQueue_hasEvents
-AInputQueue_preDispatchEvent
-AKeyEvent_getAction
-AKeyEvent_getDownTime
-AKeyEvent_getEventTime
-AKeyEvent_getFlags
-AKeyEvent_getKeyCode
-AKeyEvent_getMetaState
-AKeyEvent_getRepeatCount
-AKeyEvent_getScanCode
-ALooper_acquire
-ALooper_addFd
-ALooper_forThread
-ALooper_pollAll
-ALooper_pollOnce
-ALooper_prepare
-ALooper_release
-ALooper_removeFd
-ALooper_wake
-AMotionEvent_getAction
-AMotionEvent_getAxisValue
-AMotionEvent_getButtonState
-AMotionEvent_getDownTime
-AMotionEvent_getEdgeFlags
-AMotionEvent_getEventTime
-AMotionEvent_getFlags
-AMotionEvent_getHistoricalAxisValue
-AMotionEvent_getHistoricalEventTime
-AMotionEvent_getHistoricalOrientation
-AMotionEvent_getHistoricalPressure
-AMotionEvent_getHistoricalRawX
-AMotionEvent_getHistoricalRawY
-AMotionEvent_getHistoricalSize
-AMotionEvent_getHistoricalToolMajor
-AMotionEvent_getHistoricalToolMinor
-AMotionEvent_getHistoricalTouchMajor
-AMotionEvent_getHistoricalTouchMinor
-AMotionEvent_getHistoricalX
-AMotionEvent_getHistoricalY
-AMotionEvent_getHistorySize
-AMotionEvent_getMetaState
-AMotionEvent_getOrientation
-AMotionEvent_getPointerCount
-AMotionEvent_getPointerId
-AMotionEvent_getPressure
-AMotionEvent_getRawX
-AMotionEvent_getRawY
-AMotionEvent_getSize
-AMotionEvent_getToolMajor
-AMotionEvent_getToolMinor
-AMotionEvent_getToolType
-AMotionEvent_getTouchMajor
-AMotionEvent_getTouchMinor
-AMotionEvent_getX
-AMotionEvent_getXOffset
-AMotionEvent_getXPrecision
-AMotionEvent_getY
-AMotionEvent_getYOffset
-AMotionEvent_getYPrecision
-ANativeActivity_finish
-ANativeActivity_hideSoftInput
-ANativeActivity_setWindowFlags
-ANativeActivity_setWindowFormat
-ANativeActivity_showSoftInput
-ANativeWindow_acquire
-ANativeWindow_fromSurface
-ANativeWindow_getFormat
-ANativeWindow_getHeight
-ANativeWindow_getWidth
-ANativeWindow_lock
-ANativeWindow_release
-ANativeWindow_setBuffersGeometry
-ANativeWindow_unlockAndPost
-android_getTtsEngine
-AObbInfo_delete
-AObbInfo_getFlags
-AObbInfo_getPackageName
-AObbInfo_getVersion
-AObbScanner_getObbInfo
-ASensorEventQueue_disableSensor
-ASensorEventQueue_enableSensor
-ASensorEventQueue_getEvents
-ASensorEventQueue_hasEvents
-ASensorEventQueue_setEventRate
-ASensor_getFifoMaxEventCount
-ASensor_getFifoReservedEventCount
-ASensor_getMinDelay
-ASensor_getName
-ASensor_getReportingMode
-ASensor_getResolution
-ASensor_getStringType
-ASensor_getType
-ASensor_getVendor
-ASensor_isWakeUpSensor
-ASensorManager_createEventQueue
-ASensorManager_destroyEventQueue
-ASensorManager_getDefaultSensor
-ASensorManager_getDefaultSensorEx
-ASensorManager_getInstance
-ASensorManager_getSensorList
-AStorageManager_delete
-AStorageManager_getMountedObbPath
-AStorageManager_isObbMounted
-AStorageManager_mountObb
-AStorageManager_new
-AStorageManager_unmountObb
-getTtsEngine
diff --git a/ndk/platforms/android-21/arch-p/symbols/libc.so.functions.txt b/ndk/platforms/android-21/arch-p/symbols/libc.so.functions.txt
deleted file mode 100644
index 431be50..0000000
--- a/ndk/platforms/android-21/arch-p/symbols/libc.so.functions.txt
+++ /dev/null
@@ -1,1287 +0,0 @@
-abort
-abs
-accept
-accept4
-__accept4
-access
-acct
-__adddf3
-__addsf3
-__aeabi_atexit
-__aeabi_cdcmpeq
-__aeabi_cdcmple
-__aeabi_cdrcmple
-__aeabi_d2f
-__aeabi_d2iz
-__aeabi_dadd
-__aeabi_dcmpeq
-__aeabi_dcmpge
-__aeabi_dcmpgt
-__aeabi_dcmple
-__aeabi_dcmplt
-__aeabi_dcmpun
-__aeabi_ddiv
-__aeabi_dmul
-__aeabi_drsub
-__aeabi_dsub
-__aeabi_f2d
-__aeabi_f2iz
-__aeabi_f2uiz
-__aeabi_fadd
-__aeabi_fcmpun
-__aeabi_fdiv
-__aeabi_fmul
-__aeabi_frsub
-__aeabi_fsub
-__aeabi_i2d
-__aeabi_i2f
-__aeabi_idiv
-__aeabi_idiv0
-__aeabi_idivmod
-__aeabi_l2d
-__aeabi_l2f
-__aeabi_lasr
-__aeabi_ldiv0
-__aeabi_ldivmod
-__aeabi_llsl
-__aeabi_llsr
-__aeabi_lmul
-__aeabi_memclr
-__aeabi_memclr4
-__aeabi_memclr8
-__aeabi_memcpy
-__aeabi_memcpy4
-__aeabi_memcpy8
-__aeabi_memmove
-__aeabi_memmove4
-__aeabi_memmove8
-__aeabi_memset
-__aeabi_memset4
-__aeabi_memset8
-__aeabi_ui2d
-__aeabi_ui2f
-__aeabi_uidiv
-__aeabi_uidivmod
-__aeabi_ul2d
-__aeabi_ul2f
-__aeabi_uldivmod
-__aeabi_unwind_cpp_pr0
-__aeabi_unwind_cpp_pr1
-__aeabi_unwind_cpp_pr2
-alarm
-alphasort
-alphasort64
-android_getaddrinfofornet
-android_gethostbyaddrfornet
-android_gethostbynamefornet
-android_set_abort_message
-arc4random
-arc4random_addrandom
-arc4random_buf
-arc4random_stir
-arc4random_uniform
-__arm_fadvise64_64
-asctime
-asctime64
-asctime64_r
-asctime_r
-__ashldi3
-__ashrdi3
-asprintf
-__assert
-__assert2
-atexit
-atof
-atoi
-atol
-atoll
-__atomic_cmpxchg
-__atomic_dec
-__atomic_inc
-__atomic_swap
-at_quick_exit
-__b64_ntop
-__b64_pton
-basename
-basename_r
-bcopy
-bind
-bindresvport
-brk
-__brk
-bsd_signal
-bsearch
-btowc
-bzero
-c16rtomb
-c32rtomb
-cacheflush
-calloc
-capget
-capset
-cfgetispeed
-cfgetospeed
-cfmakeraw
-cfsetispeed
-cfsetospeed
-cfsetspeed
-chdir
-chmod
-chown
-chroot
-clearenv
-clearerr
-clock
-clock_getres
-clock_gettime
-clock_nanosleep
-clock_settime
-clone
-close
-closedir
-closelog
-__cmpdf2
-__cmsg_nxthdr
-connect
-__connect
-creat
-creat64
-ctime
-ctime64
-ctime64_r
-ctime_r
-__ctype_get_mb_cur_max
-__cxa_atexit
-__cxa_finalize
-daemon
-delete_module
-difftime
-dirfd
-dirname
-dirname_r
-div
-__divdf3
-__divdi3
-__divsf3
-__divsi3
-dlmalloc_usable_size
-__dn_comp
-__dn_count_labels
-dn_expand
-__dn_skipname
-dprintf
-drand48
-dup
-dup2
-dup3
-duplocale
-endmntent
-endpwent
-endservent
-endusershell
-endutent
-epoll_create
-epoll_create1
-epoll_ctl
-__epoll_pwait
-epoll_pwait
-epoll_wait
-__eqdf2
-erand48
-err
-__errno
-errx
-ether_aton
-ether_aton_r
-ether_ntoa
-ether_ntoa_r
-eventfd
-eventfd_read
-eventfd_write
-execl
-execle
-execlp
-execv
-execve
-execvp
-execvpe
-exit
-_exit
-__exit
-_Exit
-__extendsfdf2
-faccessat
-__fadvise64
-fallocate
-fallocate64
-fchdir
-fchmod
-fchmodat
-fchown
-fchownat
-fclose
-fcntl
-__fcntl64
-fdatasync
-__FD_CLR_chk
-__FD_ISSET_chk
-fdopen
-fdopendir
-fdprintf
-__FD_SET_chk
-feof
-ferror
-fflush
-ffs
-fgetc
-fgetln
-fgetpos
-fgets
-__fgets_chk
-fgetwc
-fgetws
-fgetxattr
-fileno
-__fixdfsi
-__fixsfsi
-__fixunssfsi
-flistxattr
-__floatdidf
-__floatdisf
-__floatsidf
-__floatsisf
-__floatundidf
-__floatundisf
-__floatunsidf
-__floatunsisf
-flock
-flockfile
-_flush_cache
-fnmatch
-fopen
-fork
-fpathconf
-__fpclassify
-__fpclassifyd
-__fpclassifyf
-__fpclassifyl
-__fp_nquery
-__fp_query
-fprintf
-fpurge
-fputc
-fputs
-fputwc
-fputws
-fread
-free
-freeaddrinfo
-freelocale
-fremovexattr
-freopen
-fscanf
-fseek
-fseeko
-fsetpos
-fsetxattr
-fstat
-fstat64
-fstatat
-fstatat64
-fstatfs
-fstatfs64
-__fstatfs64
-fstatvfs
-fstatvfs64
-fsync
-ftell
-ftello
-ftime
-ftok
-ftruncate
-ftruncate64
-ftrylockfile
-fts_children
-fts_close
-fts_open
-fts_read
-fts_set
-ftw
-ftw64
-funlockfile
-funopen
-__futex_wait
-__futex_wake
-futimens
-fwide
-fwprintf
-fwrite
-fwscanf
-gai_strerror
-__gedf2
-getaddrinfo
-getauxval
-getc
-getchar
-getchar_unlocked
-__getcpu
-getc_unlocked
-getcwd
-__getcwd
-getdelim
-getdents
-__getdents64
-getdtablesize
-getegid
-getenv
-geteuid
-getgid
-getgrgid
-getgrnam
-getgrouplist
-getgroups
-__get_h_errno
-gethostbyaddr
-gethostbyname
-gethostbyname2
-gethostbyname_r
-gethostent
-gethostname
-getitimer
-getline
-getlogin
-_getlong
-get_malloc_leak_info
-getmntent
-getmntent_r
-getnameinfo
-getnetbyaddr
-getnetbyname
-getopt
-getopt_long
-getopt_long_only
-getpagesize
-getpeername
-getpgid
-getpgrp
-getpid
-__getpid
-getppid
-getpriority
-__getpriority
-getprogname
-getprotobyname
-getprotobynumber
-getpt
-getpwnam
-getpwnam_r
-getpwuid
-getpwuid_r
-getresgid
-getresuid
-getrlimit
-getrlimit64
-getrusage
-gets
-getservbyname
-getservbyport
-getservent
-_getshort
-getsid
-getsockname
-getsockopt
-__get_thread
-gettid
-gettimeofday
-__get_tls
-getuid
-getusershell
-getutent
-getwc
-getwchar
-getxattr
-gmtime
-gmtime64
-gmtime64_r
-gmtime_r
-__gnu_ldivmod_helper
-__gnu_uldivmod_helper
-__gnu_Unwind_Backtrace
-__gnu_unwind_execute
-__gnu_Unwind_Find_exidx
-__gnu_Unwind_ForcedUnwind
-__gnu_unwind_frame
-__gnu_Unwind_RaiseException
-__gnu_Unwind_Restore_VFP
-__gnu_Unwind_Restore_VFP_D
-__gnu_Unwind_Restore_VFP_D_16_to_31
-__gnu_Unwind_Restore_WMMXC
-__gnu_Unwind_Restore_WMMXD
-__gnu_Unwind_Resume
-__gnu_Unwind_Resume_or_Rethrow
-__gnu_Unwind_Save_VFP
-__gnu_Unwind_Save_VFP_D
-__gnu_Unwind_Save_VFP_D_16_to_31
-__gnu_Unwind_Save_WMMXC
-__gnu_Unwind_Save_WMMXD
-grantpt
-__gtdf2
-herror
-__hostalias
-hstrerror
-htonl
-htons
-if_indextoname
-if_nametoindex
-imaxabs
-imaxdiv
-index
-inet_addr
-inet_aton
-inet_lnaof
-inet_makeaddr
-inet_netof
-inet_network
-inet_nsap_addr
-inet_nsap_ntoa
-inet_ntoa
-inet_ntop
-inet_pton
-initgroups
-init_module
-initstate
-inotify_add_watch
-inotify_init
-inotify_init1
-inotify_rm_watch
-insque
-ioctl
-__ioctl
-isalnum
-isalnum_l
-isalpha
-isalpha_l
-isascii
-isatty
-isblank
-isblank_l
-iscntrl
-iscntrl_l
-isdigit
-isdigit_l
-isfinite
-__isfinite
-isfinitef
-__isfinitef
-isfinitel
-__isfinitel
-isgraph
-isgraph_l
-isinf
-__isinf
-isinff
-__isinff
-isinfl
-__isinfl
-islower
-islower_l
-isnan
-__isnan
-isnanf
-__isnanf
-isnanl
-__isnanl
-isnormal
-__isnormal
-isnormalf
-__isnormalf
-isnormall
-__isnormall
-isprint
-isprint_l
-ispunct
-ispunct_l
-issetugid
-isspace
-isspace_l
-isupper
-isupper_l
-iswalnum
-iswalnum_l
-iswalpha
-iswalpha_l
-iswblank
-iswblank_l
-iswcntrl
-iswcntrl_l
-iswctype
-iswctype_l
-iswdigit
-iswdigit_l
-iswgraph
-iswgraph_l
-iswlower
-iswlower_l
-iswprint
-iswprint_l
-iswpunct
-iswpunct_l
-iswspace
-iswspace_l
-iswupper
-iswupper_l
-iswxdigit
-iswxdigit_l
-isxdigit
-isxdigit_l
-jrand48
-kill
-killpg
-klogctl
-labs
-lchown
-ldexp
-ldiv
-__ledf2
-lfind
-lgetxattr
-__libc_current_sigrtmax
-__libc_current_sigrtmin
-__libc_init
-link
-linkat
-listen
-listxattr
-llabs
-lldiv
-llistxattr
-__llseek
-localeconv
-localtime
-localtime64
-localtime64_r
-localtime_r
-__loc_aton
-__loc_ntoa
-longjmp
-_longjmp
-lrand48
-lremovexattr
-lsearch
-lseek
-lseek64
-lsetxattr
-__lshrdi3
-lstat
-lstat64
-__ltdf2
-madvise
-mallinfo
-malloc
-malloc_usable_size
-mbrlen
-mbrtoc16
-mbrtoc32
-mbrtowc
-mbsinit
-mbsnrtowcs
-mbsrtowcs
-mbstowcs
-mbtowc
-memalign
-memccpy
-memchr
-memcmp
-memcpy
-__memcpy_chk
-memmem
-memmove
-__memmove_chk
-memrchr
-memset
-_memset16
-_memset32
-__memset_chk
-memswap
-mincore
-mkdir
-mkdirat
-mkdtemp
-mkfifo
-mknod
-mknodat
-mkstemp
-mkstemp64
-mkstemps
-mktemp
-mktime
-mktime64
-mktime_tz
-mlock
-mlockall
-mmap
-__mmap2
-mmap64
-__moddi3
-mount
-mprotect
-mrand48
-mremap
-msync
-__muldf3
-__muldi3
-__mulsf3
-munlock
-munlockall
-munmap
-nanosleep
-__nedf2
-newlocale
-nftw
-nftw64
-nice
-nrand48
-nsdispatch
-ntohl
-ntohs
-open
-__open
-__open_2
-open64
-openat
-__openat
-__openat_2
-openat64
-opendir
-openlog
-pathconf
-pause
-__p_cdname
-__p_cdnname
-__p_class
-pclose
-perror
-personality
-__p_fqname
-__p_fqnname
-pipe
-pipe2
-poll
-__popcountsi2
-popen
-__p_option
-posix_fadvise
-posix_fadvise64
-posix_fallocate
-posix_fallocate64
-posix_memalign
-posix_openpt
-ppoll
-__ppoll
-__p_query
-__p_rcode
-prctl
-pread
-pread64
-printf
-prlimit
-prlimit64
-__p_secstodate
-pselect
-__pselect6
-psiginfo
-psignal
-pthread_atfork
-pthread_attr_destroy
-pthread_attr_getdetachstate
-pthread_attr_getguardsize
-pthread_attr_getschedparam
-pthread_attr_getschedpolicy
-pthread_attr_getscope
-pthread_attr_getstack
-pthread_attr_getstackaddr
-pthread_attr_getstacksize
-pthread_attr_init
-pthread_attr_setdetachstate
-pthread_attr_setguardsize
-pthread_attr_setschedparam
-pthread_attr_setschedpolicy
-pthread_attr_setscope
-pthread_attr_setstack
-pthread_attr_setstackaddr
-pthread_attr_setstacksize
-__pthread_cleanup_pop
-__pthread_cleanup_push
-pthread_condattr_destroy
-pthread_condattr_getclock
-pthread_condattr_getpshared
-pthread_condattr_init
-pthread_condattr_setclock
-pthread_condattr_setpshared
-pthread_cond_broadcast
-pthread_cond_destroy
-pthread_cond_init
-pthread_cond_signal
-pthread_cond_timedwait
-pthread_cond_timedwait_monotonic
-pthread_cond_timedwait_monotonic_np
-pthread_cond_timedwait_relative_np
-pthread_cond_timeout_np
-pthread_cond_wait
-pthread_create
-pthread_detach
-pthread_equal
-pthread_exit
-pthread_getattr_np
-pthread_getcpuclockid
-pthread_getschedparam
-pthread_getspecific
-__pthread_gettid
-pthread_gettid_np
-pthread_join
-pthread_key_create
-pthread_key_delete
-pthread_kill
-pthread_mutexattr_destroy
-pthread_mutexattr_getpshared
-pthread_mutexattr_gettype
-pthread_mutexattr_init
-pthread_mutexattr_setpshared
-pthread_mutexattr_settype
-pthread_mutex_destroy
-pthread_mutex_init
-pthread_mutex_lock
-pthread_mutex_lock_timeout_np
-pthread_mutex_timedlock
-pthread_mutex_trylock
-pthread_mutex_unlock
-pthread_once
-pthread_rwlockattr_destroy
-pthread_rwlockattr_getpshared
-pthread_rwlockattr_init
-pthread_rwlockattr_setpshared
-pthread_rwlock_destroy
-pthread_rwlock_init
-pthread_rwlock_rdlock
-pthread_rwlock_timedrdlock
-pthread_rwlock_timedwrlock
-pthread_rwlock_tryrdlock
-pthread_rwlock_trywrlock
-pthread_rwlock_unlock
-pthread_rwlock_wrlock
-pthread_self
-pthread_setname_np
-pthread_setschedparam
-pthread_setspecific
-pthread_sigmask
-__p_time
-ptrace
-__ptrace
-ptsname
-ptsname_r
-__p_type
-putc
-putchar
-putchar_unlocked
-putc_unlocked
-putenv
-__putlong
-puts
-__putshort
-pututline
-putw
-putwc
-putwchar
-pvalloc
-pwrite
-pwrite64
-qsort
-quick_exit
-raise
-rand
-random
-rand_r
-read
-readahead
-__read_chk
-readdir
-readdir64
-readdir64_r
-readdir_r
-readlink
-readlinkat
-readv
-realloc
-realpath
-reboot
-__reboot
-recv
-recvfrom
-__recvfrom_chk
-recvmmsg
-recvmsg
-regcomp
-regerror
-regexec
-regfree
-remove
-removexattr
-remque
-rename
-renameat
-__res_close
-__res_dnok
-__res_hnok
-__res_hostalias
-res_init
-__res_isourserver
-__res_mailok
-res_mkquery
-__res_nameinquery
-__res_nclose
-__res_ninit
-__res_nmkquery
-__res_nquery
-__res_nquerydomain
-__res_nsearch
-__res_nsend
-_resolv_delete_cache_for_net
-_resolv_flush_cache_for_net
-_resolv_set_nameservers_for_net
-__res_ownok
-__res_queriesmatch
-res_query
-__res_querydomain
-__res_randomid
-res_search
-__res_send
-__res_send_setqhook
-__res_send_setrhook
-__restore_core_regs
-restore_core_regs
-rewind
-rewinddir
-rmdir
-__rt_sigaction
-__rt_sigpending
-__rt_sigprocmask
-__rt_sigsuspend
-__rt_sigtimedwait
-sbrk
-scandir
-scandir64
-scanf
-__sched_cpualloc
-__sched_cpucount
-__sched_cpufree
-__sched_getaffinity
-sched_getaffinity
-sched_getcpu
-sched_getparam
-sched_get_priority_max
-sched_get_priority_min
-sched_getscheduler
-sched_rr_get_interval
-sched_setaffinity
-sched_setparam
-sched_setscheduler
-sched_yield
-seed48
-select
-sem_close
-sem_destroy
-sem_getvalue
-sem_init
-sem_open
-sem_post
-sem_timedwait
-sem_trywait
-sem_unlink
-sem_wait
-send
-sendfile
-sendfile64
-sendmmsg
-sendmsg
-sendto
-setbuf
-setbuffer
-setegid
-setenv
-__set_errno
-seteuid
-setfsgid
-setfsuid
-setgid
-setgroups
-setitimer
-setjmp
-_setjmp
-setlinebuf
-setlocale
-setlogmask
-setmntent
-setns
-setpgid
-setpgrp
-setpriority
-setprogname
-setregid
-setresgid
-setresuid
-setreuid
-setrlimit
-setrlimit64
-setservent
-setsid
-setsockopt
-setstate
-__set_thread_area
-__set_tid_address
-settimeofday
-__set_tls
-setuid
-setusershell
-setutent
-setvbuf
-setxattr
-SHA1Final
-SHA1Init
-SHA1Transform
-SHA1Update
-shutdown
-sigaction
-__sigaction
-sigaddset
-sigaltstack
-sigblock
-sigdelset
-sigemptyset
-sigfillset
-siginterrupt
-sigismember
-siglongjmp
-signal
-signalfd
-sigpending
-sigprocmask
-sigsetjmp
-sigsetmask
-sigsuspend
-sigwait
-sleep
-snprintf
-__snprintf_chk
-socket
-__socket
-socketpair
-splice
-sprintf
-__sprintf_chk
-srand
-srand48
-srandom
-__srefill
-__srget
-sscanf
-__stack_chk_fail
-stat
-stat64
-statfs
-statfs64
-__statfs64
-statvfs
-statvfs64
-stpcpy
-__stpcpy_chk
-stpncpy
-__stpncpy_chk
-__stpncpy_chk2
-strcasecmp
-strcasestr
-strcat
-__strcat_chk
-strchr
-__strchr_chk
-strcmp
-strcoll
-strcoll_l
-strcpy
-__strcpy_chk
-strcspn
-strdup
-strerror
-strerror_r
-strftime
-strftime_l
-strlcat
-__strlcat_chk
-strlcpy
-__strlcpy_chk
-strlen
-__strlen_chk
-strncasecmp
-strncat
-__strncat_chk
-strncmp
-strncpy
-__strncpy_chk
-__strncpy_chk2
-strndup
-strnlen
-strntoimax
-strntoumax
-strpbrk
-strptime
-strrchr
-__strrchr_chk
-strsep
-strsignal
-strspn
-strstr
-strtod
-strtof
-strtoimax
-strtok
-strtok_r
-strtol
-strtold
-strtold_l
-strtoll
-strtoll_l
-strtoq
-strtotimeval
-strtoul
-strtoull
-strtoull_l
-strtoumax
-strtouq
-strxfrm
-strxfrm_l
-__subdf3
-__subsf3
-swapoff
-swapon
-__swbuf
-swprintf
-swscanf
-__swsetup
-symlink
-symlinkat
-__sym_ntop
-__sym_ntos
-__sym_ston
-sync
-syscall
-sysconf
-sysinfo
-syslog
-system
-__system_properties_init
-__system_property_add
-__system_property_area_init
-__system_property_find
-__system_property_find_nth
-__system_property_foreach
-__system_property_get
-__system_property_read
-__system_property_serial
-__system_property_set
-__system_property_set_filename
-__system_property_update
-__system_property_wait_any
-sysv_signal
-tcdrain
-tcflow
-tcflush
-tcgetattr
-tcgetpgrp
-tcgetsid
-tcsendbreak
-tcsetattr
-tcsetpgrp
-tdelete
-tdestroy
-tee
-tempnam
-tfind
-tgkill
-time
-timegm
-timegm64
-timelocal
-timelocal64
-__timer_create
-timer_create
-__timer_delete
-timer_delete
-timerfd_create
-timerfd_gettime
-timerfd_settime
-__timer_getoverrun
-timer_getoverrun
-__timer_gettime
-timer_gettime
-__timer_settime
-timer_settime
-times
-tkill
-tmpfile
-tmpnam
-toascii
-tolower
-_tolower
-tolower_l
-toupper
-_toupper
-toupper_l
-towlower
-towlower_l
-towupper
-towupper_l
-truncate
-truncate64
-__truncdfsf2
-tsearch
-ttyname
-ttyname_r
-twalk
-tzset
-__udivdi3
-__udivsi3
-umask
-__umask_chk
-__umoddi3
-umount
-umount2
-uname
-ungetc
-ungetwc
-unlink
-unlinkat
-unlockpt
-__unorddf2
-__unordsf2
-unsetenv
-unshare
-___Unwind_Backtrace
-_Unwind_Backtrace
-_Unwind_Complete
-_Unwind_DeleteException
-___Unwind_ForcedUnwind
-_Unwind_ForcedUnwind
-_Unwind_GetCFA
-_Unwind_GetDataRelBase
-_Unwind_GetLanguageSpecificData
-_Unwind_GetRegionStart
-_Unwind_GetTextRelBase
-___Unwind_RaiseException
-_Unwind_RaiseException
-___Unwind_Resume
-_Unwind_Resume
-___Unwind_Resume_or_Rethrow
-_Unwind_Resume_or_Rethrow
-_Unwind_VRS_Get
-_Unwind_VRS_Pop
-_Unwind_VRS_Set
-uselocale
-usleep
-utime
-utimensat
-utimes
-utmpname
-valloc
-vasprintf
-vdprintf
-verr
-verrx
-vfdprintf
-vfork
-vfprintf
-vfscanf
-vfwprintf
-vfwscanf
-vmsplice
-vprintf
-vscanf
-vsnprintf
-__vsnprintf_chk
-vsprintf
-__vsprintf_chk
-vsscanf
-vswprintf
-vswscanf
-vsyslog
-vwarn
-vwarnx
-vwprintf
-vwscanf
-wait
-wait3
-wait4
-__wait4
-waitid
-__waitid
-waitpid
-warn
-warnx
-wcpcpy
-wcpncpy
-wcrtomb
-wcscasecmp
-wcscat
-wcschr
-wcscmp
-wcscoll
-wcscoll_l
-wcscpy
-wcscspn
-wcsdup
-wcsftime
-wcslcat
-wcslcpy
-wcslen
-wcsncasecmp
-wcsncat
-wcsncmp
-wcsncpy
-wcsnlen
-wcsnrtombs
-wcspbrk
-wcsrchr
-wcsrtombs
-wcsspn
-wcsstr
-wcstod
-wcstof
-wcstoimax
-wcstok
-wcstol
-wcstold
-wcstold_l
-wcstoll
-wcstoll_l
-wcstombs
-wcstoul
-wcstoull
-wcstoull_l
-wcstoumax
-wcswcs
-wcswidth
-wcsxfrm
-wcsxfrm_l
-wctob
-wctomb
-wctype
-wctype_l
-wcwidth
-wmemchr
-wmemcmp
-wmemcpy
-wmemmove
-wmemset
-wprintf
-write
-writev
-wscanf
-_Z16__libc_init_vdsov
diff --git a/ndk/platforms/android-21/arch-p/symbols/libc.so.variables.txt b/ndk/platforms/android-21/arch-p/symbols/libc.so.variables.txt
deleted file mode 100644
index 954448a..0000000
--- a/ndk/platforms/android-21/arch-p/symbols/libc.so.variables.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-__bionic_brk
-__bionic_libgcc_compat_symbols
-_ctype_
-daylight
-__dso_handle
-environ
-__isthreaded
-optarg
-opterr
-optind
-optopt
-optreset
-__page_shift
-__page_size
-__p_class_syms
-__popcount_tab
-__progname
-__p_type_syms
-__sF
-__stack_chk_guard
-sys_siglist
-sys_signame
-__system_property_area__
-timezone
-_tolower_tab_
-_toupper_tab_
-tzname
diff --git a/ndk/platforms/android-21/arch-p/symbols/libdl.so.functions.txt b/ndk/platforms/android-21/arch-p/symbols/libdl.so.functions.txt
deleted file mode 100644
index bc295eb..0000000
--- a/ndk/platforms/android-21/arch-p/symbols/libdl.so.functions.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-android_dlopen_ext
-android_get_LD_LIBRARY_PATH
-android_update_LD_LIBRARY_PATH
-dladdr
-dlclose
-dlerror
-dl_iterate_phdr
-dlopen
-dlsym
-dl_unwind_find_exidx
diff --git a/ndk/platforms/android-21/arch-p/symbols/libjnigraphics.so.functions.txt b/ndk/platforms/android-21/arch-p/symbols/libjnigraphics.so.functions.txt
deleted file mode 100644
index 61612d4..0000000
--- a/ndk/platforms/android-21/arch-p/symbols/libjnigraphics.so.functions.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-AndroidBitmap_getInfo
-AndroidBitmap_lockPixels
-AndroidBitmap_unlockPixels
diff --git a/ndk/platforms/android-21/arch-p/symbols/liblog.so.functions.txt b/ndk/platforms/android-21/arch-p/symbols/liblog.so.functions.txt
deleted file mode 100644
index d7a4b72..0000000
--- a/ndk/platforms/android-21/arch-p/symbols/liblog.so.functions.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-__android_log_assert
-__android_log_btwrite
-__android_log_buf_print
-__android_log_buf_write
-__android_log_bwrite
-__android_log_dev_available
-__android_log_print
-__android_log_vprint
-__android_log_write
diff --git a/ndk/platforms/android-21/arch-p/symbols/libm.so.functions.txt b/ndk/platforms/android-21/arch-p/symbols/libm.so.functions.txt
deleted file mode 100644
index 2aa8c6c..0000000
--- a/ndk/platforms/android-21/arch-p/symbols/libm.so.functions.txt
+++ /dev/null
@@ -1,245 +0,0 @@
-acos
-acosf
-acosh
-acoshf
-acoshl
-acosl
-__aeabi_cfcmpeq
-__aeabi_cfcmple
-__aeabi_cfrcmple
-__aeabi_d2lz
-__aeabi_d2uiz
-__aeabi_d2ulz
-__aeabi_f2lz
-__aeabi_f2ulz
-__aeabi_fcmpeq
-__aeabi_fcmpge
-__aeabi_fcmpgt
-__aeabi_fcmple
-__aeabi_fcmplt
-asin
-asinf
-asinh
-asinhf
-asinhl
-asinl
-atan
-atan2
-atan2f
-atan2l
-atanf
-atanh
-atanhf
-atanhl
-atanl
-cabsl
-cbrt
-cbrtf
-cbrtl
-ceil
-ceilf
-ceill
-__cmpsf2
-copysign
-copysignf
-copysignl
-cos
-cosf
-cosh
-coshf
-coshl
-cosl
-cprojl
-csqrtl
-drem
-dremf
-__eqsf2
-erf
-erfc
-erfcf
-erfcl
-erff
-erfl
-exp
-exp2
-exp2f
-exp2l
-expf
-expl
-expm1
-expm1f
-expm1l
-fabs
-fabsf
-fabsl
-fdim
-fdimf
-fdiml
-feclearexcept
-fedisableexcept
-feenableexcept
-fegetenv
-fegetexcept
-fegetexceptflag
-fegetround
-feholdexcept
-feraiseexcept
-fesetenv
-fesetexceptflag
-fesetround
-fetestexcept
-feupdateenv
-finite
-finitef
-__fixdfdi
-__fixsfdi
-__fixunsdfdi
-__fixunsdfsi
-__fixunssfdi
-floor
-floorf
-floorl
-fma
-fmaf
-fmal
-fmax
-fmaxf
-fmaxl
-fmin
-fminf
-fminl
-fmod
-fmodf
-fmodl
-frexp
-frexpf
-frexpl
-gamma
-gammaf
-gammaf_r
-gamma_r
-__gesf2
-__gtsf2
-hypot
-hypotf
-hypotl
-ilogb
-ilogbf
-ilogbl
-j0
-j0f
-j1
-j1f
-jn
-jnf
-ldexpf
-ldexpl
-__lesf2
-lgamma
-lgammaf
-lgammaf_r
-lgammal
-lgamma_r
-llrint
-llrintf
-llrintl
-llround
-llroundf
-llroundl
-log
-log10
-log10f
-log10l
-log1p
-log1pf
-log1pl
-log2
-log2f
-log2l
-logb
-logbf
-logbl
-logf
-logl
-lrint
-lrintf
-lrintl
-lround
-lroundf
-lroundl
-__ltsf2
-modf
-modff
-modfl
-nan
-nanf
-nanl
-nearbyint
-nearbyintf
-nearbyintl
-__nesf2
-nextafter
-nextafterf
-nextafterl
-nexttoward
-nexttowardf
-nexttowardl
-pow
-powf
-powl
-remainder
-remainderf
-remainderl
-remquo
-remquof
-remquol
-rint
-rintf
-rintl
-round
-roundf
-roundl
-scalb
-scalbf
-scalbln
-scalblnf
-scalblnl
-scalbn
-scalbnf
-scalbnl
-__signbit
-__signbitf
-__signbitl
-significand
-significandf
-significandl
-sin
-sincos
-sincosf
-sincosl
-sinf
-sinh
-sinhf
-sinhl
-sinl
-sqrt
-sqrtf
-sqrtl
-tan
-tanf
-tanh
-tanhf
-tanhl
-tanl
-tgamma
-tgammaf
-tgammal
-trunc
-truncf
-truncl
-y0
-y0f
-y1
-y1f
-yn
-ynf
diff --git a/ndk/platforms/android-21/arch-p/symbols/libm.so.variables.txt b/ndk/platforms/android-21/arch-p/symbols/libm.so.variables.txt
deleted file mode 100644
index a1b63fc..0000000
--- a/ndk/platforms/android-21/arch-p/symbols/libm.so.variables.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-__fe_dfl_env
-signgam
diff --git a/ndk/platforms/android-21/arch-p/symbols/libmediandk.so.functions.txt b/ndk/platforms/android-21/arch-p/symbols/libmediandk.so.functions.txt
deleted file mode 100644
index cdf1681..0000000
--- a/ndk/platforms/android-21/arch-p/symbols/libmediandk.so.functions.txt
+++ /dev/null
@@ -1,91 +0,0 @@
-AMediaCodec_configure
-AMediaCodec_createCodecByName
-AMediaCodec_createDecoderByType
-AMediaCodec_createEncoderByType
-AMediaCodecCryptoInfo_delete
-AMediaCodecCryptoInfo_getClearBytes
-AMediaCodecCryptoInfo_getEncryptedBytes
-AMediaCodecCryptoInfo_getIV
-AMediaCodecCryptoInfo_getKey
-AMediaCodecCryptoInfo_getMode
-AMediaCodecCryptoInfo_getNumSubSamples
-AMediaCodecCryptoInfo_new
-AMediaCodec_delete
-AMediaCodec_dequeueInputBuffer
-AMediaCodec_dequeueOutputBuffer
-AMediaCodec_flush
-AMediaCodec_getInputBuffer
-AMediaCodec_getOutputBuffer
-AMediaCodec_getOutputFormat
-AMediaCodec_queueInputBuffer
-AMediaCodec_queueSecureInputBuffer
-AMediaCodec_releaseOutputBuffer
-AMediaCodec_releaseOutputBufferAtTime
-AMediaCodec_start
-AMediaCodec_stop
-AMediaCrypto_delete
-AMediaCrypto_isCryptoSchemeSupported
-AMediaCrypto_new
-AMediaCrypto_requiresSecureDecoderComponent
-AMediaDrm_closeSession
-AMediaDrm_createByUUID
-AMediaDrm_decrypt
-AMediaDrm_encrypt
-AMediaDrm_getKeyRequest
-AMediaDrm_getPropertyByteArray
-AMediaDrm_getPropertyString
-AMediaDrm_getProvisionRequest
-AMediaDrm_getSecureStops
-AMediaDrm_isCryptoSchemeSupported
-AMediaDrm_openSession
-AMediaDrm_provideKeyResponse
-AMediaDrm_provideProvisionResponse
-AMediaDrm_queryKeyStatus
-AMediaDrm_release
-AMediaDrm_releaseSecureStops
-AMediaDrm_removeKeys
-AMediaDrm_restoreKeys
-AMediaDrm_setOnEventListener
-AMediaDrm_setPropertyByteArray
-AMediaDrm_setPropertyString
-AMediaDrm_sign
-AMediaDrm_verify
-AMediaExtractor_advance
-AMediaExtractor_delete
-AMediaExtractor_getPsshInfo
-AMediaExtractor_getSampleCryptoInfo
-AMediaExtractor_getSampleFlags
-AMediaExtractor_getSampleTime
-AMediaExtractor_getSampleTrackIndex
-AMediaExtractor_getTrackCount
-AMediaExtractor_getTrackFormat
-AMediaExtractor_new
-AMediaExtractor_readSampleData
-AMediaExtractor_seekTo
-AMediaExtractor_selectTrack
-AMediaExtractor_setDataSource
-AMediaExtractor_setDataSourceFd
-AMediaExtractor_unselectTrack
-AMediaFormat_delete
-AMediaFormat_getBuffer
-AMediaFormat_getFloat
-AMediaFormat_getInt32
-AMediaFormat_getInt64
-AMediaFormat_getSize
-AMediaFormat_getString
-AMediaFormat_new
-AMediaFormat_setBuffer
-AMediaFormat_setFloat
-AMediaFormat_setInt32
-AMediaFormat_setInt64
-AMediaFormat_setString
-AMediaFormat_toString
-AMediaMuxer_addTrack
-AMediaMuxer_delete
-AMediaMuxer_new
-AMediaMuxer_setLocation
-AMediaMuxer_setOrientationHint
-AMediaMuxer_start
-AMediaMuxer_stop
-AMediaMuxer_writeSampleData
-__popcountdi2
diff --git a/ndk/platforms/android-21/arch-p/symbols/libmediandk.so.variables.txt b/ndk/platforms/android-21/arch-p/symbols/libmediandk.so.variables.txt
deleted file mode 100644
index 6b0fbd5..0000000
--- a/ndk/platforms/android-21/arch-p/symbols/libmediandk.so.variables.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-AMEDIAFORMAT_KEY_AAC_PROFILE
-AMEDIAFORMAT_KEY_BIT_RATE
-AMEDIAFORMAT_KEY_CHANNEL_COUNT
-AMEDIAFORMAT_KEY_CHANNEL_MASK
-AMEDIAFORMAT_KEY_COLOR_FORMAT
-AMEDIAFORMAT_KEY_DURATION
-AMEDIAFORMAT_KEY_FLAC_COMPRESSION_LEVEL
-AMEDIAFORMAT_KEY_FRAME_RATE
-AMEDIAFORMAT_KEY_HEIGHT
-AMEDIAFORMAT_KEY_I_FRAME_INTERVAL
-AMEDIAFORMAT_KEY_IS_ADTS
-AMEDIAFORMAT_KEY_IS_AUTOSELECT
-AMEDIAFORMAT_KEY_IS_DEFAULT
-AMEDIAFORMAT_KEY_IS_FORCED_SUBTITLE
-AMEDIAFORMAT_KEY_LANGUAGE
-AMEDIAFORMAT_KEY_MAX_HEIGHT
-AMEDIAFORMAT_KEY_MAX_INPUT_SIZE
-AMEDIAFORMAT_KEY_MAX_WIDTH
-AMEDIAFORMAT_KEY_MIME
-AMEDIAFORMAT_KEY_PUSH_BLANK_BUFFERS_ON_STOP
-AMEDIAFORMAT_KEY_REPEAT_PREVIOUS_FRAME_AFTER
-AMEDIAFORMAT_KEY_SAMPLE_RATE
-AMEDIAFORMAT_KEY_STRIDE
-AMEDIAFORMAT_KEY_WIDTH
diff --git a/ndk/platforms/android-21/arch-p/symbols/libstdc++.so.functions.txt b/ndk/platforms/android-21/arch-p/symbols/libstdc++.so.functions.txt
deleted file mode 100644
index 3924a3b..0000000
--- a/ndk/platforms/android-21/arch-p/symbols/libstdc++.so.functions.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-android_set_abort_message
-__cxa_guard_abort
-__cxa_guard_acquire
-__cxa_guard_release
-__cxa_pure_virtual
-_ZdaPv
-_ZdaPvRKSt9nothrow_t
-_ZdlPv
-_ZdlPvRKSt9nothrow_t
-_Znaj
-_ZnajRKSt9nothrow_t
-_Znam
-_ZnamRKSt9nothrow_t
-_Znwj
-_ZnwjRKSt9nothrow_t
-_Znwm
-_ZnwmRKSt9nothrow_t
diff --git a/ndk/platforms/android-21/arch-p/symbols/libstdc++.so.variables.txt b/ndk/platforms/android-21/arch-p/symbols/libstdc++.so.variables.txt
deleted file mode 100644
index 62e9acd..0000000
--- a/ndk/platforms/android-21/arch-p/symbols/libstdc++.so.variables.txt
+++ /dev/null
@@ -1 +0,0 @@
-_ZSt7nothrow
diff --git a/ndk/platforms/android-21/arch-p/symbols/libz.so.functions.txt b/ndk/platforms/android-21/arch-p/symbols/libz.so.functions.txt
deleted file mode 100644
index a007fa3..0000000
--- a/ndk/platforms/android-21/arch-p/symbols/libz.so.functions.txt
+++ /dev/null
@@ -1,130 +0,0 @@
-adler32
-adler32_combine
-adler32_combine64
-__aeabi_unwind_cpp_pr0
-__aeabi_unwind_cpp_pr1
-__aeabi_unwind_cpp_pr2
-compress
-compress2
-compressBound
-crc32
-crc32_combine
-crc32_combine64
-deflate
-deflateBound
-deflateCopy
-deflateEnd
-deflateInit_
-deflateInit2_
-deflateParams
-deflatePending
-deflatePrime
-deflateReset
-deflateResetKeep
-deflateSetDictionary
-deflateSetHeader
-deflateTune
-get_crc_table
-__gnu_Unwind_Backtrace
-__gnu_unwind_execute
-__gnu_Unwind_ForcedUnwind
-__gnu_unwind_frame
-__gnu_Unwind_RaiseException
-__gnu_Unwind_Restore_VFP
-__gnu_Unwind_Restore_VFP_D
-__gnu_Unwind_Restore_VFP_D_16_to_31
-__gnu_Unwind_Restore_WMMXC
-__gnu_Unwind_Restore_WMMXD
-__gnu_Unwind_Resume
-__gnu_Unwind_Resume_or_Rethrow
-__gnu_Unwind_Save_VFP
-__gnu_Unwind_Save_VFP_D
-__gnu_Unwind_Save_VFP_D_16_to_31
-__gnu_Unwind_Save_WMMXC
-__gnu_Unwind_Save_WMMXD
-gzbuffer
-gzclearerr
-gzclose
-gzclose_r
-gzclose_w
-gzdirect
-gzdopen
-gzeof
-gzerror
-gz_error
-gzflush
-gzgetc
-gzgetc_
-gzgets
-gzoffset
-gzoffset64
-gzopen
-gzopen64
-gzprintf
-gzputc
-gzputs
-gzread
-gzrewind
-gzseek
-gzseek64
-gzsetparams
-gztell
-gztell64
-gzungetc
-gzvprintf
-gzwrite
-inflate
-inflateBack
-inflateBackEnd
-inflateBackInit_
-inflateCopy
-inflateEnd
-inflate_fast
-inflateGetDictionary
-inflateGetHeader
-inflateInit_
-inflateInit2_
-inflateMark
-inflatePrime
-inflateReset
-inflateReset2
-inflateResetKeep
-inflateSetDictionary
-inflateSync
-inflateSyncPoint
-inflate_table
-inflateUndermine
-__restore_core_regs
-restore_core_regs
-_tr_align
-_tr_flush_bits
-_tr_flush_block
-_tr_init
-_tr_stored_block
-_tr_tally
-uncompress
-___Unwind_Backtrace
-_Unwind_Backtrace
-_Unwind_Complete
-_Unwind_DeleteException
-___Unwind_ForcedUnwind
-_Unwind_ForcedUnwind
-_Unwind_GetCFA
-_Unwind_GetDataRelBase
-_Unwind_GetLanguageSpecificData
-_Unwind_GetRegionStart
-_Unwind_GetTextRelBase
-___Unwind_RaiseException
-_Unwind_RaiseException
-___Unwind_Resume
-_Unwind_Resume
-___Unwind_Resume_or_Rethrow
-_Unwind_Resume_or_Rethrow
-_Unwind_VRS_Get
-_Unwind_VRS_Pop
-_Unwind_VRS_Set
-zcalloc
-zcfree
-zError
-zlibCompileFlags
-zlibVersion
diff --git a/ndk/platforms/android-21/arch-p/symbols/libz.so.variables.txt b/ndk/platforms/android-21/arch-p/symbols/libz.so.variables.txt
deleted file mode 100644
index b09771a..0000000
--- a/ndk/platforms/android-21/arch-p/symbols/libz.so.variables.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-deflate_copyright
-_dist_code
-inflate_copyright
-_length_code
-z_errmsg
