Merge changes Iecc1b127,Ib67f07db,I7672d34c

* changes:
  Run genversion-scripts.py.
  Only check arch tag if we have *any* arch tags.
  Add pylintrc.
diff --git a/libc/include/signal.h b/libc/include/signal.h
index 085f92f..a9df04b 100644
--- a/libc/include/signal.h
+++ b/libc/include/signal.h
@@ -118,12 +118,12 @@
 int siginterrupt(int, int);
 
 #if __ANDROID_API__ >= 21
-sighandler_t signal(int, sighandler_t);
-int sigaddset(sigset_t*, int);
-int sigdelset(sigset_t*, int);
-int sigemptyset(sigset_t*);
-int sigfillset(sigset_t*);
-int sigismember(const sigset_t*, int);
+sighandler_t signal(int, sighandler_t) __INTRODUCED_IN(21);
+int sigaddset(sigset_t*, int) __INTRODUCED_IN(21);
+int sigdelset(sigset_t*, int) __INTRODUCED_IN(21);
+int sigemptyset(sigset_t*) __INTRODUCED_IN(21);
+int sigfillset(sigset_t*) __INTRODUCED_IN(21);
+int sigismember(const sigset_t*, int) __INTRODUCED_IN(21);
 #else
 // Implemented as static inlines before 21.
 #endif
diff --git a/libc/include/stdlib.h b/libc/include/stdlib.h
index f6c3baf..28cd4a8 100644
--- a/libc/include/stdlib.h
+++ b/libc/include/stdlib.h
@@ -178,16 +178,16 @@
 #endif /* defined(__BIONIC_FORTIFY) */
 
 #if __ANDROID_API__ >= 21
-float strtof(const char*, char**);
-double atof(const char*);
-int abs(int) __pure2;
-long labs(long) __pure2;
-long long llabs(long long) __pure2;
-int rand(void);
-void srand(unsigned int);
-long random(void);
-void srandom(unsigned int);
-int grantpt(int);
+float strtof(const char*, char**) __INTRODUCED_IN(21);
+double atof(const char*) __INTRODUCED_IN(21);
+int abs(int) __pure2 __INTRODUCED_IN(21);
+long labs(long) __pure2 __INTRODUCED_IN(21);
+long long llabs(long long) __pure2 __INTRODUCED_IN(21);
+int rand(void) __INTRODUCED_IN(21);
+void srand(unsigned int) __INTRODUCED_IN(21);
+long random(void) __INTRODUCED_IN(21);
+void srandom(unsigned int) __INTRODUCED_IN(21);
+int grantpt(int) __INTRODUCED_IN(21);
 #else
 // Implemented as static inlines before 21.
 #endif
diff --git a/libc/include/sys/stat.h b/libc/include/sys/stat.h
index 4397a0d..0d350e0 100644
--- a/libc/include/sys/stat.h
+++ b/libc/include/sys/stat.h
@@ -178,7 +178,7 @@
 #endif /* defined(__BIONIC_FORTIFY) */
 
 #if __ANDROID_API__ >= 21
-int mkfifo(const char*, mode_t);
+int mkfifo(const char*, mode_t) __INTRODUCED_IN(21);
 #else
 // Implemented as a static inline before 21.
 #endif
diff --git a/libc/include/termios.h b/libc/include/termios.h
index ad33bbe..c17794c 100644
--- a/libc/include/termios.h
+++ b/libc/include/termios.h
@@ -37,17 +37,17 @@
 
 #if __ANDROID_API__ >= 21
 // Implemented as static inlines before 21.
-speed_t cfgetispeed(const struct termios*);
-speed_t cfgetospeed(const struct termios*);
-void cfmakeraw(struct termios*);
-int cfsetispeed(struct termios*, speed_t);
-int cfsetospeed(struct termios*, speed_t);
-int tcflow(int, int);
-int tcflush(int, int);
-int tcgetattr(int, struct termios*);
-pid_t tcgetsid(int);
-int tcsendbreak(int, int);
-int tcsetattr(int, int, const struct termios*);
+speed_t cfgetispeed(const struct termios*) __INTRODUCED_IN(21);
+speed_t cfgetospeed(const struct termios*) __INTRODUCED_IN(21);
+void cfmakeraw(struct termios*) __INTRODUCED_IN(21);
+int cfsetispeed(struct termios*, speed_t) __INTRODUCED_IN(21);
+int cfsetospeed(struct termios*, speed_t) __INTRODUCED_IN(21);
+int tcflow(int, int) __INTRODUCED_IN(21);
+int tcflush(int, int) __INTRODUCED_IN(21);
+int tcgetattr(int, struct termios*) __INTRODUCED_IN(21);
+pid_t tcgetsid(int) __INTRODUCED_IN(21);
+int tcsendbreak(int, int) __INTRODUCED_IN(21);
+int tcsetattr(int, int, const struct termios*) __INTRODUCED_IN(21);
 #endif
 
 int cfsetspeed(struct termios*, speed_t) __INTRODUCED_IN(21);
diff --git a/libc/include/unistd.h b/libc/include/unistd.h
index 25f0304..c45a2e6 100644
--- a/libc/include/unistd.h
+++ b/libc/include/unistd.h
@@ -209,7 +209,7 @@
 int acct(const char* __filepath);
 
 #if __ANDROID_API__ >= 21
-int getpagesize(void);
+int getpagesize(void) __INTRODUCED_IN(21);
 #else
 __inline__ int getpagesize(void) {
   return sysconf(_SC_PAGESIZE);
diff --git a/libc/libc.map.txt b/libc/libc.map.txt
index b71739f..8c3da20 100644
--- a/libc/libc.map.txt
+++ b/libc/libc.map.txt
@@ -1226,25 +1226,25 @@
     *;
 };
 
-LIBC_N { # introduced=24
+LIBC_N { # introduced-arm64=24 introduced-mips=24 introduced-mips64=24 introduced-x86=24 introduced-x86_64=24
   global:
-    __aeabi_atexit; # arm
-    __aeabi_memclr; # arm
-    __aeabi_memclr4; # arm
-    __aeabi_memclr8; # arm
-    __aeabi_memcpy; # arm
-    __aeabi_memcpy4; # arm
-    __aeabi_memcpy8; # arm
-    __aeabi_memmove; # arm
-    __aeabi_memmove4; # arm
-    __aeabi_memmove8; # arm
-    __aeabi_memset; # arm
-    __aeabi_memset4; # arm
-    __aeabi_memset8; # arm
+    __aeabi_atexit; # arm versioned=24
+    __aeabi_memclr; # arm versioned=24
+    __aeabi_memclr4; # arm versioned=24
+    __aeabi_memclr8; # arm versioned=24
+    __aeabi_memcpy; # arm versioned=24
+    __aeabi_memcpy4; # arm versioned=24
+    __aeabi_memcpy8; # arm versioned=24
+    __aeabi_memmove; # arm versioned=24
+    __aeabi_memmove4; # arm versioned=24
+    __aeabi_memmove8; # arm versioned=24
+    __aeabi_memset; # arm versioned=24
+    __aeabi_memset4; # arm versioned=24
+    __aeabi_memset8; # arm versioned=24
     __fread_chk; # introduced=24
     __fwrite_chk; # introduced=24
     __getcwd_chk; # introduced=24
-    __gnu_Unwind_Find_exidx; # arm
+    __gnu_Unwind_Find_exidx; # arm versioned=24
     __pwrite_chk; # introduced=24
     __pwrite64_chk; # introduced=24
     __write_chk; # introduced=24
@@ -1291,38 +1291,39 @@
     tmpfile64; # introduced=24
 } LIBC;
 
-LIBC_O { # future
+LIBC_O {
   global:
-    catclose;
-    catgets;
-    catopen;
-    ctermid;
-    endgrent;
-    endpwent;
-    futimes;
-    futimesat;
-    getdomainname;
-    getgrent;
-    getpwent;
-    getsubopt;
-    hasmntopt;
-    lutimes;
-    mblen;
-    pthread_getname_np;
-    quotactl;
-    setdomainname;
-    setgrent;
-    setpwent;
-    sighold;
-    sigignore;
-    sigpause;
-    sigrelse;
-    sigset;
-    sync_file_range;
-    towctrans;
-    towctrans_l;
-    wctrans;
-    wctrans_l;
+    bsd_signal; # arm x86 mips nobrillo versioned=26
+    catclose; # future
+    catgets; # future
+    catopen; # future
+    ctermid; # future
+    endgrent; # future
+    endpwent; # future
+    futimes; # future
+    futimesat; # future
+    getdomainname; # future
+    getgrent; # future
+    getpwent; # future
+    getsubopt; # future
+    hasmntopt; # future
+    lutimes; # future
+    mblen; # future
+    pthread_getname_np; # future
+    quotactl; # future
+    setdomainname; # future
+    setgrent; # future
+    setpwent; # future
+    sighold; # future
+    sigignore; # future
+    sigpause; # future
+    sigrelse; # future
+    sigset; # future
+    sync_file_range; # future
+    towctrans; # future
+    towctrans_l; # future
+    wctrans; # future
+    wctrans_l; # future
 } LIBC_N;
 
 LIBC_PRIVATE {
@@ -1511,7 +1512,6 @@
     atexit; # arm
     bcopy; # arm x86 mips nobrillo
     bzero; # arm x86 mips nobrillo
-    bsd_signal; # arm x86 mips nobrillo
     dlmalloc; # arm x86 mips nobrillo
     dlmalloc_inspect_all; # arm x86 mips nobrillo
     dlmalloc_trim; # arm x86 mips nobrillo
diff --git a/tools/versioner/dependencies/common/kernel_android_uapi b/tools/versioner/dependencies/common/kernel_android_uapi
new file mode 120000
index 0000000..bcf6daa
--- /dev/null
+++ b/tools/versioner/dependencies/common/kernel_android_uapi
@@ -0,0 +1 @@
+../../../../libc/kernel/android/uapi
\ No newline at end of file
diff --git a/tools/versioner/dependencies/common/kernel_common b/tools/versioner/dependencies/common/kernel_common
deleted file mode 120000
index 1ea6a74..0000000
--- a/tools/versioner/dependencies/common/kernel_common
+++ /dev/null
@@ -1 +0,0 @@
-../../../../libc/kernel/common
\ No newline at end of file