DO NOT MERGE: The future is now.
__INTRODUCED_IN_FUTURE -> __INTRODUCED_IN(26)
Bug: http://b/37437368
Test: treehugger
Change-Id: I601a23da83b65a0cd582cc840ed3856a9031b673
(cherry picked from commit cb302f932a3532f1484e1e70894e9b1199384283)
diff --git a/libc/include/bits/wctype.h b/libc/include/bits/wctype.h
index c968d71..f21d46e 100644
--- a/libc/include/bits/wctype.h
+++ b/libc/include/bits/wctype.h
@@ -58,8 +58,8 @@
int iswctype(wint_t, wctype_t);
typedef const void* wctrans_t;
-wint_t towctrans(wint_t, wctrans_t) __INTRODUCED_IN_FUTURE __VERSIONER_NO_GUARD;
-wctrans_t wctrans(const char*) __INTRODUCED_IN_FUTURE __VERSIONER_NO_GUARD;
+wint_t towctrans(wint_t, wctrans_t) __INTRODUCED_IN(26) __VERSIONER_NO_GUARD;
+wctrans_t wctrans(const char*) __INTRODUCED_IN(26) __VERSIONER_NO_GUARD;
__END_DECLS
diff --git a/libc/include/complex.h b/libc/include/complex.h
index f4dc124..c020e4f 100644
--- a/libc/include/complex.h
+++ b/libc/include/complex.h
@@ -61,63 +61,63 @@
/* 7.3.5.1 The cacos functions */
double complex cacos(double complex) __INTRODUCED_IN(23);
float complex cacosf(float complex) __INTRODUCED_IN(23);
-long double complex cacosl(long double complex) __INTRODUCED_IN_FUTURE;
+long double complex cacosl(long double complex) __INTRODUCED_IN(26);
/* 7.3.5.2 The casin functions */
double complex casin(double complex) __INTRODUCED_IN(23);
float complex casinf(float complex) __INTRODUCED_IN(23);
-long double complex casinl(long double complex) __INTRODUCED_IN_FUTURE;
+long double complex casinl(long double complex) __INTRODUCED_IN(26);
/* 7.3.5.1 The catan functions */
double complex catan(double complex) __INTRODUCED_IN(23);
float complex catanf(float complex) __INTRODUCED_IN(23);
-long double complex catanl(long double complex) __INTRODUCED_IN_FUTURE;
+long double complex catanl(long double complex) __INTRODUCED_IN(26);
/* 7.3.5.1 The ccos functions */
double complex ccos(double complex) __INTRODUCED_IN(23);
float complex ccosf(float complex) __INTRODUCED_IN(23);
-long double complex ccosl(long double complex) __INTRODUCED_IN_FUTURE;
+long double complex ccosl(long double complex) __INTRODUCED_IN(26);
/* 7.3.5.1 The csin functions */
double complex csin(double complex) __INTRODUCED_IN(23);
float complex csinf(float complex) __INTRODUCED_IN(23);
-long double complex csinl(long double complex) __INTRODUCED_IN_FUTURE;
+long double complex csinl(long double complex) __INTRODUCED_IN(26);
/* 7.3.5.1 The ctan functions */
double complex ctan(double complex) __INTRODUCED_IN(23);
float complex ctanf(float complex) __INTRODUCED_IN(23);
-long double complex ctanl(long double complex) __INTRODUCED_IN_FUTURE;
+long double complex ctanl(long double complex) __INTRODUCED_IN(26);
/* 7.3.6 Hyperbolic functions */
/* 7.3.6.1 The cacosh functions */
double complex cacosh(double complex) __INTRODUCED_IN(23);
float complex cacoshf(float complex) __INTRODUCED_IN(23);
-long double complex cacoshl(long double complex) __INTRODUCED_IN_FUTURE;
+long double complex cacoshl(long double complex) __INTRODUCED_IN(26);
/* 7.3.6.2 The casinh functions */
double complex casinh(double complex) __INTRODUCED_IN(23);
float complex casinhf(float complex) __INTRODUCED_IN(23);
-long double complex casinhl(long double complex) __INTRODUCED_IN_FUTURE;
+long double complex casinhl(long double complex) __INTRODUCED_IN(26);
/* 7.3.6.3 The catanh functions */
double complex catanh(double complex) __INTRODUCED_IN(23);
float complex catanhf(float complex) __INTRODUCED_IN(23);
-long double complex catanhl(long double complex) __INTRODUCED_IN_FUTURE;
+long double complex catanhl(long double complex) __INTRODUCED_IN(26);
/* 7.3.6.4 The ccosh functions */
double complex ccosh(double complex) __INTRODUCED_IN(23);
float complex ccoshf(float complex) __INTRODUCED_IN(23);
-long double complex ccoshl(long double complex) __INTRODUCED_IN_FUTURE;
+long double complex ccoshl(long double complex) __INTRODUCED_IN(26);
/* 7.3.6.5 The csinh functions */
double complex csinh(double complex) __INTRODUCED_IN(23);
float complex csinhf(float complex) __INTRODUCED_IN(23);
-long double complex csinhl(long double complex) __INTRODUCED_IN_FUTURE;
+long double complex csinhl(long double complex) __INTRODUCED_IN(26);
/* 7.3.6.6 The ctanh functions */
double complex ctanh(double complex) __INTRODUCED_IN(23);
float complex ctanhf(float complex) __INTRODUCED_IN(23);
-long double complex ctanhl(long double complex) __INTRODUCED_IN_FUTURE;
+long double complex ctanhl(long double complex) __INTRODUCED_IN(26);
/* 7.3.7 Exponential and logarithmic functions */
/* 7.3.7.1 The cexp functions */
double complex cexp(double complex) __INTRODUCED_IN(23);
float complex cexpf(float complex) __INTRODUCED_IN(23);
-long double complex cexpl(long double complex) __INTRODUCED_IN_FUTURE;
+long double complex cexpl(long double complex) __INTRODUCED_IN(26);
/* 7.3.7.2 The clog functions */
-double complex clog(double complex) __INTRODUCED_IN_FUTURE;
-float complex clogf(float complex) __INTRODUCED_IN_FUTURE;
-long double complex clogl(long double complex) __INTRODUCED_IN_FUTURE;
+double complex clog(double complex) __INTRODUCED_IN(26);
+float complex clogf(float complex) __INTRODUCED_IN(26);
+long double complex clogl(long double complex) __INTRODUCED_IN(26);
/* 7.3.8 Power and absolute-value functions */
/* 7.3.8.1 The cabs functions */
@@ -125,9 +125,9 @@
float cabsf(float complex) __INTRODUCED_IN(23);
long double cabsl(long double complex) __INTRODUCED_IN_32(21) __INTRODUCED_IN_64(23);
/* 7.3.8.2 The cpow functions */
-double complex cpow(double complex, double complex) __INTRODUCED_IN_FUTURE;
-float complex cpowf(float complex, float complex) __INTRODUCED_IN_FUTURE;
-long double complex cpowl(long double complex, long double complex) __INTRODUCED_IN_FUTURE;
+double complex cpow(double complex, double complex) __INTRODUCED_IN(26);
+float complex cpowf(float complex, float complex) __INTRODUCED_IN(26);
+long double complex cpowl(long double complex, long double complex) __INTRODUCED_IN(26);
/* 7.3.8.3 The csqrt functions */
double complex csqrt(double complex) __INTRODUCED_IN(23);
float complex csqrtf(float complex) __INTRODUCED_IN(23);
diff --git a/libc/include/fcntl.h b/libc/include/fcntl.h
index 2d01be7..652430c 100644
--- a/libc/include/fcntl.h
+++ b/libc/include/fcntl.h
@@ -91,7 +91,7 @@
#if defined(__USE_GNU)
ssize_t readahead(int, off64_t, size_t) __INTRODUCED_IN(16);
-int sync_file_range(int, off64_t, off64_t, unsigned int) __INTRODUCED_IN_FUTURE;
+int sync_file_range(int, off64_t, off64_t, unsigned int) __INTRODUCED_IN(26);
#endif
int __open_2(const char*, int) __INTRODUCED_IN(17);
diff --git a/libc/include/grp.h b/libc/include/grp.h
index 1d38265..b727562 100644
--- a/libc/include/grp.h
+++ b/libc/include/grp.h
@@ -51,10 +51,10 @@
struct group* getgrnam(const char*);
/* Note: Android has thousands and thousands of ids to iterate through. */
-struct group* getgrent(void) __INTRODUCED_IN_FUTURE;
+struct group* getgrent(void) __INTRODUCED_IN(26);
-void setgrent(void) __INTRODUCED_IN_FUTURE;
-void endgrent(void) __INTRODUCED_IN_FUTURE;
+void setgrent(void) __INTRODUCED_IN(26);
+void endgrent(void) __INTRODUCED_IN(26);
int getgrgid_r(gid_t, struct group*, char*, size_t, struct group**) __INTRODUCED_IN(24);
int getgrnam_r(const char*, struct group*, char*, size_t, struct group**) __INTRODUCED_IN(24);
int getgrouplist (const char*, gid_t, gid_t*, int*);
diff --git a/libc/include/langinfo.h b/libc/include/langinfo.h
index 5c884ac..c330117 100644
--- a/libc/include/langinfo.h
+++ b/libc/include/langinfo.h
@@ -92,8 +92,8 @@
#define NOEXPR 54
#define CRNCYSTR 55
-char* nl_langinfo(nl_item) __INTRODUCED_IN_FUTURE;
-char* nl_langinfo_l(nl_item, locale_t) __INTRODUCED_IN_FUTURE;
+char* nl_langinfo(nl_item) __INTRODUCED_IN(26);
+char* nl_langinfo_l(nl_item, locale_t) __INTRODUCED_IN(26);
__END_DECLS
diff --git a/libc/include/mntent.h b/libc/include/mntent.h
index ad9d72f..551a085 100644
--- a/libc/include/mntent.h
+++ b/libc/include/mntent.h
@@ -61,7 +61,7 @@
struct mntent* getmntent(FILE*);
struct mntent* getmntent_r(FILE*, struct mntent*, char*, int) __INTRODUCED_IN(21);
FILE* setmntent(const char*, const char*) __INTRODUCED_IN(21);
-char* hasmntopt(const struct mntent*, const char*) __INTRODUCED_IN_FUTURE;
+char* hasmntopt(const struct mntent*, const char*) __INTRODUCED_IN(26);
__END_DECLS
diff --git a/libc/include/nl_types.h b/libc/include/nl_types.h
index bcaab06..d478353 100644
--- a/libc/include/nl_types.h
+++ b/libc/include/nl_types.h
@@ -39,9 +39,9 @@
typedef void* nl_catd;
typedef int nl_item;
-nl_catd catopen(const char*, int) __INTRODUCED_IN_FUTURE;
-char* catgets(nl_catd, int, int, const char*) __INTRODUCED_IN_FUTURE;
-int catclose(nl_catd) __INTRODUCED_IN_FUTURE;
+nl_catd catopen(const char*, int) __INTRODUCED_IN(26);
+char* catgets(nl_catd, int, int, const char*) __INTRODUCED_IN(26);
+int catclose(nl_catd) __INTRODUCED_IN(26);
__END_DECLS
diff --git a/libc/include/pthread.h b/libc/include/pthread.h
index ae4fdce..c34d1a3 100644
--- a/libc/include/pthread.h
+++ b/libc/include/pthread.h
@@ -207,7 +207,7 @@
pthread_t pthread_self(void) __attribute_const__;
#if defined(__USE_GNU)
-int pthread_getname_np(pthread_t, char* _Nonnull, size_t) __INTRODUCED_IN_FUTURE;
+int pthread_getname_np(pthread_t, char* _Nonnull, size_t) __INTRODUCED_IN(26);
#endif
/* TODO: this should be __USE_GNU too. */
int pthread_setname_np(pthread_t, const char* _Nonnull);
diff --git a/libc/include/pwd.h b/libc/include/pwd.h
index 223fc5a..e37c637 100644
--- a/libc/include/pwd.h
+++ b/libc/include/pwd.h
@@ -84,10 +84,10 @@
struct passwd* getpwuid(uid_t);
/* Note: Android has thousands and thousands of ids to iterate through */
-struct passwd* getpwent(void) __INTRODUCED_IN_FUTURE;
+struct passwd* getpwent(void) __INTRODUCED_IN(26);
-void setpwent(void) __INTRODUCED_IN_FUTURE;
-void endpwent(void) __INTRODUCED_IN_FUTURE;
+void setpwent(void) __INTRODUCED_IN(26);
+void endpwent(void) __INTRODUCED_IN(26);
int getpwnam_r(const char*, struct passwd*, char*, size_t, struct passwd**) __INTRODUCED_IN(12);
int getpwuid_r(uid_t, struct passwd*, char*, size_t, struct passwd**) __INTRODUCED_IN(12);
diff --git a/libc/include/signal.h b/libc/include/signal.h
index ffce1fa..1400328 100644
--- a/libc/include/signal.h
+++ b/libc/include/signal.h
@@ -136,16 +136,16 @@
int sighold(int)
__attribute__((deprecated("use sigprocmask() or pthread_sigmask() instead")))
- __INTRODUCED_IN_FUTURE;
+ __INTRODUCED_IN(26);
int sigignore(int)
- __attribute__((deprecated("use sigaction() instead"))) __INTRODUCED_IN_FUTURE;
+ __attribute__((deprecated("use sigaction() instead"))) __INTRODUCED_IN(26);
int sigpause(int)
- __attribute__((deprecated("use sigsuspend() instead"))) __INTRODUCED_IN_FUTURE;
+ __attribute__((deprecated("use sigsuspend() instead"))) __INTRODUCED_IN(26);
int sigrelse(int)
__attribute__((deprecated("use sigprocmask() or pthread_sigmask() instead")))
- __INTRODUCED_IN_FUTURE;
+ __INTRODUCED_IN(26);
sighandler_t sigset(int, sighandler_t)
- __attribute__((deprecated("use sigaction() instead"))) __INTRODUCED_IN_FUTURE;
+ __attribute__((deprecated("use sigaction() instead"))) __INTRODUCED_IN(26);
int raise(int);
int kill(pid_t, int);
diff --git a/libc/include/stdio.h b/libc/include/stdio.h
index 8b0e9df..24916d6 100644
--- a/libc/include/stdio.h
+++ b/libc/include/stdio.h
@@ -227,7 +227,7 @@
int vsscanf(const char* __restrict _Nonnull, const char* __restrict _Nonnull, __va_list) __scanflike(2, 0);
#define L_ctermid 1024 /* size for ctermid() */
-char* ctermid(char*) __INTRODUCED_IN_FUTURE;
+char* ctermid(char*) __INTRODUCED_IN(26);
FILE* fdopen(int, const char*);
int fileno(FILE*);
diff --git a/libc/include/stdlib.h b/libc/include/stdlib.h
index bf25160..3cd8ad1 100644
--- a/libc/include/stdlib.h
+++ b/libc/include/stdlib.h
@@ -77,7 +77,7 @@
double strtod(const char*, char**);
long double strtold(const char*, char**) __INTRODUCED_IN(21);
-unsigned long strtoul_l(const char*, char**, int, locale_t) __INTRODUCED_IN_FUTURE;
+unsigned long strtoul_l(const char*, char**, int, locale_t) __INTRODUCED_IN(26);
int atoi(const char*) __attribute_pure__;
long atol(const char*) __attribute_pure__;
@@ -119,7 +119,7 @@
int ptsname_r(int, char*, size_t);
int unlockpt(int);
-int getsubopt(char**, char* const*, char**) __INTRODUCED_IN_FUTURE;
+int getsubopt(char**, char* const*, char**) __INTRODUCED_IN(26);
typedef struct {
int quot;
@@ -146,7 +146,7 @@
const char* getprogname(void) __INTRODUCED_IN(21);
void setprogname(const char*) __INTRODUCED_IN(21);
-int mblen(const char*, size_t) __INTRODUCED_IN_FUTURE __VERSIONER_NO_GUARD;
+int mblen(const char*, size_t) __INTRODUCED_IN(26) __VERSIONER_NO_GUARD;
size_t mbstowcs(wchar_t*, const char*, size_t);
int mbtowc(wchar_t*, const char*, size_t) __INTRODUCED_IN(21) __VERSIONER_NO_GUARD;
int wctomb(char*, wchar_t) __INTRODUCED_IN(21) __VERSIONER_NO_GUARD;
@@ -226,9 +226,9 @@
#endif
#if __ANDROID_API__ >= __ANDROID_API_FUTURE__
-double strtod_l(const char*, char**, locale_t) __INTRODUCED_IN_FUTURE;
-float strtof_l(const char*, char**, locale_t) __INTRODUCED_IN_FUTURE;
-long strtol_l(const char*, char**, int, locale_t) __INTRODUCED_IN_FUTURE;
+double strtod_l(const char*, char**, locale_t) __INTRODUCED_IN(26);
+float strtof_l(const char*, char**, locale_t) __INTRODUCED_IN(26);
+long strtol_l(const char*, char**, int, locale_t) __INTRODUCED_IN(26);
#else
// Implemented as static inlines.
#endif
diff --git a/libc/include/sys/msg.h b/libc/include/sys/msg.h
index f746bb5..ced5a3e 100644
--- a/libc/include/sys/msg.h
+++ b/libc/include/sys/msg.h
@@ -41,10 +41,10 @@
typedef __kernel_ulong_t msgqnum_t;
typedef __kernel_ulong_t msglen_t;
-int msgctl(int, int, struct msqid_ds*) __INTRODUCED_IN_FUTURE;
-int msgget(key_t, int) __INTRODUCED_IN_FUTURE;
-ssize_t msgrcv(int, void*, size_t, long, int) __INTRODUCED_IN_FUTURE;
-int msgsnd(int, const void*, size_t, int) __INTRODUCED_IN_FUTURE;
+int msgctl(int, int, struct msqid_ds*) __INTRODUCED_IN(26);
+int msgget(key_t, int) __INTRODUCED_IN(26);
+ssize_t msgrcv(int, void*, size_t, long, int) __INTRODUCED_IN(26);
+int msgsnd(int, const void*, size_t, int) __INTRODUCED_IN(26);
__END_DECLS
diff --git a/libc/include/sys/quota.h b/libc/include/sys/quota.h
index 08ca982..51f7675 100644
--- a/libc/include/sys/quota.h
+++ b/libc/include/sys/quota.h
@@ -40,7 +40,7 @@
__BEGIN_DECLS
-int quotactl(int, const char*, int, char*) __INTRODUCED_IN_FUTURE;
+int quotactl(int, const char*, int, char*) __INTRODUCED_IN(26);
__END_DECLS
diff --git a/libc/include/sys/sem.h b/libc/include/sys/sem.h
index 99873c1..904c334 100644
--- a/libc/include/sys/sem.h
+++ b/libc/include/sys/sem.h
@@ -43,12 +43,12 @@
__BEGIN_DECLS
-int semctl(int, int, int, ...) __INTRODUCED_IN_FUTURE;
-int semget(key_t, int, int) __INTRODUCED_IN_FUTURE;
-int semop(int, struct sembuf*, size_t) __INTRODUCED_IN_FUTURE;
+int semctl(int, int, int, ...) __INTRODUCED_IN(26);
+int semget(key_t, int, int) __INTRODUCED_IN(26);
+int semop(int, struct sembuf*, size_t) __INTRODUCED_IN(26);
#if defined(__USE_GNU)
-int semtimedop(int, struct sembuf*, size_t, const struct timespec*) __INTRODUCED_IN_FUTURE;
+int semtimedop(int, struct sembuf*, size_t, const struct timespec*) __INTRODUCED_IN(26);
#endif
__END_DECLS
diff --git a/libc/include/sys/shm.h b/libc/include/sys/shm.h
index 7836460..ccd3b36 100644
--- a/libc/include/sys/shm.h
+++ b/libc/include/sys/shm.h
@@ -42,10 +42,10 @@
typedef unsigned long shmatt_t;
-void* shmat(int, const void*, int) __INTRODUCED_IN_FUTURE;
-int shmctl(int, int, struct shmid_ds*) __INTRODUCED_IN_FUTURE;
-int shmdt(const void*) __INTRODUCED_IN_FUTURE;
-int shmget(key_t, size_t, int) __INTRODUCED_IN_FUTURE;
+void* shmat(int, const void*, int) __INTRODUCED_IN(26);
+int shmctl(int, int, struct shmid_ds*) __INTRODUCED_IN(26);
+int shmdt(const void*) __INTRODUCED_IN(26);
+int shmget(key_t, size_t, int) __INTRODUCED_IN(26);
__END_DECLS
diff --git a/libc/include/sys/socket.h b/libc/include/sys/socket.h
index c87465f..2dc54aa 100644
--- a/libc/include/sys/socket.h
+++ b/libc/include/sys/socket.h
@@ -326,7 +326,7 @@
socklen_t*) __overloadable __RENAME_CLANG(recvfrom);
extern ssize_t __sendto_chk(int, const void*, size_t, size_t, int, const struct sockaddr*,
- socklen_t) __INTRODUCED_IN_FUTURE;
+ socklen_t) __INTRODUCED_IN(26);
ssize_t __recvfrom_chk(int, void*, size_t, size_t, int, struct sockaddr*,
socklen_t*) __INTRODUCED_IN(21);
diff --git a/libc/include/sys/system_properties.h b/libc/include/sys/system_properties.h
index c0bd445..d075859 100644
--- a/libc/include/sys/system_properties.h
+++ b/libc/include/sys/system_properties.h
@@ -58,7 +58,7 @@
*/
void __system_property_read_callback(const prop_info *pi,
void (*callback)(void* cookie, const char *name, const char *value, uint32_t serial),
- void* cookie) __INTRODUCED_IN_FUTURE;
+ void* cookie) __INTRODUCED_IN(26);
/*
* Passes a `prop_info` for each system property to the provided
@@ -86,7 +86,7 @@
uint32_t old_serial,
uint32_t* new_serial_ptr,
const struct timespec* relative_timeout)
- __INTRODUCED_IN_FUTURE;
+ __INTRODUCED_IN(26);
/* Deprecated. In Android O and above, there's no limit on property name length. */
#define PROP_NAME_MAX 32
diff --git a/libc/include/sys/time.h b/libc/include/sys/time.h
index ad5844a..4d477e1 100644
--- a/libc/include/sys/time.h
+++ b/libc/include/sys/time.h
@@ -47,12 +47,12 @@
int utimes(const char*, const struct timeval*);
#if defined(__USE_BSD)
-int futimes(int, const struct timeval[2]) __INTRODUCED_IN_FUTURE;
-int lutimes(const char*, const struct timeval[2]) __INTRODUCED_IN_FUTURE;
+int futimes(int, const struct timeval[2]) __INTRODUCED_IN(26);
+int lutimes(const char*, const struct timeval[2]) __INTRODUCED_IN(26);
#endif
#if defined(__USE_GNU)
-int futimesat(int, const char*, const struct timeval[2]) __INTRODUCED_IN_FUTURE;
+int futimesat(int, const char*, const struct timeval[2]) __INTRODUCED_IN(26);
#endif
#define timerclear(a) \
diff --git a/libc/include/unistd.h b/libc/include/unistd.h
index 017d97a..ff2e9f6 100644
--- a/libc/include/unistd.h
+++ b/libc/include/unistd.h
@@ -262,8 +262,8 @@
ssize_t __readlink_chk(const char*, char*, size_t, size_t) __INTRODUCED_IN(23);
ssize_t __readlinkat_chk(int dirfd, const char*, char*, size_t, size_t) __INTRODUCED_IN(23);
-int getdomainname(char*, size_t) __INTRODUCED_IN_FUTURE;
-int setdomainname(const char*, size_t) __INTRODUCED_IN_FUTURE;
+int getdomainname(char*, size_t) __INTRODUCED_IN(26);
+int setdomainname(const char*, size_t) __INTRODUCED_IN(26);
#if defined(__BIONIC_FORTIFY)
diff --git a/libc/include/wctype.h b/libc/include/wctype.h
index 9e22a8f..39e34f6 100644
--- a/libc/include/wctype.h
+++ b/libc/include/wctype.h
@@ -55,8 +55,8 @@
// Implemented as static inlines before 21.
#endif
-wint_t towctrans_l(wint_t, wctrans_t, locale_t) __INTRODUCED_IN_FUTURE;
-wctrans_t wctrans_l(const char*, locale_t) __INTRODUCED_IN_FUTURE;
+wint_t towctrans_l(wint_t, wctrans_t, locale_t) __INTRODUCED_IN(26);
+wctrans_t wctrans_l(const char*, locale_t) __INTRODUCED_IN(26);
wctype_t wctype_l(const char*, locale_t) __INTRODUCED_IN(21);
int iswctype_l(wint_t, wctype_t, locale_t) __INTRODUCED_IN(21);
diff --git a/libc/libc.map.txt b/libc/libc.map.txt
index b83baf6..c4bc262 100644
--- a/libc/libc.map.txt
+++ b/libc/libc.map.txt
@@ -1286,58 +1286,58 @@
LIBC_O {
global:
- __sendto_chk; # future
- __system_property_read_callback; # future
- __system_property_wait; # future
+ __sendto_chk; # introduced=26
+ __system_property_read_callback; # introduced=26
+ __system_property_wait; # introduced=26
bsd_signal; # arm x86 mips 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
- msgctl; # future
- msgget; # future
- msgrcv; # future
- msgsnd; # future
- nl_langinfo; # future
- nl_langinfo_l; # future
- pthread_getname_np; # future
- quotactl; # future
- semctl; # future
- semget; # future
- semop; # future
- semtimedop; # future
- setdomainname; # future
- setgrent; # future
- setpwent; # future
- shmat; # future
- shmctl; # future
- shmdt; # future
- shmget; # future
- sighold; # future
- sigignore; # future
- sigpause; # future
- sigrelse; # future
- sigset; # future
- strtod_l; # future
- strtof_l; # future
- strtol_l; # future
- strtoul_l; # future
- sync_file_range; # future
- towctrans; # future
- towctrans_l; # future
- wctrans; # future
- wctrans_l; # future
+ catclose; # introduced=26
+ catgets; # introduced=26
+ catopen; # introduced=26
+ ctermid; # introduced=26
+ endgrent; # introduced=26
+ endpwent; # introduced=26
+ futimes; # introduced=26
+ futimesat; # introduced=26
+ getdomainname; # introduced=26
+ getgrent; # introduced=26
+ getpwent; # introduced=26
+ getsubopt; # introduced=26
+ hasmntopt; # introduced=26
+ lutimes; # introduced=26
+ mblen; # introduced=26
+ msgctl; # introduced=26
+ msgget; # introduced=26
+ msgrcv; # introduced=26
+ msgsnd; # introduced=26
+ nl_langinfo; # introduced=26
+ nl_langinfo_l; # introduced=26
+ pthread_getname_np; # introduced=26
+ quotactl; # introduced=26
+ semctl; # introduced=26
+ semget; # introduced=26
+ semop; # introduced=26
+ semtimedop; # introduced=26
+ setdomainname; # introduced=26
+ setgrent; # introduced=26
+ setpwent; # introduced=26
+ shmat; # introduced=26
+ shmctl; # introduced=26
+ shmdt; # introduced=26
+ shmget; # introduced=26
+ sighold; # introduced=26
+ sigignore; # introduced=26
+ sigpause; # introduced=26
+ sigrelse; # introduced=26
+ sigset; # introduced=26
+ strtod_l; # introduced=26
+ strtof_l; # introduced=26
+ strtol_l; # introduced=26
+ strtoul_l; # introduced=26
+ sync_file_range; # introduced=26
+ towctrans; # introduced=26
+ towctrans_l; # introduced=26
+ wctrans; # introduced=26
+ wctrans_l; # introduced=26
} LIBC_N;
LIBC_PRIVATE {