2015-06-04 02:48:51 +02:00
|
|
|
LIBC {
|
|
|
|
global:
|
|
|
|
__assert;
|
|
|
|
__assert2;
|
|
|
|
__atomic_cmpxchg; # arm
|
|
|
|
__atomic_dec; # arm
|
|
|
|
__atomic_inc; # arm
|
|
|
|
__atomic_swap; # arm
|
|
|
|
__b64_ntop;
|
|
|
|
__b64_pton;
|
2016-07-28 08:56:54 +02:00
|
|
|
__cmsg_nxthdr; # introduced=21
|
2020-02-14 07:23:17 +01:00
|
|
|
__connect; # arm x86 introduced=21
|
2016-07-28 08:56:54 +02:00
|
|
|
__ctype_get_mb_cur_max; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
__cxa_atexit;
|
|
|
|
__cxa_finalize;
|
2016-07-28 08:56:54 +02:00
|
|
|
__cxa_thread_atexit_impl; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
__dn_comp;
|
|
|
|
__dn_count_labels;
|
|
|
|
__dn_skipname;
|
2020-02-14 07:23:17 +01:00
|
|
|
__epoll_pwait; # arm x86 introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
__errno;
|
2020-02-14 07:23:17 +01:00
|
|
|
__exit; # arm x86 introduced=21
|
|
|
|
__fadvise64; # x86 introduced=21
|
2016-07-28 08:56:54 +02:00
|
|
|
__fbufsize; # introduced=23
|
2020-02-14 07:23:17 +01:00
|
|
|
__fcntl64; # arm x86
|
2016-07-28 08:56:54 +02:00
|
|
|
__FD_CLR_chk; # introduced=21
|
|
|
|
__FD_ISSET_chk; # introduced=21
|
|
|
|
__FD_SET_chk; # introduced=21
|
2020-02-14 07:23:17 +01:00
|
|
|
__fgets_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
|
2016-07-28 08:56:54 +02:00
|
|
|
__flbf; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
__fp_nquery;
|
|
|
|
__fp_query;
|
2016-07-28 08:56:54 +02:00
|
|
|
__fpclassify; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
__fpclassifyd;
|
|
|
|
__fpclassifyf;
|
|
|
|
__fpclassifyl;
|
2016-07-28 08:56:54 +02:00
|
|
|
__fpending; # introduced=23
|
|
|
|
__fpurge; # introduced=23
|
|
|
|
__freadable; # introduced=23
|
|
|
|
__fsetlocking; # introduced=23
|
2020-02-14 07:23:17 +01:00
|
|
|
__fstatfs64; # arm x86
|
2016-07-28 08:56:54 +02:00
|
|
|
__fwritable; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
__get_h_errno;
|
2020-02-14 07:23:17 +01:00
|
|
|
__getcpu; # arm x86 introduced-arm=12 introduced-x86=12
|
|
|
|
__getcwd; # arm x86
|
|
|
|
__getpid; # arm x86 introduced=21
|
|
|
|
__getpriority; # arm x86
|
2016-07-28 08:56:54 +02:00
|
|
|
__gnu_basename; # introduced=23
|
|
|
|
__gnu_strerror_r; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
__hostalias;
|
2020-02-14 07:23:17 +01:00
|
|
|
__ioctl; # arm x86
|
2015-06-04 02:48:51 +02:00
|
|
|
__isfinite;
|
|
|
|
__isfinitef;
|
|
|
|
__isfinitel;
|
|
|
|
__isinf;
|
|
|
|
__isinff;
|
|
|
|
__isinfl;
|
2016-07-28 08:56:54 +02:00
|
|
|
__isnan; # introduced=21
|
|
|
|
__isnanf; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
__isnanl;
|
|
|
|
__isnormal;
|
|
|
|
__isnormalf;
|
|
|
|
__isnormall;
|
2020-02-14 07:23:17 +01:00
|
|
|
__isthreaded; # arm x86 var
|
2016-07-28 08:56:54 +02:00
|
|
|
__libc_current_sigrtmax; # introduced=21
|
|
|
|
__libc_current_sigrtmin; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
__libc_init;
|
2020-02-14 07:23:17 +01:00
|
|
|
__llseek; # arm x86
|
2015-06-04 02:48:51 +02:00
|
|
|
__loc_aton;
|
|
|
|
__loc_ntoa;
|
2016-07-28 08:56:54 +02:00
|
|
|
__memchr_chk; # introduced=23
|
2020-02-14 07:23:17 +01:00
|
|
|
__memcpy_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
|
|
|
|
__memmove_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
|
2016-07-28 08:56:54 +02:00
|
|
|
__memrchr_chk; # introduced=23
|
2020-02-14 07:23:17 +01:00
|
|
|
__memset_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
|
|
|
|
__mmap2; # arm x86
|
2023-06-15 18:09:58 +02:00
|
|
|
__ns_format_ttl; # arm x86 introduced=22
|
|
|
|
__ns_get16; # arm x86 introduced=22
|
|
|
|
__ns_get32; # arm x86 introduced=22
|
|
|
|
__ns_initparse; # arm x86 introduced=22
|
|
|
|
__ns_makecanon; # arm x86 introduced=22
|
|
|
|
__ns_msg_getflag; # arm x86 introduced=22
|
|
|
|
__ns_name_compress; # arm x86 introduced=22
|
|
|
|
__ns_name_ntol; # arm x86 introduced=22
|
|
|
|
__ns_name_ntop; # arm x86 introduced=22
|
|
|
|
__ns_name_pack; # arm x86 introduced=22
|
|
|
|
__ns_name_pton; # arm x86 introduced=22
|
|
|
|
__ns_name_rollback; # arm x86 introduced=22
|
|
|
|
__ns_name_skip; # arm x86 introduced=22
|
|
|
|
__ns_name_uncompress; # arm x86 introduced=22
|
|
|
|
__ns_name_unpack; # arm x86 introduced=22
|
|
|
|
__ns_parserr; # arm x86 introduced=22
|
|
|
|
__ns_put16; # arm x86 introduced=22
|
|
|
|
__ns_put32; # arm x86 introduced=22
|
|
|
|
__ns_samename; # arm x86 introduced=22
|
|
|
|
__ns_skiprr; # arm x86 introduced=22
|
|
|
|
__ns_sprintrr; # arm x86 introduced=22
|
|
|
|
__ns_sprintrrf; # arm x86 introduced=22
|
2020-02-14 07:23:17 +01:00
|
|
|
__open_2; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
|
|
|
|
__openat; # arm x86
|
|
|
|
__openat_2; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
__p_cdname;
|
|
|
|
__p_cdnname;
|
|
|
|
__p_class;
|
2016-07-28 08:56:54 +02:00
|
|
|
__p_class_syms; # var
|
2015-06-04 02:48:51 +02:00
|
|
|
__p_fqname;
|
|
|
|
__p_fqnname;
|
|
|
|
__p_option;
|
|
|
|
__p_query;
|
|
|
|
__p_rcode;
|
|
|
|
__p_secstodate;
|
|
|
|
__p_time;
|
|
|
|
__p_type;
|
2016-07-28 08:56:54 +02:00
|
|
|
__p_type_syms; # var
|
|
|
|
__poll_chk; # introduced=23
|
2020-02-14 07:23:17 +01:00
|
|
|
__ppoll; # arm x86 introduced=21
|
2016-07-28 08:56:54 +02:00
|
|
|
__ppoll_chk; # introduced=23
|
2018-03-22 19:01:25 +01:00
|
|
|
__ppoll64_chk; # introduced=28
|
2016-07-28 08:56:54 +02:00
|
|
|
__pread64_chk; # introduced=23
|
|
|
|
__pread_chk; # introduced=23
|
|
|
|
__progname; # var
|
2020-02-14 07:23:17 +01:00
|
|
|
__pselect6; # arm x86 introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
__pthread_cleanup_pop;
|
|
|
|
__pthread_cleanup_push;
|
2020-02-14 07:23:17 +01:00
|
|
|
__ptrace; # arm x86
|
2015-06-04 02:48:51 +02:00
|
|
|
__putlong;
|
|
|
|
__putshort;
|
2016-07-28 08:56:54 +02:00
|
|
|
__read_chk; # introduced=21
|
|
|
|
__readlink_chk; # introduced=23
|
|
|
|
__readlinkat_chk; # introduced=23
|
2020-02-14 07:23:17 +01:00
|
|
|
__reboot; # arm x86
|
2016-07-28 08:56:54 +02:00
|
|
|
__recvfrom_chk; # introduced=21
|
|
|
|
__register_atfork; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
__res_close;
|
|
|
|
__res_dnok;
|
|
|
|
__res_hnok;
|
|
|
|
__res_hostalias;
|
|
|
|
__res_isourserver;
|
|
|
|
__res_mailok;
|
|
|
|
__res_nameinquery;
|
|
|
|
__res_nclose;
|
|
|
|
__res_ninit;
|
|
|
|
__res_nmkquery;
|
|
|
|
__res_nquery;
|
|
|
|
__res_nquerydomain;
|
|
|
|
__res_nsearch;
|
|
|
|
__res_nsend;
|
|
|
|
__res_ownok;
|
|
|
|
__res_queriesmatch;
|
|
|
|
__res_querydomain;
|
|
|
|
__res_send;
|
|
|
|
__res_send_setqhook;
|
|
|
|
__res_send_setrhook;
|
2020-02-14 07:23:17 +01:00
|
|
|
__rt_sigaction; # arm x86
|
|
|
|
__rt_sigpending; # arm x86 introduced=21
|
|
|
|
__rt_sigprocmask; # arm x86
|
|
|
|
__rt_sigsuspend; # arm x86 introduced=21
|
|
|
|
__rt_sigtimedwait; # arm x86
|
|
|
|
__sched_cpualloc; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
|
|
|
|
__sched_cpucount; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
|
|
|
|
__sched_cpufree; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
|
|
|
|
__sched_getaffinity; # arm x86 introduced=12
|
2015-06-04 02:48:51 +02:00
|
|
|
__set_thread_area; # x86
|
2020-02-14 07:23:17 +01:00
|
|
|
__set_tid_address; # arm x86 introduced=21
|
|
|
|
__set_tls; # arm
|
2016-07-28 08:56:54 +02:00
|
|
|
__sF; # var
|
2020-02-14 07:23:17 +01:00
|
|
|
__sigaction; # arm x86 introduced=21
|
|
|
|
__snprintf_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
|
|
|
|
__socket; # arm x86 introduced=21
|
|
|
|
__sprintf_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
__stack_chk_fail;
|
2016-07-28 08:56:54 +02:00
|
|
|
__stack_chk_guard; # var
|
2020-02-14 07:23:17 +01:00
|
|
|
__statfs64; # arm x86
|
2016-07-28 08:56:54 +02:00
|
|
|
__stpcpy_chk; # introduced=21
|
|
|
|
__stpncpy_chk; # introduced=21
|
|
|
|
__stpncpy_chk2; # introduced=21
|
2020-02-14 07:23:17 +01:00
|
|
|
__strcat_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
|
|
|
|
__strchr_chk; # introduced-arm=18 introduced-arm64=21 introduced-x86=18 introduced-x86_64=21
|
|
|
|
__strcpy_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
|
|
|
|
__strlcat_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
|
|
|
|
__strlcpy_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
|
|
|
|
__strlen_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
|
|
|
|
__strncat_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
|
|
|
|
__strncpy_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
|
2016-07-28 08:56:54 +02:00
|
|
|
__strncpy_chk2; # introduced=21
|
2020-02-14 07:23:17 +01:00
|
|
|
__strrchr_chk; # introduced-arm=18 introduced-arm64=21 introduced-x86=18 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
__sym_ntop;
|
|
|
|
__sym_ntos;
|
|
|
|
__sym_ston;
|
2017-02-25 00:36:17 +01:00
|
|
|
__system_property_area_serial; # introduced=23
|
2016-01-13 21:32:12 +01:00
|
|
|
__system_property_find;
|
2017-04-13 03:05:56 +02:00
|
|
|
__system_property_find_nth;
|
2020-02-14 07:23:17 +01:00
|
|
|
__system_property_foreach; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
|
2016-01-13 21:32:12 +01:00
|
|
|
__system_property_get;
|
|
|
|
__system_property_read;
|
2020-02-14 07:23:17 +01:00
|
|
|
__system_property_serial; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
|
|
|
|
__system_property_set; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
|
|
|
|
__timer_create; # arm x86
|
|
|
|
__timer_delete; # arm x86
|
|
|
|
__timer_getoverrun; # arm x86
|
|
|
|
__timer_gettime; # arm x86
|
|
|
|
__timer_settime; # arm x86
|
|
|
|
__umask_chk; # introduced-arm=18 introduced-arm64=21 introduced-x86=18 introduced-x86_64=21
|
|
|
|
__vsnprintf_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
|
|
|
|
__vsprintf_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
|
|
|
|
__waitid; # arm x86
|
2016-07-28 08:56:54 +02:00
|
|
|
_ctype_; # var
|
|
|
|
_Exit; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
_exit;
|
2016-07-28 08:56:54 +02:00
|
|
|
_flushlbf; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
_getlong;
|
|
|
|
_getshort;
|
|
|
|
_longjmp;
|
2016-07-28 08:56:54 +02:00
|
|
|
_resolv_delete_cache_for_net; # introduced=21
|
|
|
|
_resolv_flush_cache_for_net; # introduced=21
|
|
|
|
_resolv_set_nameservers_for_net; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
_setjmp;
|
2016-07-28 08:56:54 +02:00
|
|
|
_tolower; # introduced=21
|
2020-02-14 07:23:17 +01:00
|
|
|
_tolower_tab_; # arm x86 var
|
2016-07-28 08:56:54 +02:00
|
|
|
_toupper; # introduced=21
|
2020-02-14 07:23:17 +01:00
|
|
|
_toupper_tab_; # arm x86 var
|
2015-06-04 02:48:51 +02:00
|
|
|
abort;
|
2020-02-14 07:23:17 +01:00
|
|
|
abs; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
accept;
|
2016-07-28 08:56:54 +02:00
|
|
|
accept4; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
access;
|
|
|
|
acct;
|
|
|
|
alarm;
|
|
|
|
alphasort;
|
2016-07-28 08:56:54 +02:00
|
|
|
alphasort64; # introduced=21
|
|
|
|
android_set_abort_message; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
arc4random;
|
|
|
|
arc4random_buf;
|
|
|
|
arc4random_uniform;
|
|
|
|
asctime;
|
2020-02-14 07:23:17 +01:00
|
|
|
asctime64; # arm x86
|
|
|
|
asctime64_r; # arm x86
|
2015-06-04 02:48:51 +02:00
|
|
|
asctime_r;
|
|
|
|
asprintf;
|
2016-07-28 08:56:54 +02:00
|
|
|
at_quick_exit; # introduced=21
|
|
|
|
atof; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
atoi;
|
|
|
|
atol;
|
|
|
|
atoll;
|
|
|
|
basename;
|
2020-02-14 07:23:17 +01:00
|
|
|
basename_r; # arm x86
|
2015-06-04 02:48:51 +02:00
|
|
|
bind;
|
|
|
|
bindresvport;
|
|
|
|
brk;
|
|
|
|
bsearch;
|
|
|
|
btowc;
|
2016-07-28 08:56:54 +02:00
|
|
|
c16rtomb; # introduced=21
|
|
|
|
c32rtomb; # introduced=21
|
2020-02-14 07:23:17 +01:00
|
|
|
cacheflush; # arm
|
2015-06-04 02:48:51 +02:00
|
|
|
calloc;
|
|
|
|
capget;
|
|
|
|
capset;
|
2016-07-28 08:56:54 +02:00
|
|
|
cfgetispeed; # introduced=21
|
|
|
|
cfgetospeed; # introduced=21
|
|
|
|
cfmakeraw; # introduced=21
|
|
|
|
cfsetispeed; # introduced=21
|
|
|
|
cfsetospeed; # introduced=21
|
|
|
|
cfsetspeed; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
chdir;
|
|
|
|
chmod;
|
|
|
|
chown;
|
|
|
|
chroot;
|
|
|
|
clearenv;
|
|
|
|
clearerr;
|
2016-07-28 08:56:54 +02:00
|
|
|
clearerr_unlocked; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
clock;
|
2016-07-28 08:56:54 +02:00
|
|
|
clock_getcpuclockid; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
clock_getres;
|
|
|
|
clock_gettime;
|
|
|
|
clock_nanosleep;
|
|
|
|
clock_settime;
|
2020-02-14 07:23:17 +01:00
|
|
|
clone; # introduced-arm=9 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
close;
|
|
|
|
closedir;
|
|
|
|
closelog;
|
|
|
|
connect;
|
|
|
|
creat;
|
2016-07-28 08:56:54 +02:00
|
|
|
creat64; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
ctime;
|
2020-02-14 07:23:17 +01:00
|
|
|
ctime64; # arm x86
|
|
|
|
ctime64_r; # arm x86
|
2015-06-04 02:48:51 +02:00
|
|
|
ctime_r;
|
|
|
|
daemon;
|
2016-07-28 08:56:54 +02:00
|
|
|
daylight; # var
|
2015-06-04 02:48:51 +02:00
|
|
|
delete_module;
|
|
|
|
difftime;
|
|
|
|
dirfd;
|
|
|
|
dirname;
|
2020-02-14 07:23:17 +01:00
|
|
|
dirname_r; # arm x86
|
2015-06-04 02:48:51 +02:00
|
|
|
div;
|
|
|
|
dn_expand;
|
2016-07-28 08:56:54 +02:00
|
|
|
dprintf; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
drand48;
|
|
|
|
dup;
|
|
|
|
dup2;
|
2016-07-28 08:56:54 +02:00
|
|
|
dup3; # introduced=21
|
|
|
|
duplocale; # introduced=21
|
|
|
|
endmntent; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
endservent;
|
|
|
|
endutent;
|
2016-07-28 08:56:54 +02:00
|
|
|
environ; # var
|
2015-06-04 02:48:51 +02:00
|
|
|
epoll_create;
|
2016-07-28 08:56:54 +02:00
|
|
|
epoll_create1; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
epoll_ctl;
|
2016-07-28 08:56:54 +02:00
|
|
|
epoll_pwait; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
epoll_wait;
|
|
|
|
erand48;
|
|
|
|
err;
|
2016-07-28 08:56:54 +02:00
|
|
|
error; # introduced=23
|
|
|
|
error_at_line; # introduced=23
|
|
|
|
error_message_count; # var introduced=23
|
|
|
|
error_one_per_line; # var introduced=23
|
|
|
|
error_print_progname; # var introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
errx;
|
2020-02-14 07:23:17 +01:00
|
|
|
ether_aton; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
|
|
|
|
ether_aton_r; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
|
|
|
|
ether_ntoa; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
|
|
|
|
ether_ntoa_r; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
eventfd;
|
|
|
|
eventfd_read;
|
|
|
|
eventfd_write;
|
|
|
|
execl;
|
|
|
|
execle;
|
|
|
|
execlp;
|
|
|
|
execv;
|
|
|
|
execve;
|
|
|
|
execvp;
|
2016-07-28 08:56:54 +02:00
|
|
|
execvpe; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
exit;
|
2019-11-20 18:21:04 +01:00
|
|
|
faccessat;
|
2016-07-28 08:56:54 +02:00
|
|
|
fallocate; # introduced=21
|
|
|
|
fallocate64; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
fchdir;
|
|
|
|
fchmod;
|
|
|
|
fchmodat;
|
|
|
|
fchown;
|
|
|
|
fchownat;
|
|
|
|
fclose;
|
|
|
|
fcntl;
|
|
|
|
fdatasync;
|
|
|
|
fdopen;
|
|
|
|
fdopendir;
|
2020-02-14 07:23:17 +01:00
|
|
|
fdprintf; # arm x86 versioned=28
|
2015-06-04 02:48:51 +02:00
|
|
|
feof;
|
2016-07-28 08:56:54 +02:00
|
|
|
feof_unlocked; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
ferror;
|
2016-07-28 08:56:54 +02:00
|
|
|
ferror_unlocked; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
fflush;
|
2020-02-14 07:23:17 +01:00
|
|
|
ffs; # introduced-arm=9 introduced-arm64=21 introduced-x86=18 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
fgetc;
|
|
|
|
fgetln;
|
|
|
|
fgetpos;
|
|
|
|
fgets;
|
|
|
|
fgetwc;
|
|
|
|
fgetws;
|
2019-11-20 18:21:04 +01:00
|
|
|
fgetxattr;
|
2015-06-04 02:48:51 +02:00
|
|
|
fileno;
|
2019-11-20 18:21:04 +01:00
|
|
|
flistxattr;
|
2015-06-04 02:48:51 +02:00
|
|
|
flock;
|
|
|
|
flockfile;
|
2016-07-28 08:56:54 +02:00
|
|
|
fmemopen; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
fnmatch;
|
|
|
|
fopen;
|
|
|
|
fork;
|
2016-07-28 08:56:54 +02:00
|
|
|
forkpty; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
fpathconf;
|
|
|
|
fprintf;
|
|
|
|
fpurge;
|
|
|
|
fputc;
|
|
|
|
fputs;
|
|
|
|
fputwc;
|
|
|
|
fputws;
|
|
|
|
fread;
|
|
|
|
free;
|
|
|
|
freeaddrinfo;
|
2016-07-28 08:56:54 +02:00
|
|
|
freelocale; # introduced=21
|
2019-11-20 18:21:04 +01:00
|
|
|
fremovexattr;
|
2015-06-04 02:48:51 +02:00
|
|
|
freopen;
|
|
|
|
fscanf;
|
|
|
|
fseek;
|
|
|
|
fseeko;
|
|
|
|
fsetpos;
|
2019-11-20 18:21:04 +01:00
|
|
|
fsetxattr;
|
2015-06-04 02:48:51 +02:00
|
|
|
fstat;
|
2016-07-28 08:56:54 +02:00
|
|
|
fstat64; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
fstatat;
|
2016-07-28 08:56:54 +02:00
|
|
|
fstatat64; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
fstatfs;
|
2016-07-28 08:56:54 +02:00
|
|
|
fstatfs64; # introduced=21
|
2020-02-14 07:23:17 +01:00
|
|
|
fstatvfs; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
|
2016-07-28 08:56:54 +02:00
|
|
|
fstatvfs64; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
fsync;
|
|
|
|
ftell;
|
|
|
|
ftello;
|
|
|
|
ftok;
|
|
|
|
ftruncate;
|
2020-02-14 07:23:17 +01:00
|
|
|
ftruncate64; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
ftrylockfile;
|
2017-08-26 00:18:33 +02:00
|
|
|
fts_children; # introduced=21
|
|
|
|
fts_close; # introduced=21
|
|
|
|
fts_open; # introduced=21
|
|
|
|
fts_read; # introduced=21
|
|
|
|
fts_set; # introduced=21
|
2020-02-14 07:23:17 +01:00
|
|
|
ftw; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
|
2016-07-28 08:56:54 +02:00
|
|
|
ftw64; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
funlockfile;
|
|
|
|
funopen;
|
2020-02-14 07:23:17 +01:00
|
|
|
futimens; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
fwide;
|
|
|
|
fwprintf;
|
|
|
|
fwrite;
|
|
|
|
fwscanf;
|
|
|
|
gai_strerror;
|
2016-07-28 08:56:54 +02:00
|
|
|
get_avphys_pages; # introduced=23
|
|
|
|
get_nprocs; # introduced=23
|
|
|
|
get_nprocs_conf; # introduced=23
|
|
|
|
get_phys_pages; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
getaddrinfo;
|
2020-02-14 07:23:17 +01:00
|
|
|
getauxval; # introduced-arm=18 introduced-arm64=21 introduced-x86=18 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
getc;
|
|
|
|
getc_unlocked;
|
|
|
|
getchar;
|
|
|
|
getchar_unlocked;
|
|
|
|
getcwd;
|
2020-02-14 07:23:17 +01:00
|
|
|
getdelim; # introduced-arm=18 introduced-arm64=21 introduced-x86=18 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
getegid;
|
|
|
|
getenv;
|
|
|
|
geteuid;
|
|
|
|
getgid;
|
|
|
|
getgrgid;
|
|
|
|
getgrnam;
|
|
|
|
getgrouplist;
|
|
|
|
getgroups;
|
|
|
|
gethostbyaddr;
|
2016-07-28 08:56:54 +02:00
|
|
|
gethostbyaddr_r; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
gethostbyname;
|
|
|
|
gethostbyname2;
|
2016-07-28 08:56:54 +02:00
|
|
|
gethostbyname2_r; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
gethostbyname_r;
|
|
|
|
gethostent;
|
|
|
|
gethostname;
|
|
|
|
getitimer;
|
2020-02-14 07:23:17 +01:00
|
|
|
getline; # introduced-arm=18 introduced-arm64=21 introduced-x86=18 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
getlogin;
|
|
|
|
getmntent;
|
2016-07-28 08:56:54 +02:00
|
|
|
getmntent_r; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
getnameinfo;
|
|
|
|
getnetbyaddr;
|
|
|
|
getnetbyname;
|
|
|
|
getopt;
|
|
|
|
getopt_long;
|
|
|
|
getopt_long_only;
|
2016-07-28 08:56:54 +02:00
|
|
|
getpagesize; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
getpeername;
|
|
|
|
getpgid;
|
|
|
|
getpgrp;
|
|
|
|
getpid;
|
|
|
|
getppid;
|
|
|
|
getpriority;
|
2016-07-28 08:56:54 +02:00
|
|
|
getprogname; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
getprotobyname;
|
|
|
|
getprotobynumber;
|
|
|
|
getpt;
|
|
|
|
getpwnam;
|
2020-02-14 07:23:17 +01:00
|
|
|
getpwnam_r; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
getpwuid;
|
2020-02-14 07:23:17 +01:00
|
|
|
getpwuid_r; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
getresgid;
|
|
|
|
getresuid;
|
|
|
|
getrlimit;
|
2016-07-28 08:56:54 +02:00
|
|
|
getrlimit64; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
getrusage;
|
|
|
|
gets;
|
|
|
|
getservbyname;
|
|
|
|
getservbyport;
|
|
|
|
getservent;
|
2020-02-14 07:23:17 +01:00
|
|
|
getsid; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
getsockname;
|
|
|
|
getsockopt;
|
|
|
|
gettid;
|
|
|
|
gettimeofday;
|
|
|
|
getuid;
|
|
|
|
getutent;
|
|
|
|
getwc;
|
|
|
|
getwchar;
|
2019-11-20 18:21:04 +01:00
|
|
|
getxattr;
|
2015-06-04 02:48:51 +02:00
|
|
|
gmtime;
|
2020-02-14 07:23:17 +01:00
|
|
|
gmtime64; # arm x86
|
|
|
|
gmtime64_r; # arm x86
|
2015-06-04 02:48:51 +02:00
|
|
|
gmtime_r;
|
2016-07-28 08:56:54 +02:00
|
|
|
grantpt; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
herror;
|
|
|
|
hstrerror;
|
2016-07-28 08:56:54 +02:00
|
|
|
htonl; # introduced=21
|
|
|
|
htons; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
if_indextoname;
|
|
|
|
if_nametoindex;
|
2020-02-14 07:23:17 +01:00
|
|
|
imaxabs; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
|
|
|
|
imaxdiv; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
inet_addr;
|
|
|
|
inet_aton;
|
2016-07-28 08:56:54 +02:00
|
|
|
inet_lnaof; # introduced=21
|
|
|
|
inet_makeaddr; # introduced=21
|
|
|
|
inet_netof; # introduced=21
|
|
|
|
inet_network; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
inet_nsap_addr;
|
|
|
|
inet_nsap_ntoa;
|
|
|
|
inet_ntoa;
|
|
|
|
inet_ntop;
|
|
|
|
inet_pton;
|
|
|
|
init_module;
|
|
|
|
initgroups;
|
2016-07-28 08:56:54 +02:00
|
|
|
initstate; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
inotify_add_watch;
|
|
|
|
inotify_init;
|
2016-07-28 08:56:54 +02:00
|
|
|
inotify_init1; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
inotify_rm_watch;
|
2016-07-28 08:56:54 +02:00
|
|
|
insque; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
ioctl;
|
|
|
|
isalnum;
|
2016-07-28 08:56:54 +02:00
|
|
|
isalnum_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
isalpha;
|
2016-07-28 08:56:54 +02:00
|
|
|
isalpha_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
isascii;
|
|
|
|
isatty;
|
|
|
|
isblank;
|
2016-07-28 08:56:54 +02:00
|
|
|
isblank_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
iscntrl;
|
2016-07-28 08:56:54 +02:00
|
|
|
iscntrl_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
isdigit;
|
2016-07-28 08:56:54 +02:00
|
|
|
isdigit_l; # introduced=21
|
|
|
|
isfinite; # introduced=21
|
|
|
|
isfinitef; # introduced=21
|
|
|
|
isfinitel; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
isgraph;
|
2016-07-28 08:56:54 +02:00
|
|
|
isgraph_l; # introduced=21
|
|
|
|
isinf; # introduced=21
|
|
|
|
isinff; # introduced=21
|
|
|
|
isinfl; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
islower;
|
2016-07-28 08:56:54 +02:00
|
|
|
islower_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
isnan;
|
|
|
|
isnanf;
|
2016-07-28 08:56:54 +02:00
|
|
|
isnanl; # introduced=21
|
|
|
|
isnormal; # introduced=21
|
|
|
|
isnormalf; # introduced=21
|
|
|
|
isnormall; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
isprint;
|
2016-07-28 08:56:54 +02:00
|
|
|
isprint_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
ispunct;
|
2016-07-28 08:56:54 +02:00
|
|
|
ispunct_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
isspace;
|
2016-07-28 08:56:54 +02:00
|
|
|
isspace_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
isupper;
|
2016-07-28 08:56:54 +02:00
|
|
|
isupper_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
iswalnum;
|
2016-07-28 08:56:54 +02:00
|
|
|
iswalnum_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
iswalpha;
|
2016-07-28 08:56:54 +02:00
|
|
|
iswalpha_l; # introduced=21
|
|
|
|
iswblank; # introduced=21
|
|
|
|
iswblank_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
iswcntrl;
|
2016-07-28 08:56:54 +02:00
|
|
|
iswcntrl_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
iswctype;
|
2016-07-28 08:56:54 +02:00
|
|
|
iswctype_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
iswdigit;
|
2016-07-28 08:56:54 +02:00
|
|
|
iswdigit_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
iswgraph;
|
2016-07-28 08:56:54 +02:00
|
|
|
iswgraph_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
iswlower;
|
2016-07-28 08:56:54 +02:00
|
|
|
iswlower_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
iswprint;
|
2016-07-28 08:56:54 +02:00
|
|
|
iswprint_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
iswpunct;
|
2016-07-28 08:56:54 +02:00
|
|
|
iswpunct_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
iswspace;
|
2016-07-28 08:56:54 +02:00
|
|
|
iswspace_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
iswupper;
|
2016-07-28 08:56:54 +02:00
|
|
|
iswupper_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
iswxdigit;
|
2016-07-28 08:56:54 +02:00
|
|
|
iswxdigit_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
isxdigit;
|
2016-07-28 08:56:54 +02:00
|
|
|
isxdigit_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
jrand48;
|
|
|
|
kill;
|
|
|
|
killpg;
|
|
|
|
klogctl;
|
2020-02-14 07:23:17 +01:00
|
|
|
labs; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
lchown;
|
2016-07-28 08:56:54 +02:00
|
|
|
lcong48; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
ldexp;
|
|
|
|
ldiv;
|
2016-07-28 08:56:54 +02:00
|
|
|
lfind; # introduced=21
|
2019-11-20 18:21:04 +01:00
|
|
|
lgetxattr;
|
2015-06-04 02:48:51 +02:00
|
|
|
link;
|
2016-07-28 08:56:54 +02:00
|
|
|
linkat; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
listen;
|
2019-11-20 18:21:04 +01:00
|
|
|
listxattr;
|
2020-02-14 07:23:17 +01:00
|
|
|
llabs; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
lldiv;
|
2019-11-20 18:21:04 +01:00
|
|
|
llistxattr;
|
2016-07-28 08:56:54 +02:00
|
|
|
localeconv; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
localtime;
|
2020-02-14 07:23:17 +01:00
|
|
|
localtime64; # arm x86
|
|
|
|
localtime64_r; # arm x86
|
2015-06-04 02:48:51 +02:00
|
|
|
localtime_r;
|
2016-07-28 08:56:54 +02:00
|
|
|
login_tty; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
longjmp;
|
|
|
|
lrand48;
|
2019-11-20 18:21:04 +01:00
|
|
|
lremovexattr;
|
2016-07-28 08:56:54 +02:00
|
|
|
lsearch; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
lseek;
|
|
|
|
lseek64;
|
2019-11-20 18:21:04 +01:00
|
|
|
lsetxattr;
|
2015-06-04 02:48:51 +02:00
|
|
|
lstat;
|
2016-07-28 08:56:54 +02:00
|
|
|
lstat64; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
madvise;
|
|
|
|
mallinfo;
|
|
|
|
malloc;
|
2016-07-28 08:56:54 +02:00
|
|
|
malloc_info; # introduced=23
|
2020-02-14 07:23:17 +01:00
|
|
|
malloc_usable_size; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
mbrlen;
|
2016-07-28 08:56:54 +02:00
|
|
|
mbrtoc16; # introduced=21
|
|
|
|
mbrtoc32; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
mbrtowc;
|
|
|
|
mbsinit;
|
2016-07-28 08:56:54 +02:00
|
|
|
mbsnrtowcs; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
mbsrtowcs;
|
2021-10-26 02:00:07 +02:00
|
|
|
mbstowcs; # introduced=21
|
2016-07-28 08:56:54 +02:00
|
|
|
mbtowc; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
memalign;
|
|
|
|
memccpy;
|
|
|
|
memchr;
|
|
|
|
memcmp;
|
|
|
|
memcpy;
|
|
|
|
memmem;
|
|
|
|
memmove;
|
2016-07-28 08:56:54 +02:00
|
|
|
mempcpy; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
memrchr;
|
|
|
|
memset;
|
|
|
|
mincore;
|
|
|
|
mkdir;
|
|
|
|
mkdirat;
|
|
|
|
mkdtemp;
|
2016-07-28 08:56:54 +02:00
|
|
|
mkfifo; # introduced=21
|
|
|
|
mkfifoat; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
mknod;
|
2016-07-28 08:56:54 +02:00
|
|
|
mknodat; # introduced=21
|
|
|
|
mkostemp; # introduced=23
|
|
|
|
mkostemp64; # introduced=23
|
|
|
|
mkostemps; # introduced=23
|
|
|
|
mkostemps64; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
mkstemp;
|
2016-07-28 08:56:54 +02:00
|
|
|
mkstemp64; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
mkstemps;
|
2016-07-28 08:56:54 +02:00
|
|
|
mkstemps64; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
mktemp;
|
|
|
|
mktime;
|
2020-02-14 07:23:17 +01:00
|
|
|
mktime64; # arm x86
|
2015-06-04 02:48:51 +02:00
|
|
|
mlock;
|
2020-02-14 07:23:17 +01:00
|
|
|
mlockall; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
mmap;
|
2016-07-28 08:56:54 +02:00
|
|
|
mmap64; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
mount;
|
|
|
|
mprotect;
|
|
|
|
mrand48;
|
|
|
|
mremap;
|
|
|
|
msync;
|
|
|
|
munlock;
|
2020-02-14 07:23:17 +01:00
|
|
|
munlockall; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
munmap;
|
|
|
|
nanosleep;
|
2016-07-28 08:56:54 +02:00
|
|
|
newlocale; # introduced=21
|
2020-02-14 07:23:17 +01:00
|
|
|
nftw; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
|
2016-07-28 08:56:54 +02:00
|
|
|
nftw64; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
nice;
|
|
|
|
nrand48;
|
2022-10-05 01:52:57 +02:00
|
|
|
ns_format_ttl; # arm64 x86_64 riscv64 introduced=22
|
|
|
|
ns_get16; # arm64 x86_64 riscv64 introduced=22
|
|
|
|
ns_get32; # arm64 x86_64 riscv64 introduced=22
|
|
|
|
ns_initparse; # arm64 x86_64 riscv64 introduced=22
|
|
|
|
ns_makecanon; # arm64 x86_64 riscv64 introduced=22
|
|
|
|
ns_msg_getflag; # arm64 x86_64 riscv64 introduced=22
|
|
|
|
ns_name_compress; # arm64 x86_64 riscv64 introduced=22
|
|
|
|
ns_name_ntol; # arm64 x86_64 riscv64 introduced=22
|
|
|
|
ns_name_ntop; # arm64 x86_64 riscv64 introduced=22
|
|
|
|
ns_name_pack; # arm64 x86_64 riscv64 introduced=22
|
|
|
|
ns_name_pton; # arm64 x86_64 riscv64 introduced=22
|
|
|
|
ns_name_rollback; # arm64 x86_64 riscv64 introduced=22
|
|
|
|
ns_name_skip; # arm64 x86_64 riscv64 introduced=22
|
|
|
|
ns_name_uncompress; # arm64 x86_64 riscv64 introduced=22
|
|
|
|
ns_name_unpack; # arm64 x86_64 riscv64 introduced=22
|
|
|
|
ns_parserr; # arm64 x86_64 riscv64 introduced=22
|
|
|
|
ns_put16; # arm64 x86_64 riscv64 introduced=22
|
|
|
|
ns_put32; # arm64 x86_64 riscv64 introduced=22
|
|
|
|
ns_samename; # arm64 x86_64 riscv64 introduced=22
|
|
|
|
ns_skiprr; # arm64 x86_64 riscv64 introduced=22
|
|
|
|
ns_sprintrr; # arm64 x86_64 riscv64 introduced=22
|
|
|
|
ns_sprintrrf; # arm64 x86_64 riscv64 introduced=22
|
2015-06-04 02:48:51 +02:00
|
|
|
nsdispatch;
|
2016-07-28 08:56:54 +02:00
|
|
|
ntohl; # introduced=21
|
|
|
|
ntohs; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
open;
|
2016-07-28 08:56:54 +02:00
|
|
|
open64; # introduced=21
|
|
|
|
open_memstream; # introduced=23
|
|
|
|
open_wmemstream; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
openat;
|
2016-07-28 08:56:54 +02:00
|
|
|
openat64; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
opendir;
|
|
|
|
openlog;
|
2016-07-28 08:56:54 +02:00
|
|
|
openpty; # introduced=23
|
|
|
|
optarg; # var
|
|
|
|
opterr; # var
|
|
|
|
optind; # var
|
|
|
|
optopt; # var
|
|
|
|
optreset; # var
|
2015-06-04 02:48:51 +02:00
|
|
|
pathconf;
|
|
|
|
pause;
|
|
|
|
pclose;
|
|
|
|
perror;
|
2019-11-20 18:21:04 +01:00
|
|
|
personality;
|
2015-06-04 02:48:51 +02:00
|
|
|
pipe;
|
|
|
|
pipe2;
|
|
|
|
poll;
|
|
|
|
popen;
|
2016-07-28 08:56:54 +02:00
|
|
|
posix_fadvise; # introduced=21
|
|
|
|
posix_fadvise64; # introduced=21
|
|
|
|
posix_fallocate; # introduced=21
|
|
|
|
posix_fallocate64; # introduced=21
|
|
|
|
posix_madvise; # introduced=23
|
2018-03-30 00:12:05 +02:00
|
|
|
posix_memalign; # introduced=17
|
2016-07-28 08:56:54 +02:00
|
|
|
posix_openpt; # introduced=21
|
|
|
|
ppoll; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
prctl;
|
|
|
|
pread;
|
2020-02-14 07:23:17 +01:00
|
|
|
pread64; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
printf;
|
2022-10-05 01:52:57 +02:00
|
|
|
prlimit; # arm64 x86_64 riscv64
|
2016-07-28 08:56:54 +02:00
|
|
|
prlimit64; # introduced=21
|
|
|
|
process_vm_readv; # introduced=23
|
|
|
|
process_vm_writev; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
pselect;
|
2020-02-14 07:23:17 +01:00
|
|
|
psiginfo; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
|
|
|
|
psignal; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
|
|
|
|
pthread_atfork; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
pthread_attr_destroy;
|
|
|
|
pthread_attr_getdetachstate;
|
|
|
|
pthread_attr_getguardsize;
|
|
|
|
pthread_attr_getschedparam;
|
|
|
|
pthread_attr_getschedpolicy;
|
|
|
|
pthread_attr_getscope;
|
|
|
|
pthread_attr_getstack;
|
|
|
|
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_setstacksize;
|
|
|
|
pthread_cond_broadcast;
|
|
|
|
pthread_cond_destroy;
|
|
|
|
pthread_cond_init;
|
|
|
|
pthread_cond_signal;
|
|
|
|
pthread_cond_timedwait;
|
2020-02-14 07:23:17 +01:00
|
|
|
pthread_cond_timedwait_monotonic; # arm x86
|
|
|
|
pthread_cond_timedwait_monotonic_np; # introduced-arm=9 introduced-x86=9 introduced-arm64=28 introduced-x64_64=28
|
|
|
|
pthread_cond_timedwait_relative_np; # arm x86
|
|
|
|
pthread_cond_timeout_np; # arm x86
|
2015-06-04 02:48:51 +02:00
|
|
|
pthread_cond_wait;
|
|
|
|
pthread_condattr_destroy;
|
2016-07-28 08:56:54 +02:00
|
|
|
pthread_condattr_getclock; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
pthread_condattr_getpshared;
|
|
|
|
pthread_condattr_init;
|
2016-07-28 08:56:54 +02:00
|
|
|
pthread_condattr_setclock; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
pthread_condattr_setpshared;
|
|
|
|
pthread_create;
|
|
|
|
pthread_detach;
|
|
|
|
pthread_equal;
|
|
|
|
pthread_exit;
|
|
|
|
pthread_getattr_np;
|
|
|
|
pthread_getcpuclockid;
|
|
|
|
pthread_getschedparam;
|
|
|
|
pthread_getspecific;
|
2016-07-28 08:56:54 +02:00
|
|
|
pthread_gettid_np; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
pthread_join;
|
|
|
|
pthread_key_create;
|
|
|
|
pthread_key_delete;
|
|
|
|
pthread_kill;
|
|
|
|
pthread_mutex_destroy;
|
|
|
|
pthread_mutex_init;
|
|
|
|
pthread_mutex_lock;
|
2020-02-14 07:23:17 +01:00
|
|
|
pthread_mutex_lock_timeout_np; # arm x86
|
2016-07-28 08:56:54 +02:00
|
|
|
pthread_mutex_timedlock; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
pthread_mutex_trylock;
|
|
|
|
pthread_mutex_unlock;
|
|
|
|
pthread_mutexattr_destroy;
|
|
|
|
pthread_mutexattr_getpshared;
|
|
|
|
pthread_mutexattr_gettype;
|
|
|
|
pthread_mutexattr_init;
|
|
|
|
pthread_mutexattr_setpshared;
|
|
|
|
pthread_mutexattr_settype;
|
|
|
|
pthread_once;
|
|
|
|
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_rwlockattr_destroy;
|
2016-07-28 08:56:54 +02:00
|
|
|
pthread_rwlockattr_getkind_np; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
pthread_rwlockattr_getpshared;
|
|
|
|
pthread_rwlockattr_init;
|
2016-07-28 08:56:54 +02:00
|
|
|
pthread_rwlockattr_setkind_np; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
pthread_rwlockattr_setpshared;
|
|
|
|
pthread_self;
|
|
|
|
pthread_setname_np;
|
|
|
|
pthread_setschedparam;
|
|
|
|
pthread_setspecific;
|
|
|
|
pthread_sigmask;
|
|
|
|
ptrace;
|
|
|
|
ptsname;
|
|
|
|
ptsname_r;
|
|
|
|
putc;
|
|
|
|
putc_unlocked;
|
|
|
|
putchar;
|
|
|
|
putchar_unlocked;
|
|
|
|
putenv;
|
|
|
|
puts;
|
|
|
|
pututline;
|
2020-02-14 07:23:17 +01:00
|
|
|
putw; # arm x86
|
2015-06-04 02:48:51 +02:00
|
|
|
putwc;
|
|
|
|
putwchar;
|
2020-02-14 07:23:17 +01:00
|
|
|
pvalloc; # arm x86 introduced=17
|
2015-06-04 02:48:51 +02:00
|
|
|
pwrite;
|
2020-02-14 07:23:17 +01:00
|
|
|
pwrite64; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
qsort;
|
2016-07-28 08:56:54 +02:00
|
|
|
quick_exit; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
raise;
|
2016-07-28 08:56:54 +02:00
|
|
|
rand; # introduced=21
|
|
|
|
rand_r; # introduced=21
|
|
|
|
random; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
read;
|
2019-11-20 18:21:04 +01:00
|
|
|
readahead;
|
2015-06-04 02:48:51 +02:00
|
|
|
readdir;
|
2016-07-28 08:56:54 +02:00
|
|
|
readdir64; # introduced=21
|
|
|
|
readdir64_r; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
readdir_r;
|
|
|
|
readlink;
|
2016-07-28 08:56:54 +02:00
|
|
|
readlinkat; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
readv;
|
|
|
|
realloc;
|
|
|
|
realpath;
|
|
|
|
reboot;
|
|
|
|
recv;
|
|
|
|
recvfrom;
|
2016-07-28 08:56:54 +02:00
|
|
|
recvmmsg; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
recvmsg;
|
|
|
|
regcomp;
|
|
|
|
regerror;
|
|
|
|
regexec;
|
|
|
|
regfree;
|
|
|
|
remove;
|
2019-11-20 18:21:04 +01:00
|
|
|
removexattr;
|
2016-07-28 08:56:54 +02:00
|
|
|
remque; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
rename;
|
|
|
|
renameat;
|
|
|
|
res_init;
|
|
|
|
res_mkquery;
|
|
|
|
res_query;
|
|
|
|
res_search;
|
|
|
|
rewind;
|
|
|
|
rewinddir;
|
|
|
|
rmdir;
|
|
|
|
sbrk;
|
|
|
|
scandir;
|
2016-07-28 08:56:54 +02:00
|
|
|
scandir64; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
scanf;
|
|
|
|
sched_get_priority_max;
|
|
|
|
sched_get_priority_min;
|
2020-02-14 07:23:17 +01:00
|
|
|
sched_getaffinity; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
|
|
|
|
sched_getcpu; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
sched_getparam;
|
|
|
|
sched_getscheduler;
|
|
|
|
sched_rr_get_interval;
|
2020-02-14 07:23:17 +01:00
|
|
|
sched_setaffinity; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
sched_setparam;
|
|
|
|
sched_setscheduler;
|
|
|
|
sched_yield;
|
|
|
|
seed48;
|
2016-07-28 08:56:54 +02:00
|
|
|
seekdir; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
select;
|
|
|
|
sem_close;
|
|
|
|
sem_destroy;
|
|
|
|
sem_getvalue;
|
|
|
|
sem_init;
|
|
|
|
sem_open;
|
|
|
|
sem_post;
|
|
|
|
sem_timedwait;
|
|
|
|
sem_trywait;
|
|
|
|
sem_unlink;
|
|
|
|
sem_wait;
|
|
|
|
send;
|
|
|
|
sendfile;
|
2016-07-28 08:56:54 +02:00
|
|
|
sendfile64; # introduced=21
|
|
|
|
sendmmsg; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
sendmsg;
|
|
|
|
sendto;
|
|
|
|
setbuf;
|
|
|
|
setbuffer;
|
|
|
|
setegid;
|
|
|
|
setenv;
|
|
|
|
seteuid;
|
2016-07-28 08:56:54 +02:00
|
|
|
setfsgid; # introduced=21
|
|
|
|
setfsuid; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
setgid;
|
|
|
|
setgroups;
|
2016-07-28 08:56:54 +02:00
|
|
|
sethostname; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
setitimer;
|
|
|
|
setjmp;
|
|
|
|
setlinebuf;
|
|
|
|
setlocale;
|
|
|
|
setlogmask;
|
2016-07-28 08:56:54 +02:00
|
|
|
setmntent; # introduced=21
|
|
|
|
setns; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
setpgid;
|
|
|
|
setpgrp;
|
|
|
|
setpriority;
|
2016-07-28 08:56:54 +02:00
|
|
|
setprogname; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
setregid;
|
|
|
|
setresgid;
|
|
|
|
setresuid;
|
|
|
|
setreuid;
|
|
|
|
setrlimit;
|
2016-07-28 08:56:54 +02:00
|
|
|
setrlimit64; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
setservent;
|
|
|
|
setsid;
|
|
|
|
setsockopt;
|
2016-07-28 08:56:54 +02:00
|
|
|
setstate; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
settimeofday;
|
|
|
|
setuid;
|
|
|
|
setutent;
|
|
|
|
setvbuf;
|
2019-11-20 18:21:04 +01:00
|
|
|
setxattr;
|
2015-06-04 02:48:51 +02:00
|
|
|
shutdown;
|
|
|
|
sigaction;
|
2016-07-28 08:56:54 +02:00
|
|
|
sigaddset; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
sigaltstack;
|
De-pessimize SigSetConverter usage.
While looking at the disassembly for the epoll stuff I noticed that this
expands to quite a lot of code that the compiler can't optimize out for
LP64 (because it doesn't know that the "copy the argument into a local
and then use the local" bit isn't important).
There are two obvious options here. Something like this:
```
int signalfd64(int fd, const sigset64_t* mask, int flags) {
return __signalfd4(fd, mask, sizeof(*mask), flags);
}
int signalfd(int fd, const sigset_t* mask, int flags) {
#if defined(__LP64__)
return signalfd64(fd, mask, flags);
#else
SigSetConverter set = {.sigset = *mask};
return signalfd64(fd, &set.sigset64, flags);
#endif
}
```
Or something like this:
```
int signalfd64(int fd, const sigset64_t* mask, int flags) {
return __signalfd4(fd, mask, sizeof(*mask), flags);
}
#if defined(__LP64__)
__strong_alias(signalfd, signalfd64);
#else
int signalfd(int fd, const sigset_t* mask, int flags) {
SigSetConverter set = {};
set.sigset = *mask;
return signalfd64(fd, &set.sigset64, flags);
}
#endif
```
The former is slightly more verbose, but seems a bit more obvious, so I
initially went with that. (The former is more verbose in the generated
code too, given that the latter expands to _no_ code, just another symbol
pointing to the same code address.)
Having done that, I realized that slight changes to the interface would
let clang optimize away most/all of the overhead for LP64 with the only
preprocessor hackery being in SigSetConverter itself.
I also pulled out the legacy bsd `int` conversions since they're only
used in two (secret!) functions, so it's clearer to just have a separate
union for them. While doing so, I suppressed those functions for
riscv64, since there's no reason to keep carrying that mistake forward.
posix_spawn() is another simple case that doesn't actually benefit from
SigSetConverter, so I've given that its own anonymous union too.
Test: treehugger
Change-Id: Iaf67486da40d40fc53ec69717c3492ab7ab81ad6
2023-07-18 02:15:01 +02:00
|
|
|
sigblock; # arm x86 arm64 x86_64
|
2016-07-28 08:56:54 +02:00
|
|
|
sigdelset; # introduced=21
|
|
|
|
sigemptyset; # introduced=21
|
|
|
|
sigfillset; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
siginterrupt;
|
2016-07-28 08:56:54 +02:00
|
|
|
sigismember; # introduced=21
|
2020-02-14 07:23:17 +01:00
|
|
|
siglongjmp; # introduced-arm=9 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
|
2016-07-28 08:56:54 +02:00
|
|
|
signal; # introduced=21
|
2020-02-14 07:23:17 +01:00
|
|
|
signalfd; # introduced-arm=18 introduced-arm64=21 introduced-x86=18 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
sigpending;
|
|
|
|
sigprocmask;
|
2016-07-28 08:56:54 +02:00
|
|
|
sigqueue; # introduced=23
|
2020-02-14 07:23:17 +01:00
|
|
|
sigsetjmp; # introduced-arm=9 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
|
De-pessimize SigSetConverter usage.
While looking at the disassembly for the epoll stuff I noticed that this
expands to quite a lot of code that the compiler can't optimize out for
LP64 (because it doesn't know that the "copy the argument into a local
and then use the local" bit isn't important).
There are two obvious options here. Something like this:
```
int signalfd64(int fd, const sigset64_t* mask, int flags) {
return __signalfd4(fd, mask, sizeof(*mask), flags);
}
int signalfd(int fd, const sigset_t* mask, int flags) {
#if defined(__LP64__)
return signalfd64(fd, mask, flags);
#else
SigSetConverter set = {.sigset = *mask};
return signalfd64(fd, &set.sigset64, flags);
#endif
}
```
Or something like this:
```
int signalfd64(int fd, const sigset64_t* mask, int flags) {
return __signalfd4(fd, mask, sizeof(*mask), flags);
}
#if defined(__LP64__)
__strong_alias(signalfd, signalfd64);
#else
int signalfd(int fd, const sigset_t* mask, int flags) {
SigSetConverter set = {};
set.sigset = *mask;
return signalfd64(fd, &set.sigset64, flags);
}
#endif
```
The former is slightly more verbose, but seems a bit more obvious, so I
initially went with that. (The former is more verbose in the generated
code too, given that the latter expands to _no_ code, just another symbol
pointing to the same code address.)
Having done that, I realized that slight changes to the interface would
let clang optimize away most/all of the overhead for LP64 with the only
preprocessor hackery being in SigSetConverter itself.
I also pulled out the legacy bsd `int` conversions since they're only
used in two (secret!) functions, so it's clearer to just have a separate
union for them. While doing so, I suppressed those functions for
riscv64, since there's no reason to keep carrying that mistake forward.
posix_spawn() is another simple case that doesn't actually benefit from
SigSetConverter, so I've given that its own anonymous union too.
Test: treehugger
Change-Id: Iaf67486da40d40fc53ec69717c3492ab7ab81ad6
2023-07-18 02:15:01 +02:00
|
|
|
sigsetmask; # arm x86 arm64 x86_64
|
2015-06-04 02:48:51 +02:00
|
|
|
sigsuspend;
|
2016-07-28 08:56:54 +02:00
|
|
|
sigtimedwait; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
sigwait;
|
2016-07-28 08:56:54 +02:00
|
|
|
sigwaitinfo; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
sleep;
|
|
|
|
snprintf;
|
|
|
|
socket;
|
|
|
|
socketpair;
|
2016-07-28 08:56:54 +02:00
|
|
|
splice; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
sprintf;
|
2016-07-28 08:56:54 +02:00
|
|
|
srand; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
srand48;
|
2016-07-28 08:56:54 +02:00
|
|
|
srandom; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
sscanf;
|
|
|
|
stat;
|
2016-07-28 08:56:54 +02:00
|
|
|
stat64; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
statfs;
|
2016-07-28 08:56:54 +02:00
|
|
|
statfs64; # introduced=21
|
2020-02-14 07:23:17 +01:00
|
|
|
statvfs; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
|
2016-07-28 08:56:54 +02:00
|
|
|
statvfs64; # introduced=21
|
|
|
|
stderr; # var introduced=23
|
|
|
|
stdin; # var introduced=23
|
|
|
|
stdout; # var introduced=23
|
|
|
|
stpcpy; # introduced=21
|
|
|
|
stpncpy; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
strcasecmp;
|
2016-07-28 08:56:54 +02:00
|
|
|
strcasecmp_l; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
strcasestr;
|
|
|
|
strcat;
|
|
|
|
strchr;
|
|
|
|
strcmp;
|
|
|
|
strcoll;
|
2016-07-28 08:56:54 +02:00
|
|
|
strcoll_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
strcpy;
|
|
|
|
strcspn;
|
|
|
|
strdup;
|
|
|
|
strerror;
|
2016-07-28 08:56:54 +02:00
|
|
|
strerror_l; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
strerror_r;
|
|
|
|
strftime;
|
2016-07-28 08:56:54 +02:00
|
|
|
strftime_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
strlcat;
|
|
|
|
strlcpy;
|
|
|
|
strlen;
|
|
|
|
strncasecmp;
|
2016-07-28 08:56:54 +02:00
|
|
|
strncasecmp_l; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
strncat;
|
|
|
|
strncmp;
|
|
|
|
strncpy;
|
|
|
|
strndup;
|
|
|
|
strnlen;
|
|
|
|
strpbrk;
|
|
|
|
strptime;
|
|
|
|
strrchr;
|
|
|
|
strsep;
|
|
|
|
strsignal;
|
|
|
|
strspn;
|
|
|
|
strstr;
|
|
|
|
strtod;
|
2016-07-28 08:56:54 +02:00
|
|
|
strtof; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
strtoimax;
|
|
|
|
strtok;
|
|
|
|
strtok_r;
|
|
|
|
strtol;
|
2016-07-28 08:56:54 +02:00
|
|
|
strtold; # introduced=21
|
|
|
|
strtold_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
strtoll;
|
2016-07-28 08:56:54 +02:00
|
|
|
strtoll_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
strtoul;
|
|
|
|
strtoull;
|
2016-07-28 08:56:54 +02:00
|
|
|
strtoull_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
strtoumax;
|
|
|
|
strxfrm;
|
2016-07-28 08:56:54 +02:00
|
|
|
strxfrm_l; # introduced=21
|
2020-02-14 07:23:17 +01:00
|
|
|
swapoff; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
|
|
|
|
swapon; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
swprintf;
|
|
|
|
swscanf;
|
|
|
|
symlink;
|
2016-07-28 08:56:54 +02:00
|
|
|
symlinkat; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
sync;
|
2016-07-28 08:56:54 +02:00
|
|
|
sys_siglist; # var
|
|
|
|
sys_signame; # var
|
2015-06-04 02:48:51 +02:00
|
|
|
syscall;
|
|
|
|
sysconf;
|
|
|
|
sysinfo;
|
|
|
|
syslog;
|
|
|
|
system;
|
2016-07-28 08:56:54 +02:00
|
|
|
tcdrain; # introduced=21
|
|
|
|
tcflow; # introduced=21
|
|
|
|
tcflush; # introduced=21
|
|
|
|
tcgetattr; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
tcgetpgrp;
|
2016-07-28 08:56:54 +02:00
|
|
|
tcgetsid; # introduced=21
|
|
|
|
tcsendbreak; # introduced=21
|
|
|
|
tcsetattr; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
tcsetpgrp;
|
2019-11-20 18:21:04 +01:00
|
|
|
tdelete;
|
|
|
|
tdestroy;
|
2016-07-28 08:56:54 +02:00
|
|
|
tee; # introduced=21
|
|
|
|
telldir; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
tempnam;
|
2019-11-20 18:21:04 +01:00
|
|
|
tfind;
|
|
|
|
tgkill;
|
2015-06-04 02:48:51 +02:00
|
|
|
time;
|
2020-02-14 07:23:17 +01:00
|
|
|
timegm; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
|
|
|
|
timegm64; # arm x86
|
|
|
|
timelocal; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
|
|
|
|
timelocal64; # arm x86
|
2015-06-04 02:48:51 +02:00
|
|
|
timer_create;
|
|
|
|
timer_delete;
|
|
|
|
timer_getoverrun;
|
|
|
|
timer_gettime;
|
|
|
|
timer_settime;
|
2020-02-14 07:23:17 +01:00
|
|
|
timerfd_create; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
|
|
|
|
timerfd_gettime; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
|
|
|
|
timerfd_settime; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
times;
|
2016-07-28 08:56:54 +02:00
|
|
|
timezone; # var
|
2015-06-04 02:48:51 +02:00
|
|
|
tmpfile;
|
|
|
|
tmpnam;
|
|
|
|
toascii;
|
|
|
|
tolower;
|
2016-07-28 08:56:54 +02:00
|
|
|
tolower_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
toupper;
|
2016-07-28 08:56:54 +02:00
|
|
|
toupper_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
towlower;
|
2016-07-28 08:56:54 +02:00
|
|
|
towlower_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
towupper;
|
2016-07-28 08:56:54 +02:00
|
|
|
towupper_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
truncate;
|
2016-07-28 08:56:54 +02:00
|
|
|
truncate64; # introduced=21
|
2019-11-20 18:21:04 +01:00
|
|
|
tsearch;
|
2015-06-04 02:48:51 +02:00
|
|
|
ttyname;
|
|
|
|
ttyname_r;
|
2016-07-28 08:56:54 +02:00
|
|
|
twalk; # introduced=21
|
|
|
|
tzname; # var
|
2015-06-04 02:48:51 +02:00
|
|
|
tzset;
|
|
|
|
umask;
|
|
|
|
umount;
|
|
|
|
umount2;
|
|
|
|
uname;
|
|
|
|
ungetc;
|
|
|
|
ungetwc;
|
|
|
|
unlink;
|
|
|
|
unlinkat;
|
|
|
|
unlockpt;
|
|
|
|
unsetenv;
|
2020-02-14 07:23:17 +01:00
|
|
|
unshare; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
|
2016-07-28 08:56:54 +02:00
|
|
|
uselocale; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
usleep;
|
|
|
|
utime;
|
2020-02-14 07:23:17 +01:00
|
|
|
utimensat; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
utimes;
|
|
|
|
utmpname;
|
2020-02-14 07:23:17 +01:00
|
|
|
valloc; # arm x86
|
2015-06-04 02:48:51 +02:00
|
|
|
vasprintf;
|
2016-07-28 08:56:54 +02:00
|
|
|
vdprintf; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
verr;
|
|
|
|
verrx;
|
2020-02-14 07:23:17 +01:00
|
|
|
vfdprintf; # arm x86 versioned=28
|
2015-06-04 02:48:51 +02:00
|
|
|
vfork;
|
|
|
|
vfprintf;
|
|
|
|
vfscanf;
|
|
|
|
vfwprintf;
|
2016-07-28 08:56:54 +02:00
|
|
|
vfwscanf; # introduced=21
|
|
|
|
vmsplice; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
vprintf;
|
|
|
|
vscanf;
|
|
|
|
vsnprintf;
|
|
|
|
vsprintf;
|
|
|
|
vsscanf;
|
|
|
|
vswprintf;
|
2016-07-28 08:56:54 +02:00
|
|
|
vswscanf; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
vsyslog;
|
|
|
|
vwarn;
|
|
|
|
vwarnx;
|
|
|
|
vwprintf;
|
2016-07-28 08:56:54 +02:00
|
|
|
vwscanf; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
wait;
|
2020-02-14 07:23:17 +01:00
|
|
|
wait4; # introduced-arm=18 introduced-arm64=21 introduced-x86=18 introduced-x86_64=21
|
2015-06-04 02:48:51 +02:00
|
|
|
waitid;
|
|
|
|
waitpid;
|
|
|
|
warn;
|
|
|
|
warnx;
|
|
|
|
wcpcpy;
|
|
|
|
wcpncpy;
|
|
|
|
wcrtomb;
|
|
|
|
wcscasecmp;
|
2016-07-28 08:56:54 +02:00
|
|
|
wcscasecmp_l; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
wcscat;
|
|
|
|
wcschr;
|
|
|
|
wcscmp;
|
|
|
|
wcscoll;
|
2016-07-28 08:56:54 +02:00
|
|
|
wcscoll_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
wcscpy;
|
|
|
|
wcscspn;
|
|
|
|
wcsdup;
|
|
|
|
wcsftime;
|
|
|
|
wcslcat;
|
|
|
|
wcslcpy;
|
|
|
|
wcslen;
|
|
|
|
wcsncasecmp;
|
2016-07-28 08:56:54 +02:00
|
|
|
wcsncasecmp_l; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
wcsncat;
|
|
|
|
wcsncmp;
|
|
|
|
wcsncpy;
|
|
|
|
wcsnlen;
|
2016-07-28 08:56:54 +02:00
|
|
|
wcsnrtombs; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
wcspbrk;
|
|
|
|
wcsrchr;
|
|
|
|
wcsrtombs;
|
|
|
|
wcsspn;
|
|
|
|
wcsstr;
|
|
|
|
wcstod;
|
2016-07-28 08:56:54 +02:00
|
|
|
wcstof; # introduced=21
|
|
|
|
wcstoimax; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
wcstok;
|
|
|
|
wcstol;
|
2016-07-28 08:56:54 +02:00
|
|
|
wcstold; # introduced=21
|
|
|
|
wcstold_l; # introduced=21
|
|
|
|
wcstoll; # introduced=21
|
|
|
|
wcstoll_l; # introduced=21
|
2021-10-26 02:00:07 +02:00
|
|
|
wcstombs; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
wcstoul;
|
2016-07-28 08:56:54 +02:00
|
|
|
wcstoull; # introduced=21
|
|
|
|
wcstoull_l; # introduced=21
|
|
|
|
wcstoumax; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
wcswidth;
|
|
|
|
wcsxfrm;
|
2016-07-28 08:56:54 +02:00
|
|
|
wcsxfrm_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
wctob;
|
2016-07-28 08:56:54 +02:00
|
|
|
wctomb; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
wctype;
|
2016-07-28 08:56:54 +02:00
|
|
|
wctype_l; # introduced=21
|
2015-06-04 02:48:51 +02:00
|
|
|
wcwidth;
|
|
|
|
wmemchr;
|
|
|
|
wmemcmp;
|
|
|
|
wmemcpy;
|
|
|
|
wmemmove;
|
2016-07-28 08:56:54 +02:00
|
|
|
wmempcpy; # introduced=23
|
2015-06-04 02:48:51 +02:00
|
|
|
wmemset;
|
|
|
|
wprintf;
|
|
|
|
write;
|
|
|
|
writev;
|
|
|
|
wscanf;
|
|
|
|
local:
|
|
|
|
*;
|
|
|
|
};
|
|
|
|
|
2020-02-14 07:23:17 +01:00
|
|
|
LIBC_N { # introduced-arm64=24 introduced-x86=24 introduced-x86_64=24
|
2015-07-21 04:46:26 +02:00
|
|
|
global:
|
2016-07-30 02:37:08 +02:00
|
|
|
__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
|
2016-07-28 08:56:54 +02:00
|
|
|
__fread_chk; # introduced=24
|
|
|
|
__fwrite_chk; # introduced=24
|
|
|
|
__getcwd_chk; # introduced=24
|
2016-07-30 02:37:08 +02:00
|
|
|
__gnu_Unwind_Find_exidx; # arm versioned=24
|
2016-07-28 08:56:54 +02:00
|
|
|
__pwrite_chk; # introduced=24
|
|
|
|
__pwrite64_chk; # introduced=24
|
|
|
|
__write_chk; # introduced=24
|
|
|
|
adjtimex; # introduced=24
|
|
|
|
clock_adjtime; # introduced=24
|
|
|
|
fgetpos64; # introduced=24
|
|
|
|
fileno_unlocked; # introduced=24
|
|
|
|
fopen64; # introduced=24
|
|
|
|
freeifaddrs; # introduced=24
|
|
|
|
freopen64; # introduced=24
|
|
|
|
fseeko64; # introduced=24
|
|
|
|
fsetpos64; # introduced=24
|
|
|
|
ftello64; # introduced=24
|
|
|
|
funopen64; # introduced=24
|
|
|
|
getgrgid_r; # introduced=24
|
|
|
|
getgrnam_r; # introduced=24
|
|
|
|
getifaddrs; # introduced=24
|
|
|
|
if_freenameindex; # introduced=24
|
|
|
|
if_nameindex; # introduced=24
|
|
|
|
in6addr_any; # var introduced=24
|
|
|
|
in6addr_loopback; # var introduced=24
|
|
|
|
lockf; # introduced=24
|
|
|
|
lockf64; # introduced=24
|
|
|
|
preadv; # introduced=24
|
|
|
|
preadv64; # introduced=24
|
2020-02-14 07:23:17 +01:00
|
|
|
prlimit; # arm x86 introduced=24
|
2016-07-28 08:56:54 +02:00
|
|
|
pthread_barrierattr_destroy; # introduced=24
|
|
|
|
pthread_barrierattr_getpshared; # introduced=24
|
|
|
|
pthread_barrierattr_init; # introduced=24
|
|
|
|
pthread_barrierattr_setpshared; # introduced=24
|
|
|
|
pthread_barrier_destroy; # introduced=24
|
|
|
|
pthread_barrier_init; # introduced=24
|
|
|
|
pthread_barrier_wait; # introduced=24
|
|
|
|
pthread_spin_destroy; # introduced=24
|
|
|
|
pthread_spin_init; # introduced=24
|
|
|
|
pthread_spin_lock; # introduced=24
|
|
|
|
pthread_spin_trylock; # introduced=24
|
|
|
|
pthread_spin_unlock; # introduced=24
|
|
|
|
pwritev; # introduced=24
|
|
|
|
pwritev64; # introduced=24
|
|
|
|
scandirat; # introduced=24
|
|
|
|
scandirat64; # introduced=24
|
|
|
|
strchrnul; # introduced=24
|
|
|
|
tmpfile64; # introduced=24
|
2015-07-21 04:46:26 +02:00
|
|
|
} LIBC;
|
|
|
|
|
2016-07-30 02:45:21 +02:00
|
|
|
LIBC_O {
|
2016-03-23 19:20:47 +01:00
|
|
|
global:
|
2017-04-20 21:58:31 +02:00
|
|
|
__sendto_chk; # introduced=26
|
|
|
|
__system_property_read_callback; # introduced=26
|
|
|
|
__system_property_wait; # introduced=26
|
2020-02-14 07:23:17 +01:00
|
|
|
bsd_signal; # arm x86 versioned=26
|
2017-04-20 21:58:31 +02:00
|
|
|
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
|
2017-05-31 20:00:18 +02:00
|
|
|
mallopt; # introduced=26
|
2017-04-20 21:58:31 +02:00
|
|
|
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
|
2016-03-23 19:20:47 +01:00
|
|
|
} LIBC_N;
|
|
|
|
|
2017-10-02 19:10:15 +02:00
|
|
|
LIBC_P { # introduced=P
|
2017-07-29 01:27:49 +02:00
|
|
|
global:
|
2017-10-02 19:10:15 +02:00
|
|
|
__freading;
|
2018-02-08 03:42:14 +01:00
|
|
|
__free_hook;
|
2018-02-15 00:21:45 +01:00
|
|
|
__fseterr;
|
2017-10-02 19:10:15 +02:00
|
|
|
__fwriting;
|
2018-02-08 03:42:14 +01:00
|
|
|
__malloc_hook;
|
|
|
|
__memalign_hook;
|
|
|
|
__realloc_hook;
|
2018-02-06 03:14:55 +01:00
|
|
|
aligned_alloc;
|
2017-10-14 02:52:01 +02:00
|
|
|
endhostent;
|
|
|
|
endnetent;
|
|
|
|
endprotoent;
|
2018-01-31 00:09:51 +01:00
|
|
|
epoll_pwait64;
|
2017-10-19 00:54:56 +02:00
|
|
|
fexecve;
|
2017-10-31 01:47:12 +01:00
|
|
|
fflush_unlocked;
|
|
|
|
fgetc_unlocked;
|
|
|
|
fgets_unlocked;
|
|
|
|
fputc_unlocked;
|
|
|
|
fputs_unlocked;
|
|
|
|
fread_unlocked;
|
|
|
|
fwrite_unlocked;
|
2017-10-02 19:10:15 +02:00
|
|
|
getentropy;
|
2017-10-14 02:52:01 +02:00
|
|
|
getnetent;
|
|
|
|
getprotoent;
|
2017-10-02 19:10:15 +02:00
|
|
|
getrandom;
|
|
|
|
getlogin_r;
|
|
|
|
glob;
|
|
|
|
globfree;
|
|
|
|
hcreate;
|
|
|
|
hcreate_r;
|
|
|
|
hdestroy;
|
|
|
|
hdestroy_r;
|
|
|
|
hsearch;
|
|
|
|
hsearch_r;
|
|
|
|
iconv;
|
|
|
|
iconv_close;
|
|
|
|
iconv_open;
|
2017-10-07 01:58:36 +02:00
|
|
|
posix_spawn;
|
|
|
|
posix_spawnattr_destroy;
|
|
|
|
posix_spawnattr_getflags;
|
|
|
|
posix_spawnattr_getpgroup;
|
|
|
|
posix_spawnattr_getschedparam;
|
|
|
|
posix_spawnattr_getschedpolicy;
|
|
|
|
posix_spawnattr_getsigdefault;
|
2018-01-31 00:09:51 +01:00
|
|
|
posix_spawnattr_getsigdefault64;
|
2017-10-07 01:58:36 +02:00
|
|
|
posix_spawnattr_getsigmask;
|
2018-01-31 00:09:51 +01:00
|
|
|
posix_spawnattr_getsigmask64;
|
2017-10-07 01:58:36 +02:00
|
|
|
posix_spawnattr_init;
|
|
|
|
posix_spawnattr_setflags;
|
|
|
|
posix_spawnattr_setpgroup;
|
|
|
|
posix_spawnattr_setschedparam;
|
|
|
|
posix_spawnattr_setschedpolicy;
|
|
|
|
posix_spawnattr_setsigdefault;
|
2018-01-31 00:09:51 +01:00
|
|
|
posix_spawnattr_setsigdefault64;
|
2017-10-07 01:58:36 +02:00
|
|
|
posix_spawnattr_setsigmask;
|
2018-01-31 00:09:51 +01:00
|
|
|
posix_spawnattr_setsigmask64;
|
2017-10-07 01:58:36 +02:00
|
|
|
posix_spawn_file_actions_addclose;
|
|
|
|
posix_spawn_file_actions_adddup2;
|
|
|
|
posix_spawn_file_actions_addopen;
|
|
|
|
posix_spawn_file_actions_destroy;
|
|
|
|
posix_spawn_file_actions_init;
|
|
|
|
posix_spawnp;
|
2018-01-31 00:09:51 +01:00
|
|
|
ppoll64;
|
|
|
|
pselect64;
|
Implement pthread_attr_getinheritsched/pthread_attr_setinheritsched.
Historically, Android defaulted to EXPLICIT but with a special case
because SCHED_NORMAL/priority 0 was awkward. Because the code couldn't
actually tell whether SCHED_NORMAL/priority 0 was a genuine attempt to
explicitly set those attributes (because the parent thread is SCHED_FIFO,
say) or just because the pthread_attr_t was left at its defaults.
Now we support INHERIT, we could call sched_getscheduler to see whether
we actually need to call sched_setscheduler, but since the major cost
is the fixed syscall overhead, we may as well just conservatively
call sched_setscheduler and let the kernel decide whether it's a
no-op. (Especially because we'd then have to add both sched_getscheduler
and sched_setscheduler to any seccomp filter.)
Platform code (or app code that only needs to support >= P) can actually
add a call to pthread_attr_setinheritsched to say that they just want
to inherit (if they know that none of their threads actually mess with
scheduler attributes at all), which will save them a sched_setscheduler
call except in the doubly-special case of SCHED_RESET_ON_FORK (which we
do handle).
An alternative would be "make pthread_attr_setschedparams and
pthread_attr_setschedprio set EXPLICIT and change the platform default
to INHERIT", but even though I can only think of weird pathological
examples where anyone would notice that change, that behavior -- of
pthread_attr_setschedparams/pthread_attr_setschedprio overriding an
earlier call to pthread_attr_setinheritsched -- isn't allowed by POSIX
(whereas defaulting to EXPLICIT is).
If we have a lot of trouble with this change in the app compatibility
testing phase, though, we'll want to reconsider this decision!
-*-
This change also removes a comment about setting the scheduler attributes
in main_thread because we'd have to actually keep them up to date,
and it's not clear that doing so would be worth the trouble.
Also make async_safe_format_log preserve errno so we don't have to be
so careful around it.
Bug: http://b/67471710
Test: ran tests
Change-Id: Idd026c4ce78a536656adcb57aa2e7b2c616eeddf
2017-10-18 00:34:41 +02:00
|
|
|
pthread_attr_getinheritsched;
|
|
|
|
pthread_attr_setinheritsched;
|
2018-03-05 23:14:44 +01:00
|
|
|
pthread_mutex_timedlock_monotonic_np;
|
2018-01-23 21:56:18 +01:00
|
|
|
pthread_mutexattr_getprotocol;
|
|
|
|
pthread_mutexattr_setprotocol;
|
2018-03-05 23:14:44 +01:00
|
|
|
pthread_rwlock_timedrdlock_monotonic_np;
|
|
|
|
pthread_rwlock_timedwrlock_monotonic_np;
|
2017-10-16 18:58:45 +02:00
|
|
|
pthread_setschedprio;
|
2018-01-31 00:09:51 +01:00
|
|
|
pthread_sigmask64;
|
2018-03-05 23:14:44 +01:00
|
|
|
sem_timedwait_monotonic_np;
|
2017-10-14 02:52:01 +02:00
|
|
|
sethostent;
|
|
|
|
setnetent;
|
|
|
|
setprotoent;
|
2018-02-01 23:21:51 +01:00
|
|
|
sigaction64;
|
2018-01-31 00:09:51 +01:00
|
|
|
sigaddset64;
|
|
|
|
sigdelset64;
|
|
|
|
sigemptyset64;
|
|
|
|
sigfillset64;
|
|
|
|
sigismember64;
|
|
|
|
signalfd64;
|
|
|
|
sigpending64;
|
|
|
|
sigprocmask64;
|
|
|
|
sigsuspend64;
|
|
|
|
sigtimedwait64;
|
|
|
|
sigwait64;
|
|
|
|
sigwaitinfo64;
|
2018-02-14 08:14:12 +01:00
|
|
|
strptime_l;
|
2017-10-18 22:34:32 +02:00
|
|
|
swab;
|
2017-10-02 19:10:15 +02:00
|
|
|
syncfs;
|
2018-02-14 08:14:12 +01:00
|
|
|
wcsftime_l;
|
|
|
|
wcstod_l;
|
|
|
|
wcstof_l;
|
|
|
|
wcstol_l;
|
|
|
|
wcstoul_l;
|
2017-07-29 01:27:49 +02:00
|
|
|
} LIBC_O;
|
|
|
|
|
2018-07-17 22:02:52 +02:00
|
|
|
LIBC_Q { # introduced=Q
|
|
|
|
global:
|
2019-01-18 10:00:59 +01:00
|
|
|
___tls_get_addr; # x86
|
2018-12-31 06:10:26 +01:00
|
|
|
__aeabi_read_tp; # arm
|
2018-07-17 22:02:52 +02:00
|
|
|
__res_randomid;
|
2022-10-06 17:17:10 +02:00
|
|
|
__tls_get_addr; # arm riscv64 x86_64
|
2018-06-02 00:30:54 +02:00
|
|
|
android_fdsan_close_with_tag;
|
|
|
|
android_fdsan_create_owner_tag;
|
|
|
|
android_fdsan_exchange_owner_tag;
|
2018-12-13 10:26:48 +01:00
|
|
|
android_fdsan_get_error_level;
|
2018-08-23 23:04:11 +02:00
|
|
|
android_fdsan_get_owner_tag;
|
|
|
|
android_fdsan_get_tag_type;
|
|
|
|
android_fdsan_get_tag_value;
|
2018-06-02 00:30:54 +02:00
|
|
|
android_fdsan_set_error_level;
|
2018-09-06 22:26:08 +02:00
|
|
|
android_get_device_api_level;
|
2018-10-23 20:23:00 +02:00
|
|
|
getloadavg;
|
2018-08-28 01:00:58 +02:00
|
|
|
pthread_sigqueue;
|
2018-09-18 21:52:42 +02:00
|
|
|
reallocarray;
|
2018-07-17 22:21:05 +02:00
|
|
|
timespec_get;
|
2018-12-13 10:26:48 +01:00
|
|
|
|
|
|
|
# Used by libselinux
|
|
|
|
__system_properties_init; # apex
|
|
|
|
|
|
|
|
# Used by libmemunreachable
|
2019-11-06 04:44:25 +01:00
|
|
|
malloc_backtrace; # apex llndk
|
|
|
|
malloc_disable; # apex llndk
|
|
|
|
malloc_enable; # apex llndk
|
|
|
|
malloc_iterate; # apex llndk
|
2018-12-13 10:26:48 +01:00
|
|
|
|
|
|
|
# Used by libandroid_net
|
|
|
|
android_getaddrinfofornet; # apex
|
|
|
|
|
2020-10-05 23:55:26 +02:00
|
|
|
# Used by libandroid_runtime, libcutils, libmedia, and libmediautils
|
|
|
|
android_mallopt; # apex llndk
|
2018-07-17 22:02:52 +02:00
|
|
|
} LIBC_P;
|
|
|
|
|
2019-04-18 23:27:24 +02:00
|
|
|
LIBC_R { # introduced=R
|
|
|
|
global:
|
2019-06-11 01:22:09 +02:00
|
|
|
__mempcpy_chk;
|
2019-07-31 02:30:08 +02:00
|
|
|
__tls_get_addr; # arm64
|
2019-04-18 23:27:24 +02:00
|
|
|
call_once;
|
|
|
|
cnd_broadcast;
|
|
|
|
cnd_destroy;
|
|
|
|
cnd_init;
|
|
|
|
cnd_signal;
|
|
|
|
cnd_timedwait;
|
|
|
|
cnd_wait;
|
2019-08-05 22:53:01 +02:00
|
|
|
memfd_create;
|
|
|
|
mlock2;
|
2019-04-18 23:27:24 +02:00
|
|
|
mtx_destroy;
|
|
|
|
mtx_init;
|
|
|
|
mtx_lock;
|
|
|
|
mtx_timedlock;
|
|
|
|
mtx_trylock;
|
|
|
|
mtx_unlock;
|
2019-05-08 05:33:05 +02:00
|
|
|
pthread_cond_clockwait;
|
|
|
|
pthread_mutex_clocklock;
|
|
|
|
pthread_rwlock_clockrdlock;
|
|
|
|
pthread_rwlock_clockwrlock;
|
2019-04-17 22:01:06 +02:00
|
|
|
renameat2;
|
2019-05-08 05:33:05 +02:00
|
|
|
sem_clockwait;
|
2020-02-22 08:21:28 +01:00
|
|
|
statx;
|
2019-04-18 23:27:24 +02:00
|
|
|
thrd_create;
|
|
|
|
thrd_current;
|
|
|
|
thrd_detach;
|
|
|
|
thrd_equal;
|
|
|
|
thrd_exit;
|
|
|
|
thrd_join;
|
|
|
|
thrd_sleep;
|
|
|
|
thrd_yield;
|
|
|
|
tss_create;
|
|
|
|
tss_delete;
|
|
|
|
tss_get;
|
|
|
|
tss_set;
|
2019-12-11 02:41:16 +01:00
|
|
|
|
|
|
|
# Unwinder implementation
|
2022-12-09 01:52:43 +01:00
|
|
|
__aeabi_unwind_cpp_pr0; # arm
|
|
|
|
__aeabi_unwind_cpp_pr1; # arm
|
|
|
|
__aeabi_unwind_cpp_pr2; # arm
|
|
|
|
__deregister_frame; # arm64 x86 x86_64
|
|
|
|
__gnu_unwind_frame; # arm
|
|
|
|
__register_frame; # arm64 x86 x86_64
|
|
|
|
_Unwind_Backtrace;
|
|
|
|
_Unwind_Complete; # arm
|
|
|
|
_Unwind_DeleteException;
|
|
|
|
_Unwind_Find_FDE;
|
|
|
|
_Unwind_FindEnclosingFunction;
|
|
|
|
_Unwind_ForcedUnwind; # arm64 x86 x86_64
|
|
|
|
_Unwind_GetCFA;
|
|
|
|
_Unwind_GetDataRelBase;
|
|
|
|
_Unwind_GetGR;
|
|
|
|
_Unwind_GetIP;
|
|
|
|
_Unwind_GetIPInfo;
|
|
|
|
_Unwind_GetLanguageSpecificData;
|
|
|
|
_Unwind_GetRegionStart;
|
|
|
|
_Unwind_GetTextRelBase;
|
|
|
|
_Unwind_RaiseException;
|
|
|
|
_Unwind_Resume;
|
|
|
|
_Unwind_Resume_or_Rethrow;
|
|
|
|
_Unwind_SetGR;
|
|
|
|
_Unwind_SetIP;
|
|
|
|
_Unwind_VRS_Get; # arm
|
|
|
|
_Unwind_VRS_Pop; # arm
|
|
|
|
_Unwind_VRS_Set; # arm
|
2019-04-18 23:27:24 +02:00
|
|
|
} LIBC_Q;
|
|
|
|
|
2020-03-27 00:18:13 +01:00
|
|
|
LIBC_S { # introduced=S
|
2020-03-25 18:34:46 +01:00
|
|
|
global:
|
2020-07-14 23:37:04 +02:00
|
|
|
__libc_get_static_tls_bounds;
|
|
|
|
__libc_register_thread_exit_callback;
|
|
|
|
__libc_iterate_dynamic_tls;
|
|
|
|
__libc_register_dynamic_tls_listeners;
|
2021-02-12 23:47:47 +01:00
|
|
|
android_reset_stack_guards;
|
2020-12-23 23:59:56 +01:00
|
|
|
ffsl;
|
|
|
|
ffsll;
|
2021-02-23 03:09:48 +01:00
|
|
|
pidfd_getfd;
|
|
|
|
pidfd_open;
|
|
|
|
pidfd_send_signal;
|
2020-12-23 23:59:56 +01:00
|
|
|
process_madvise;
|
2020-03-25 18:34:46 +01:00
|
|
|
} LIBC_R;
|
|
|
|
|
2021-10-14 03:25:21 +02:00
|
|
|
LIBC_T { # introduced=Tiramisu
|
|
|
|
global:
|
2021-10-15 00:44:47 +02:00
|
|
|
backtrace;
|
|
|
|
backtrace_symbols;
|
|
|
|
backtrace_symbols_fd;
|
2021-10-14 03:25:21 +02:00
|
|
|
preadv2;
|
|
|
|
preadv64v2;
|
|
|
|
pwritev2;
|
|
|
|
pwritev64v2;
|
|
|
|
} LIBC_S;
|
|
|
|
|
2022-01-21 20:19:55 +01:00
|
|
|
LIBC_U { # introduced=UpsideDownCake
|
|
|
|
global:
|
2022-09-23 01:47:42 +02:00
|
|
|
__freadahead;
|
2022-01-21 20:19:55 +01:00
|
|
|
close_range;
|
2022-04-22 20:08:09 +02:00
|
|
|
copy_file_range;
|
2022-08-11 01:35:03 +02:00
|
|
|
memset_explicit;
|
2023-04-04 22:33:28 +02:00
|
|
|
posix_spawn_file_actions_addchdir_np;
|
|
|
|
posix_spawn_file_actions_addfchdir_np;
|
2022-01-21 20:19:55 +01:00
|
|
|
} LIBC_T;
|
|
|
|
|
2023-04-25 02:04:49 +02:00
|
|
|
LIBC_V { # introduced=VanillaIceCream
|
|
|
|
global:
|
2024-02-14 21:55:46 +01:00
|
|
|
android_crash_detail_register;
|
|
|
|
android_crash_detail_unregister;
|
|
|
|
android_crash_detail_replace_name;
|
|
|
|
android_crash_detail_replace_data;
|
2023-07-14 00:45:33 +02:00
|
|
|
epoll_pwait2;
|
|
|
|
epoll_pwait2_64;
|
2024-02-25 00:55:58 +01:00
|
|
|
_Fork;
|
Expose tzalloc()/localtime_rz()/mktime_z()/tzfree().
* Rationale
The question often comes up of how to use multiple time zones in C code.
If you're single-threaded, you can just use setenv() to manipulate $TZ.
toybox does this, for example. But that's not thread-safe in two
distinct ways: firstly, getenv() is not thread-safe with respect to
modifications to the environment (and between the way putenv() is
specified and the existence of environ, it's not obvious how to fully
fix that), and secondly the _caller_ needs to ensure that no other
threads are using tzset() or any function that behaves "as if" tzset()
was called (which is neither easy to determine nor easy to ensure).
This isn't a bigger problem because most of the time the right answer
is to stop pretending that libc is at all suitable for any i18n, and
switch to icu4c instead. (The NDK icu4c headers do not include ucal_*,
so this is not a realistic option for most applications.)
But what if you're somewhere in between? Like the rust chrono library,
for example? What then?
Currently their "least worst" option is to reinvent the entire wheel and
read our tzdata files. Which isn't a great solution for anyone, for
obvious maintainability reasons.
So it's probably time we broke the catch-22 here and joined NetBSD in
offering a less broken API than standard C has for the last 40 years.
Sure, any would-be caller will have to have a separate "is this
Android?" and even "is this API level >= 35?" path, but that will fix
itself sometime in the 2030s when developers can just assume "yes, it
is", whereas if we keep putting off exposing anything, this problem
never gets solved.
(No-one's bothered to try to implement the std::chrono::time_zone
functionality in libc++ yet, but they'll face a similar problem if/when
they do.)
* Implementation
The good news is that tzcode already implements these functions, so
there's relatively little here.
I've chosen not to expose `struct state` because `struct __timezone_t`
makes for clearer error messages, given that compiler diagnostics will
show the underlying type name (`struct __timezone_t*`) rather than the
typedef name (`timezone_t`) that's used in calling code.
I've moved us over to FreeBSD's wcsftime() rather than keep the OpenBSD
one building --- I've long wanted to only have one implementation here,
and FreeBSD is already doing the "convert back and forth, calling the
non-wide function in the middle" dance that I'd hoped to get round to
doing myself someday. This should mean that our strftime() and
wcsftime() behaviors can't easily diverge in future, plus macOS/iOS are
mostly FreeBSD, so any bugs will likely be interoperable with the other
major mobile operating system, so there's something nice for everyone
there!
The FreeBSD wcsftime() implementation includes a wcsftime_l()
implementation, so that's one stub we can remove. The flip side of that
is that it uses mbsrtowcs_l() and wcsrtombs_l() which we didn't
previously have. So expose those as aliases of mbsrtowcs() and
wcsrtombs().
Bug: https://github.com/chronotope/chrono/issues/499
Test: treehugger
Change-Id: Iee1b9d763ead15eef3d2c33666b3403b68940c3c
2023-06-15 22:17:08 +02:00
|
|
|
localtime_rz;
|
|
|
|
mbsrtowcs_l;
|
|
|
|
mktime_z;
|
2023-07-13 01:30:55 +02:00
|
|
|
__riscv_flush_icache; # riscv64
|
2023-07-28 01:53:30 +02:00
|
|
|
__riscv_hwprobe; # riscv64
|
2023-09-22 03:32:39 +02:00
|
|
|
strerrorname_np;
|
2023-08-29 01:55:07 +02:00
|
|
|
tcgetwinsize;
|
|
|
|
tcsetwinsize;
|
2023-04-25 02:04:49 +02:00
|
|
|
timespec_getres;
|
Expose tzalloc()/localtime_rz()/mktime_z()/tzfree().
* Rationale
The question often comes up of how to use multiple time zones in C code.
If you're single-threaded, you can just use setenv() to manipulate $TZ.
toybox does this, for example. But that's not thread-safe in two
distinct ways: firstly, getenv() is not thread-safe with respect to
modifications to the environment (and between the way putenv() is
specified and the existence of environ, it's not obvious how to fully
fix that), and secondly the _caller_ needs to ensure that no other
threads are using tzset() or any function that behaves "as if" tzset()
was called (which is neither easy to determine nor easy to ensure).
This isn't a bigger problem because most of the time the right answer
is to stop pretending that libc is at all suitable for any i18n, and
switch to icu4c instead. (The NDK icu4c headers do not include ucal_*,
so this is not a realistic option for most applications.)
But what if you're somewhere in between? Like the rust chrono library,
for example? What then?
Currently their "least worst" option is to reinvent the entire wheel and
read our tzdata files. Which isn't a great solution for anyone, for
obvious maintainability reasons.
So it's probably time we broke the catch-22 here and joined NetBSD in
offering a less broken API than standard C has for the last 40 years.
Sure, any would-be caller will have to have a separate "is this
Android?" and even "is this API level >= 35?" path, but that will fix
itself sometime in the 2030s when developers can just assume "yes, it
is", whereas if we keep putting off exposing anything, this problem
never gets solved.
(No-one's bothered to try to implement the std::chrono::time_zone
functionality in libc++ yet, but they'll face a similar problem if/when
they do.)
* Implementation
The good news is that tzcode already implements these functions, so
there's relatively little here.
I've chosen not to expose `struct state` because `struct __timezone_t`
makes for clearer error messages, given that compiler diagnostics will
show the underlying type name (`struct __timezone_t*`) rather than the
typedef name (`timezone_t`) that's used in calling code.
I've moved us over to FreeBSD's wcsftime() rather than keep the OpenBSD
one building --- I've long wanted to only have one implementation here,
and FreeBSD is already doing the "convert back and forth, calling the
non-wide function in the middle" dance that I'd hoped to get round to
doing myself someday. This should mean that our strftime() and
wcsftime() behaviors can't easily diverge in future, plus macOS/iOS are
mostly FreeBSD, so any bugs will likely be interoperable with the other
major mobile operating system, so there's something nice for everyone
there!
The FreeBSD wcsftime() implementation includes a wcsftime_l()
implementation, so that's one stub we can remove. The flip side of that
is that it uses mbsrtowcs_l() and wcsrtombs_l() which we didn't
previously have. So expose those as aliases of mbsrtowcs() and
wcsrtombs().
Bug: https://github.com/chronotope/chrono/issues/499
Test: treehugger
Change-Id: Iee1b9d763ead15eef3d2c33666b3403b68940c3c
2023-06-15 22:17:08 +02:00
|
|
|
tzalloc;
|
|
|
|
tzfree;
|
|
|
|
wcsrtombs_l;
|
2023-10-20 01:50:59 +02:00
|
|
|
__system_properties_zygote_reload; # apex
|
2023-04-25 02:04:49 +02:00
|
|
|
} LIBC_U;
|
|
|
|
|
2015-06-04 02:48:51 +02:00
|
|
|
LIBC_PRIVATE {
|
|
|
|
global:
|
2020-02-14 07:23:17 +01:00
|
|
|
__accept4; # arm x86
|
2015-06-04 02:48:51 +02:00
|
|
|
__adddf3; # arm
|
|
|
|
__addsf3; # arm
|
2016-01-06 01:38:43 +01:00
|
|
|
__aeabi_atexit; # arm
|
2015-06-04 02:48:51 +02:00
|
|
|
__aeabi_cdcmpeq; # arm
|
|
|
|
__aeabi_cdcmple; # arm
|
|
|
|
__aeabi_cdrcmple; # arm
|
2019-02-20 23:28:56 +01:00
|
|
|
__aeabi_cfcmpeq; # arm
|
|
|
|
__aeabi_cfcmple; # arm
|
|
|
|
__aeabi_cfrcmple; # arm
|
2015-06-04 02:48:51 +02:00
|
|
|
__aeabi_d2f; # arm
|
|
|
|
__aeabi_d2iz; # arm
|
2019-02-20 23:28:56 +01:00
|
|
|
__aeabi_d2uiz; # arm
|
2015-06-04 02:48:51 +02:00
|
|
|
__aeabi_dadd; # arm
|
|
|
|
__aeabi_dcmpeq; # arm
|
|
|
|
__aeabi_dcmpge; # arm
|
|
|
|
__aeabi_dcmpgt; # arm
|
|
|
|
__aeabi_dcmple; # arm
|
|
|
|
__aeabi_dcmplt; # arm
|
|
|
|
__aeabi_dcmpun; # arm
|
|
|
|
__aeabi_ddiv; # arm
|
|
|
|
__aeabi_dmul; # arm
|
|
|
|
__aeabi_drsub; # arm
|
|
|
|
__aeabi_dsub; # arm
|
|
|
|
__aeabi_f2d; # arm
|
|
|
|
__aeabi_f2iz; # arm
|
|
|
|
__aeabi_f2uiz; # arm
|
|
|
|
__aeabi_fadd; # arm
|
2019-02-20 23:28:56 +01:00
|
|
|
__aeabi_fcmpeq; # arm
|
|
|
|
__aeabi_fcmpge; # arm
|
|
|
|
__aeabi_fcmpgt; # arm
|
|
|
|
__aeabi_fcmple; # arm
|
|
|
|
__aeabi_fcmplt; # arm
|
2015-06-04 02:48:51 +02:00
|
|
|
__aeabi_fcmpun; # arm
|
|
|
|
__aeabi_fdiv; # arm
|
|
|
|
__aeabi_fmul; # arm
|
|
|
|
__aeabi_frsub; # arm
|
|
|
|
__aeabi_fsub; # arm
|
|
|
|
__aeabi_i2d; # arm
|
|
|
|
__aeabi_i2f; # arm
|
|
|
|
__aeabi_idiv; # arm
|
|
|
|
__aeabi_idiv0; # arm
|
|
|
|
__aeabi_idivmod; # arm
|
|
|
|
__aeabi_l2d; # arm
|
|
|
|
__aeabi_l2f; # arm
|
|
|
|
__aeabi_lasr; # arm
|
|
|
|
__aeabi_ldiv0; # arm
|
|
|
|
__aeabi_ldivmod; # arm
|
|
|
|
__aeabi_llsl; # arm
|
|
|
|
__aeabi_llsr; # arm
|
|
|
|
__aeabi_lmul; # arm
|
2016-01-06 01:38:43 +01:00
|
|
|
__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
|
2015-06-04 02:48:51 +02:00
|
|
|
__aeabi_ui2d; # arm
|
|
|
|
__aeabi_ui2f; # arm
|
|
|
|
__aeabi_uidiv; # arm
|
|
|
|
__aeabi_uidivmod; # arm
|
|
|
|
__aeabi_ul2d; # arm
|
|
|
|
__aeabi_ul2f; # arm
|
|
|
|
__aeabi_uldivmod; # arm
|
|
|
|
__arm_fadvise64_64; # arm
|
|
|
|
__ashldi3; # arm
|
|
|
|
__ashrdi3; # arm
|
2020-02-14 07:23:17 +01:00
|
|
|
__bionic_brk; # arm x86
|
2019-02-13 23:10:10 +01:00
|
|
|
__bionic_libcrt_compat_symbols; # arm x86
|
2015-12-22 06:29:45 +01:00
|
|
|
__cmpdf2; # arm
|
2019-02-20 23:28:56 +01:00
|
|
|
__cmpsf2; # arm
|
2015-12-22 06:29:45 +01:00
|
|
|
__divdf3; # arm
|
2020-02-14 07:23:17 +01:00
|
|
|
__divdi3; # arm x86
|
2015-12-22 06:29:45 +01:00
|
|
|
__divsf3; # arm
|
|
|
|
__divsi3; # arm
|
2015-06-04 02:48:51 +02:00
|
|
|
__dso_handle; # arm
|
2015-12-22 06:29:45 +01:00
|
|
|
__eqdf2; # arm
|
2019-02-20 23:28:56 +01:00
|
|
|
__eqsf2; # arm
|
2015-12-22 06:29:45 +01:00
|
|
|
__extendsfdf2; # arm
|
|
|
|
__fixdfsi; # arm
|
|
|
|
__fixsfsi; # arm
|
2019-02-20 23:28:56 +01:00
|
|
|
__fixunsdfsi; # arm
|
2015-12-22 06:29:45 +01:00
|
|
|
__fixunssfsi; # arm
|
|
|
|
__floatdidf; # arm
|
|
|
|
__floatdisf; # arm
|
|
|
|
__floatsidf; # arm
|
|
|
|
__floatsisf; # arm
|
|
|
|
__floatundidf; # arm
|
|
|
|
__floatundisf; # arm
|
|
|
|
__floatunsidf; # arm
|
|
|
|
__floatunsisf; # arm
|
2020-02-14 07:23:17 +01:00
|
|
|
__futex_wait; # arm x86
|
|
|
|
__futex_wake; # arm x86
|
2015-12-22 06:29:45 +01:00
|
|
|
__gedf2; # arm
|
2019-02-20 23:28:56 +01:00
|
|
|
__gesf2; # arm
|
2020-02-14 07:23:17 +01:00
|
|
|
__get_thread; # arm x86
|
|
|
|
__get_tls; # arm x86
|
|
|
|
__getdents64; # arm x86
|
2015-12-22 06:29:45 +01:00
|
|
|
__gnu_ldivmod_helper; # arm
|
|
|
|
__gnu_uldivmod_helper; # arm
|
2015-06-04 02:48:51 +02:00
|
|
|
__gnu_Unwind_Find_exidx; # arm
|
2015-12-22 06:29:45 +01:00
|
|
|
__gtdf2; # arm
|
2019-02-20 23:28:56 +01:00
|
|
|
__gtsf2; # arm
|
2015-12-22 06:29:45 +01:00
|
|
|
__ledf2; # arm
|
2019-02-20 23:28:56 +01:00
|
|
|
__lesf2; # arm
|
2015-12-22 06:29:45 +01:00
|
|
|
__lshrdi3; # arm
|
|
|
|
__ltdf2; # arm
|
2019-02-20 23:28:56 +01:00
|
|
|
__ltsf2; # arm
|
2015-12-22 06:29:45 +01:00
|
|
|
__muldf3; # arm
|
|
|
|
__muldi3; # arm
|
|
|
|
__mulsf3; # arm
|
|
|
|
__nedf2; # arm
|
2019-02-20 23:28:56 +01:00
|
|
|
__nesf2; # arm
|
2020-02-14 07:23:17 +01:00
|
|
|
__open; # arm x86
|
|
|
|
__page_shift; # arm x86
|
|
|
|
__page_size; # arm x86
|
2015-12-22 06:29:45 +01:00
|
|
|
__popcount_tab; # arm
|
2020-02-14 07:23:17 +01:00
|
|
|
__popcountsi2; # arm x86
|
|
|
|
__pthread_gettid; # arm x86
|
|
|
|
__sclose; # arm x86
|
|
|
|
__sdidinit; # arm x86
|
|
|
|
__set_errno; # arm x86
|
|
|
|
__sflags; # arm x86
|
|
|
|
__sflush; # arm x86
|
|
|
|
__sfp; # arm x86
|
|
|
|
__sglue; # arm x86
|
|
|
|
__sinit; # arm x86
|
|
|
|
__smakebuf; # arm x86
|
|
|
|
__sread; # arm x86
|
|
|
|
__srefill; # arm x86
|
|
|
|
__srget; # arm x86
|
|
|
|
__sseek; # arm x86
|
2015-12-22 06:29:45 +01:00
|
|
|
__subdf3; # arm
|
|
|
|
__subsf3; # arm
|
2020-02-14 07:23:17 +01:00
|
|
|
__swbuf; # arm x86
|
|
|
|
__swrite; # arm x86
|
|
|
|
__swsetup; # arm x86
|
2015-12-22 06:29:45 +01:00
|
|
|
__truncdfsf2; # arm
|
2020-02-14 07:23:17 +01:00
|
|
|
__udivdi3; # arm x86
|
2015-12-22 06:29:45 +01:00
|
|
|
__udivsi3; # arm
|
2020-02-14 07:23:17 +01:00
|
|
|
__umoddi3; # x86
|
2015-12-22 06:29:45 +01:00
|
|
|
__unorddf2; # arm
|
|
|
|
__unordsf2; # arm
|
2020-02-14 07:23:17 +01:00
|
|
|
__wait4; # arm x86
|
|
|
|
_fwalk; # arm x86
|
2016-01-26 23:07:32 +01:00
|
|
|
android_getaddrinfofornetcontext;
|
|
|
|
android_gethostbyaddrfornet;
|
2017-04-24 23:57:11 +02:00
|
|
|
android_gethostbyaddrfornetcontext;
|
2016-01-26 23:07:32 +01:00
|
|
|
android_gethostbynamefornet;
|
2017-05-22 16:19:25 +02:00
|
|
|
android_gethostbynamefornetcontext;
|
2020-09-12 00:05:17 +02:00
|
|
|
android_run_on_all_threads;
|
2020-01-15 02:59:41 +01:00
|
|
|
android_unsafe_frame_pointer_chase;
|
2020-02-14 07:23:17 +01:00
|
|
|
arc4random_addrandom; # arm x86
|
|
|
|
arc4random_stir; # arm x86
|
2015-06-04 02:48:51 +02:00
|
|
|
atexit; # arm
|
2020-02-14 07:23:17 +01:00
|
|
|
bcopy; # arm x86
|
|
|
|
bzero; # arm x86
|
|
|
|
dlmalloc; # arm x86
|
|
|
|
dlmalloc_inspect_all; # arm x86
|
|
|
|
dlmalloc_trim; # arm x86
|
|
|
|
dlmalloc_usable_size; # arm x86
|
|
|
|
ftime; # arm x86
|
|
|
|
getdents; # arm x86
|
|
|
|
getdtablesize; # arm x86
|
|
|
|
index; # arm x86
|
|
|
|
issetugid; # arm x86
|
|
|
|
memswap; # arm x86
|
|
|
|
pthread_attr_getstackaddr; # arm x86
|
|
|
|
pthread_attr_setstackaddr; # arm x86
|
|
|
|
SHA1Final; # arm x86
|
|
|
|
SHA1Init; # arm x86
|
|
|
|
SHA1Transform; # arm x86
|
|
|
|
SHA1Update; # arm x86
|
|
|
|
strntoimax; # arm x86
|
|
|
|
strntoumax; # arm x86
|
|
|
|
strtotimeval; # arm x86
|
|
|
|
sysv_signal; # arm x86
|
|
|
|
tkill; # arm x86
|
|
|
|
wait3; # arm x86
|
|
|
|
wcswcs; # arm x86
|
2018-07-31 09:17:02 +02:00
|
|
|
} LIBC_Q;
|
2016-04-18 05:00:12 +02:00
|
|
|
|
2017-01-09 20:05:52 +01:00
|
|
|
LIBC_DEPRECATED {
|
|
|
|
global:
|
2017-02-17 00:34:21 +01:00
|
|
|
__system_property_wait_any;
|
2019-05-08 01:02:49 +02:00
|
|
|
free_malloc_leak_info; # arm
|
|
|
|
get_malloc_leak_info; # arm
|
2017-01-09 20:05:52 +01:00
|
|
|
};
|
|
|
|
|
2016-04-18 05:00:12 +02:00
|
|
|
LIBC_PLATFORM {
|
|
|
|
global:
|
2019-01-16 20:03:49 +01:00
|
|
|
__system_property_add;
|
2017-02-17 00:34:21 +01:00
|
|
|
__system_property_area__; # var
|
|
|
|
__system_property_area_init;
|
|
|
|
__system_property_set_filename;
|
2017-01-09 20:05:52 +01:00
|
|
|
__system_property_update;
|
2018-08-07 03:48:52 +02:00
|
|
|
android_fdsan_get_fd_table;
|
2020-01-28 22:24:33 +01:00
|
|
|
android_fdtrack_compare_exchange_hook; # llndk
|
|
|
|
android_fdtrack_get_enabled; # llndk
|
|
|
|
android_fdtrack_set_enabled; # llndk
|
2020-12-09 23:01:13 +01:00
|
|
|
android_fdtrack_set_globally_enabled; # llndk
|
2016-04-18 05:00:12 +02:00
|
|
|
android_net_res_stats_get_info_for_net;
|
|
|
|
android_net_res_stats_aggregate;
|
|
|
|
android_net_res_stats_get_usable_servers;
|
2018-07-31 09:17:02 +02:00
|
|
|
} LIBC_Q;
|