2017-08-28 18:18:34 +02:00
|
|
|
Android bionic status
|
|
|
|
=====================
|
|
|
|
|
|
|
|
libc
|
|
|
|
----
|
|
|
|
|
|
|
|
Current libc symbols: https://android.googlesource.com/platform/bionic/+/master/libc/libc.map.txt
|
|
|
|
|
|
|
|
New libc functions in P:
|
|
|
|
* `__freading`/`__fwriting` (completing <stdio_ext.h>)
|
2017-10-14 02:52:01 +02:00
|
|
|
* `endhostent`/endnetent`/`endprotoent`/`getnetent`/`getprotoent`/`sethostent`/`setnetent`/`setprotoent` (completing <netdb.h>)
|
2017-10-07 01:58:36 +02:00
|
|
|
* `getentropy`/`getrandom` (adding <sys/random.h>)
|
2017-08-28 18:18:34 +02:00
|
|
|
* `getlogin_r`
|
2017-10-07 01:58:36 +02:00
|
|
|
* `glob`/`globfree` (adding <glob.h>)
|
|
|
|
* `hcreate`/hcreate_r`/`hdestroy`/`hdestroy_r`/`hsearch`/`hsearch_r` (completing <search.h>)
|
2017-08-28 18:18:34 +02:00
|
|
|
* `iconv`/`iconv_close`/`iconv_open` (adding <iconv.h>)
|
2017-10-16 18:58:45 +02:00
|
|
|
* `pthread_setschedprio`
|
2017-10-07 01:58:36 +02:00
|
|
|
* <spawn.h>
|
2017-10-18 22:34:32 +02:00
|
|
|
* `swab`
|
2017-08-28 18:18:34 +02:00
|
|
|
* `syncfs`
|
|
|
|
|
|
|
|
New libc functions in O:
|
|
|
|
* `sendto` FORTIFY support
|
|
|
|
* `__system_property_read_callback`/`__system_property_wait`
|
|
|
|
* legacy `bsd_signal`
|
|
|
|
* `catclose`/`catgets`/`catopen` (adding <nl_types.h>)
|
|
|
|
* `ctermid`
|
|
|
|
* all 6 <grp.h>/<pwd.h> (get|set|end)(gr|pw)ent functions
|
|
|
|
* `futimes`/`futimesat`/`lutimes`
|
|
|
|
* `getdomainname`/`setdomainname`
|
|
|
|
* `getsubopt`
|
|
|
|
* `hasmntopt`
|
|
|
|
* `mallopt`
|
|
|
|
* `mblen`
|
|
|
|
* 4 <sys/msg.h> `msg*` functions
|
|
|
|
* <langinfo.h> `nl_langinfo`/`nl_langinfo_l`
|
|
|
|
* `pthread_getname_np`
|
|
|
|
* 2 new Linux system calls `quotactl` and `sync_file_range`
|
|
|
|
* 4 <sys/sem.h> `sem*` functions
|
|
|
|
* 4 <sys/shm.h> `shm*` functions
|
|
|
|
* 5 legacy <signal.h> functions: `sighold`/`sigignore`/`sigpause`/`sigrelse`/`sigset`
|
|
|
|
* `strtod_l`/`strtof_l`/`strtol_l`/`strtoul_l`
|
|
|
|
* <wctype.h> `towctrans`/`towctrans_l`/`wctrans`/`wctrans_l`
|
|
|
|
|
|
|
|
New libc functions in N:
|
|
|
|
* more FORTIFY support functions (`fread`/`fwrite`/`getcwd`/`pwrite`/`write`)
|
|
|
|
* all remaining `_FILE_OFFSET_BITS=64` functions, completing `_FILE_OFFSET_BITS=64` support in bionic (8)
|
|
|
|
* all 7 `pthread_barrier*` functions
|
|
|
|
* all 5 `pthread_spin*` functions
|
|
|
|
* `lockf`/`preadv`/`pwritev`/`scandirat` and `off64_t` variants
|
|
|
|
* `adjtimex`/`clock_adjtime`
|
|
|
|
* `getifaddrs`/`freeifaddrs`/`if_freenameindex`/`if_nameindex`
|
|
|
|
* `getgrgid_r`/`getgrnam_r`
|
|
|
|
* GNU extensions `fileno_unlocked`/`strchrnul`
|
|
|
|
* 32-bit `prlimit`
|
|
|
|
|
|
|
|
libc function count over time:
|
|
|
|
G 803, H 825, I 826, J 846, J-MR1 873, J-MR2 881, K 896, L 1116, M 1181, N 1226, O 1278
|
|
|
|
|
|
|
|
```
|
|
|
|
ndk-r17$ for i in `ls -1v platforms/android-*/arch-arm/usr/lib/libc.so` ; do echo $i; nm $i | grep -vw [AbdNnt] | grep -vw B | wc -l ; done
|
|
|
|
```
|
|
|
|
|
|
|
|
Run `./libc/tools/check-symbols-glibc.py` in bionic/ for the current
|
|
|
|
list of POSIX functions implemented by glibc but not by bionic. Currently
|
2017-10-07 01:58:36 +02:00
|
|
|
(2017-10):
|
2017-08-28 18:18:34 +02:00
|
|
|
```
|
|
|
|
aio_cancel
|
|
|
|
aio_error
|
|
|
|
aio_fsync
|
|
|
|
aio_read
|
|
|
|
aio_return
|
|
|
|
aio_suspend
|
|
|
|
aio_write
|
|
|
|
fexecve
|
|
|
|
fmtmsg
|
|
|
|
getdate
|
|
|
|
getdate_err
|
|
|
|
lio_listio
|
|
|
|
pthread_attr_getinheritsched
|
|
|
|
pthread_attr_setinheritsched
|
|
|
|
pthread_cancel
|
|
|
|
pthread_mutex_consistent
|
|
|
|
pthread_mutex_getprioceiling
|
|
|
|
pthread_mutex_setprioceiling
|
|
|
|
pthread_mutexattr_getprioceiling
|
|
|
|
pthread_mutexattr_getprotocol
|
|
|
|
pthread_mutexattr_getrobust
|
|
|
|
pthread_mutexattr_setprioceiling
|
|
|
|
pthread_mutexattr_setprotocol
|
|
|
|
pthread_mutexattr_setrobust
|
|
|
|
pthread_setcancelstate
|
|
|
|
pthread_setcanceltype
|
|
|
|
pthread_testcancel
|
|
|
|
sockatmark
|
|
|
|
wordexp
|
|
|
|
wordfree
|
|
|
|
```
|
|
|
|
|
|
|
|
libm
|
|
|
|
----
|
|
|
|
|
|
|
|
Current libm symbols: https://android.googlesource.com/platform/bionic/+/master/libm/libm.map.txt
|
|
|
|
|
|
|
|
0 remaining missing POSIX libm functions.
|
|
|
|
|
|
|
|
19 new libm functions in O: complex trig/exp/log functions.
|
|
|
|
|
|
|
|
libm function count over time:
|
|
|
|
G 158, J-MR2 164, L 220, M 265, O 284
|