Merge changes I01c4d9a8,Ic34734b4

* changes:
  Run genversion-scripts.py.
  Annotate libdl.map.txt.
diff --git a/libc/libc.arm.brillo.map b/libc/libc.arm.brillo.map
index cdd87b3..4e8212b 100644
--- a/libc/libc.arm.brillo.map
+++ b/libc/libc.arm.brillo.map
@@ -1201,25 +1201,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
@@ -1266,38 +1266,38 @@
     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;
+    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 {
diff --git a/libc/libc.arm.map b/libc/libc.arm.map
index 80a02a8..0ee2308 100644
--- a/libc/libc.arm.map
+++ b/libc/libc.arm.map
@@ -1201,25 +1201,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
@@ -1266,38 +1266,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 {
@@ -1485,7 +1486,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/libc/libc.arm64.map b/libc/libc.arm64.map
index 1f2fca0..f080340 100644
--- a/libc/libc.arm64.map
+++ b/libc/libc.arm64.map
@@ -1139,7 +1139,7 @@
     *;
 };
 
-LIBC_N { # introduced=24
+LIBC_N { # introduced-arm64=24 introduced-mips=24 introduced-mips64=24 introduced-x86=24 introduced-x86_64=24
   global:
     __fread_chk; # introduced=24
     __fwrite_chk; # introduced=24
@@ -1189,38 +1189,38 @@
     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;
+    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 {
diff --git a/libc/libc.mips.brillo.map b/libc/libc.mips.brillo.map
index 8105dc3..3911b20 100644
--- a/libc/libc.mips.brillo.map
+++ b/libc/libc.mips.brillo.map
@@ -1199,7 +1199,7 @@
     *;
 };
 
-LIBC_N { # introduced=24
+LIBC_N { # introduced-arm64=24 introduced-mips=24 introduced-mips64=24 introduced-x86=24 introduced-x86_64=24
   global:
     __fread_chk; # introduced=24
     __fwrite_chk; # introduced=24
@@ -1250,38 +1250,38 @@
     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;
+    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 {
diff --git a/libc/libc.mips.map b/libc/libc.mips.map
index 3a8ad98..cc143c8 100644
--- a/libc/libc.mips.map
+++ b/libc/libc.mips.map
@@ -1199,7 +1199,7 @@
     *;
 };
 
-LIBC_N { # introduced=24
+LIBC_N { # introduced-arm64=24 introduced-mips=24 introduced-mips64=24 introduced-x86=24 introduced-x86_64=24
   global:
     __fread_chk; # introduced=24
     __fwrite_chk; # introduced=24
@@ -1250,38 +1250,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 {
@@ -1327,7 +1328,6 @@
     arc4random_stir; # arm x86 mips nobrillo
     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/libc/libc.mips64.map b/libc/libc.mips64.map
index 1f2fca0..f080340 100644
--- a/libc/libc.mips64.map
+++ b/libc/libc.mips64.map
@@ -1139,7 +1139,7 @@
     *;
 };
 
-LIBC_N { # introduced=24
+LIBC_N { # introduced-arm64=24 introduced-mips=24 introduced-mips64=24 introduced-x86=24 introduced-x86_64=24
   global:
     __fread_chk; # introduced=24
     __fwrite_chk; # introduced=24
@@ -1189,38 +1189,38 @@
     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;
+    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 {
diff --git a/libc/libc.x86.brillo.map b/libc/libc.x86.brillo.map
index d6c15a4..a02d3585 100644
--- a/libc/libc.x86.brillo.map
+++ b/libc/libc.x86.brillo.map
@@ -1197,7 +1197,7 @@
     *;
 };
 
-LIBC_N { # introduced=24
+LIBC_N { # introduced-arm64=24 introduced-mips=24 introduced-mips64=24 introduced-x86=24 introduced-x86_64=24
   global:
     __fread_chk; # introduced=24
     __fwrite_chk; # introduced=24
@@ -1248,38 +1248,38 @@
     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;
+    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 {
diff --git a/libc/libc.x86.map b/libc/libc.x86.map
index 412386b..6e31a41 100644
--- a/libc/libc.x86.map
+++ b/libc/libc.x86.map
@@ -1197,7 +1197,7 @@
     *;
 };
 
-LIBC_N { # introduced=24
+LIBC_N { # introduced-arm64=24 introduced-mips=24 introduced-mips64=24 introduced-x86=24 introduced-x86_64=24
   global:
     __fread_chk; # introduced=24
     __fwrite_chk; # introduced=24
@@ -1248,38 +1248,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 {
@@ -1326,7 +1327,6 @@
     arc4random_stir; # arm x86 mips nobrillo
     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/libc/libc.x86_64.map b/libc/libc.x86_64.map
index 1f2fca0..f080340 100644
--- a/libc/libc.x86_64.map
+++ b/libc/libc.x86_64.map
@@ -1139,7 +1139,7 @@
     *;
 };
 
-LIBC_N { # introduced=24
+LIBC_N { # introduced-arm64=24 introduced-mips=24 introduced-mips64=24 introduced-x86=24 introduced-x86_64=24
   global:
     __fread_chk; # introduced=24
     __fwrite_chk; # introduced=24
@@ -1189,38 +1189,38 @@
     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;
+    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 {
diff --git a/libdl/libdl.arm.map b/libdl/libdl.arm.map
index 2200cd4..1fdc1a7 100644
--- a/libdl/libdl.arm.map
+++ b/libdl/libdl.arm.map
@@ -17,8 +17,8 @@
 
 LIBC {
   global:
-    android_dlopen_ext;
-    dl_iterate_phdr;
+    android_dlopen_ext; # introduced=21
+    dl_iterate_phdr; # introduced-arm=21
     dl_unwind_find_exidx; # arm
     dladdr;
     dlclose;
@@ -31,7 +31,7 @@
 
 LIBC_N {
   global:
-    dlvsym;
+    dlvsym; # introduced=24
 } LIBC;
 
 LIBC_PLATFORM {
diff --git a/libdl/libdl.arm64.map b/libdl/libdl.arm64.map
index 8779e4c..28d2613 100644
--- a/libdl/libdl.arm64.map
+++ b/libdl/libdl.arm64.map
@@ -17,8 +17,8 @@
 
 LIBC {
   global:
-    android_dlopen_ext;
-    dl_iterate_phdr;
+    android_dlopen_ext; # introduced=21
+    dl_iterate_phdr; # introduced-arm=21
     dladdr;
     dlclose;
     dlerror;
@@ -30,7 +30,7 @@
 
 LIBC_N {
   global:
-    dlvsym;
+    dlvsym; # introduced=24
 } LIBC;
 
 LIBC_PLATFORM {
diff --git a/libdl/libdl.map.txt b/libdl/libdl.map.txt
index 962692e..0a82a2e 100644
--- a/libdl/libdl.map.txt
+++ b/libdl/libdl.map.txt
@@ -16,8 +16,8 @@
 
 LIBC {
   global:
-    android_dlopen_ext;
-    dl_iterate_phdr;
+    android_dlopen_ext; # introduced=21
+    dl_iterate_phdr; # introduced-arm=21
     dl_unwind_find_exidx; # arm
     dladdr;
     dlclose;
@@ -30,7 +30,7 @@
 
 LIBC_N {
   global:
-    dlvsym;
+    dlvsym; # introduced=24
 } LIBC;
 
 LIBC_PLATFORM {
diff --git a/libdl/libdl.mips.map b/libdl/libdl.mips.map
index 8779e4c..28d2613 100644
--- a/libdl/libdl.mips.map
+++ b/libdl/libdl.mips.map
@@ -17,8 +17,8 @@
 
 LIBC {
   global:
-    android_dlopen_ext;
-    dl_iterate_phdr;
+    android_dlopen_ext; # introduced=21
+    dl_iterate_phdr; # introduced-arm=21
     dladdr;
     dlclose;
     dlerror;
@@ -30,7 +30,7 @@
 
 LIBC_N {
   global:
-    dlvsym;
+    dlvsym; # introduced=24
 } LIBC;
 
 LIBC_PLATFORM {
diff --git a/libdl/libdl.mips64.map b/libdl/libdl.mips64.map
index 8779e4c..28d2613 100644
--- a/libdl/libdl.mips64.map
+++ b/libdl/libdl.mips64.map
@@ -17,8 +17,8 @@
 
 LIBC {
   global:
-    android_dlopen_ext;
-    dl_iterate_phdr;
+    android_dlopen_ext; # introduced=21
+    dl_iterate_phdr; # introduced-arm=21
     dladdr;
     dlclose;
     dlerror;
@@ -30,7 +30,7 @@
 
 LIBC_N {
   global:
-    dlvsym;
+    dlvsym; # introduced=24
 } LIBC;
 
 LIBC_PLATFORM {
diff --git a/libdl/libdl.x86.map b/libdl/libdl.x86.map
index 8779e4c..28d2613 100644
--- a/libdl/libdl.x86.map
+++ b/libdl/libdl.x86.map
@@ -17,8 +17,8 @@
 
 LIBC {
   global:
-    android_dlopen_ext;
-    dl_iterate_phdr;
+    android_dlopen_ext; # introduced=21
+    dl_iterate_phdr; # introduced-arm=21
     dladdr;
     dlclose;
     dlerror;
@@ -30,7 +30,7 @@
 
 LIBC_N {
   global:
-    dlvsym;
+    dlvsym; # introduced=24
 } LIBC;
 
 LIBC_PLATFORM {
diff --git a/libdl/libdl.x86_64.map b/libdl/libdl.x86_64.map
index 8779e4c..28d2613 100644
--- a/libdl/libdl.x86_64.map
+++ b/libdl/libdl.x86_64.map
@@ -17,8 +17,8 @@
 
 LIBC {
   global:
-    android_dlopen_ext;
-    dl_iterate_phdr;
+    android_dlopen_ext; # introduced=21
+    dl_iterate_phdr; # introduced-arm=21
     dladdr;
     dlclose;
     dlerror;
@@ -30,7 +30,7 @@
 
 LIBC_N {
   global:
-    dlvsym;
+    dlvsym; # introduced=24
 } LIBC;
 
 LIBC_PLATFORM {