LIBC {
  global:
    __assert;
    __assert2;
    __atomic_cmpxchg; # arm
    __atomic_dec; # arm
    __atomic_inc; # arm
    __atomic_swap; # arm
    __b64_ntop;
    __b64_pton;
    __cmsg_nxthdr;
    __connect; # arm x86
    __ctype_get_mb_cur_max;
    __cxa_atexit;
    __cxa_finalize;
    __cxa_thread_atexit_impl; # introduced=23
    __dn_comp;
    __dn_count_labels;
    __dn_skipname;
    __epoll_pwait; # arm x86
    __errno;
    __exit; # arm x86
    __fadvise64; # x86
    __fbufsize; # introduced=23
    __fcntl64; # arm x86
    __FD_CLR_chk;
    __FD_ISSET_chk;
    __FD_SET_chk;
    __fgets_chk;
    __flbf; # introduced=23
    __fp_nquery;
    __fp_query;
    __fpclassify;
    __fpclassifyd;
    __fpclassifyf;
    __fpclassifyl;
    __fpending; # introduced=23
    __fpurge; # introduced=23
    __freadable; # introduced=23
    __fsetlocking; # introduced=23
    __fstatfs64; # arm x86
    __fwritable; # introduced=23
    __get_h_errno;
    __getcpu; # arm x86
    __getcwd; # arm x86
    __getpid; # arm x86
    __getpriority; # arm x86
    __gnu_basename; # introduced=23
    __gnu_strerror_r; # introduced=23
    __hostalias;
    __ioctl; # arm x86
    __isfinite;
    __isfinitef;
    __isfinitel;
    __isinf;
    __isinff;
    __isinfl;
    __isnan;
    __isnanf;
    __isnanl;
    __isnormal;
    __isnormalf;
    __isnormall;
    __isthreaded; # arm x86 var
    __libc_current_sigrtmax;
    __libc_current_sigrtmin;
    __libc_init;
    __llseek; # arm x86
    __loc_aton;
    __loc_ntoa;
    __memchr_chk; # introduced=23
    __memcpy_chk;
    __memmove_chk;
    __memrchr_chk; # introduced=23
    __memset_chk;
    __mmap2; # arm x86
    __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
    __open_2;
    __openat; # arm x86
    __openat_2;
    __p_cdname;
    __p_cdnname;
    __p_class;
    __p_class_syms; # var
    __p_fqname;
    __p_fqnname;
    __p_option;
    __p_query;
    __p_rcode;
    __p_secstodate;
    __p_time;
    __p_type;
    __p_type_syms; # var
    __poll_chk; # introduced=23
    __ppoll; # arm x86
    __ppoll_chk; # introduced=23
    __ppoll64_chk; # introduced=28
    __pread64_chk; # introduced=23
    __pread_chk; # introduced=23
    __progname; # var
    __pselect6; # arm x86
    __pthread_cleanup_pop;
    __pthread_cleanup_push;
    __ptrace; # arm x86
    __putlong;
    __putshort;
    __read_chk;
    __readlink_chk; # introduced=23
    __readlinkat_chk; # introduced=23
    __reboot; # arm x86
    __recvfrom_chk;
    __register_atfork; # introduced=23
    __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;
    __rt_sigaction; # arm x86
    __rt_sigpending; # arm x86
    __rt_sigprocmask; # arm x86
    __rt_sigsuspend; # arm x86
    __rt_sigtimedwait; # arm x86
    __sched_cpualloc;
    __sched_cpucount;
    __sched_cpufree;
    __sched_getaffinity; # arm x86
    __set_thread_area; # x86
    __set_tid_address; # arm x86
    __set_tls; # arm
    __sF; # var
    __sigaction; # arm x86
    __snprintf_chk;
    __socket; # arm x86
    __sprintf_chk;
    __stack_chk_fail;
    __stack_chk_guard; # var
    __statfs64; # arm x86
    __stpcpy_chk;
    __stpncpy_chk;
    __stpncpy_chk2;
    __strcat_chk;
    __strchr_chk;
    __strcpy_chk;
    __strlcat_chk;
    __strlcpy_chk;
    __strlen_chk;
    __strncat_chk;
    __strncpy_chk;
    __strncpy_chk2;
    __strrchr_chk;
    __sym_ntop;
    __sym_ntos;
    __sym_ston;
    __system_property_area_serial; # introduced=23
    __system_property_find;
    __system_property_find_nth;
    __system_property_foreach;
    __system_property_get;
    __system_property_read;
    __system_property_serial;
    __system_property_set;
    __timer_create; # arm x86
    __timer_delete; # arm x86
    __timer_getoverrun; # arm x86
    __timer_gettime; # arm x86
    __timer_settime; # arm x86
    __umask_chk;
    __vsnprintf_chk;
    __vsprintf_chk;
    __waitid; # arm x86
    _ctype_; # var
    _Exit;
    _exit;
    _flushlbf; # introduced=23
    _getlong;
    _getshort;
    _longjmp;
    _resolv_delete_cache_for_net;
    _resolv_flush_cache_for_net;
    _resolv_set_nameservers_for_net;
    _setjmp;
    _tolower;
    _tolower_tab_; # arm x86 var
    _toupper;
    _toupper_tab_; # arm x86 var
    abort;
    abs;
    accept;
    accept4;
    access;
    acct;
    alarm;
    alphasort;
    alphasort64;
    android_set_abort_message;
    arc4random;
    arc4random_buf;
    arc4random_uniform;
    asctime;
    asctime64; # arm x86
    asctime64_r; # arm x86
    asctime_r;
    asprintf;
    at_quick_exit;
    atof;
    atoi;
    atol;
    atoll;
    basename;
    basename_r; # arm x86
    bind;
    bindresvport;
    brk;
    bsearch;
    btowc;
    c16rtomb;
    c32rtomb;
    cacheflush; # arm
    calloc;
    capget;
    capset;
    cfgetispeed;
    cfgetospeed;
    cfmakeraw;
    cfsetispeed;
    cfsetospeed;
    cfsetspeed;
    chdir;
    chmod;
    chown;
    chroot;
    clearenv;
    clearerr;
    clearerr_unlocked; # introduced=23
    clock;
    clock_getcpuclockid; # introduced=23
    clock_getres;
    clock_gettime;
    clock_nanosleep;
    clock_settime;
    clone;
    close;
    closedir;
    closelog;
    connect;
    creat;
    creat64;
    ctime;
    ctime64; # arm x86
    ctime64_r; # arm x86
    ctime_r;
    daemon;
    daylight; # var
    delete_module;
    difftime;
    dirfd;
    dirname;
    dirname_r; # arm x86
    div;
    dn_expand;
    dprintf;
    drand48;
    dup;
    dup2;
    dup3;
    duplocale;
    endmntent;
    endservent;
    endutent;
    environ; # var
    epoll_create;
    epoll_create1;
    epoll_ctl;
    epoll_pwait;
    epoll_wait;
    erand48;
    err;
    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
    errx;
    ether_aton;
    ether_aton_r;
    ether_ntoa;
    ether_ntoa_r;
    eventfd;
    eventfd_read;
    eventfd_write;
    execl;
    execle;
    execlp;
    execv;
    execve;
    execvp;
    execvpe;
    exit;
    faccessat;
    fallocate;
    fallocate64;
    fchdir;
    fchmod;
    fchmodat;
    fchown;
    fchownat;
    fclose;
    fcntl;
    fdatasync;
    fdopen;
    fdopendir;
    fdprintf; # arm x86 versioned=28
    feof;
    feof_unlocked; # introduced=23
    ferror;
    ferror_unlocked; # introduced=23
    fflush;
    ffs;
    fgetc;
    fgetln;
    fgetpos;
    fgets;
    fgetwc;
    fgetws;
    fgetxattr;
    fileno;
    flistxattr;
    flock;
    flockfile;
    fmemopen; # introduced=23
    fnmatch;
    fopen;
    fork;
    forkpty; # introduced=23
    fpathconf;
    fprintf;
    fpurge;
    fputc;
    fputs;
    fputwc;
    fputws;
    fread;
    free;
    freeaddrinfo;
    freelocale;
    fremovexattr;
    freopen;
    fscanf;
    fseek;
    fseeko;
    fsetpos;
    fsetxattr;
    fstat;
    fstat64;
    fstatat;
    fstatat64;
    fstatfs;
    fstatfs64;
    fstatvfs;
    fstatvfs64;
    fsync;
    ftell;
    ftello;
    ftok;
    ftruncate;
    ftruncate64;
    ftrylockfile;
    fts_children;
    fts_close;
    fts_open;
    fts_read;
    fts_set;
    ftw;
    ftw64;
    funlockfile;
    funopen;
    futimens;
    fwide;
    fwprintf;
    fwrite;
    fwscanf;
    gai_strerror;
    get_avphys_pages; # introduced=23
    get_nprocs; # introduced=23
    get_nprocs_conf; # introduced=23
    get_phys_pages; # introduced=23
    getaddrinfo;
    getauxval;
    getc;
    getc_unlocked;
    getchar;
    getchar_unlocked;
    getcwd;
    getdelim;
    getegid;
    getenv;
    geteuid;
    getgid;
    getgrgid;
    getgrnam;
    getgrouplist;
    getgroups;
    gethostbyaddr;
    gethostbyaddr_r; # introduced=23
    gethostbyname;
    gethostbyname2;
    gethostbyname2_r; # introduced=23
    gethostbyname_r;
    gethostent;
    gethostname;
    getitimer;
    getline;
    getlogin;
    getmntent;
    getmntent_r;
    getnameinfo;
    getnetbyaddr;
    getnetbyname;
    getopt;
    getopt_long;
    getopt_long_only;
    getpagesize;
    getpeername;
    getpgid;
    getpgrp;
    getpid;
    getppid;
    getpriority;
    getprogname;
    getprotobyname;
    getprotobynumber;
    getpt;
    getpwnam;
    getpwnam_r;
    getpwuid;
    getpwuid_r;
    getresgid;
    getresuid;
    getrlimit;
    getrlimit64;
    getrusage;
    gets;
    getservbyname;
    getservbyport;
    getservent;
    getsid;
    getsockname;
    getsockopt;
    gettid;
    gettimeofday;
    getuid;
    getutent;
    getwc;
    getwchar;
    getxattr;
    gmtime;
    gmtime64; # arm x86
    gmtime64_r; # arm x86
    gmtime_r;
    grantpt;
    herror;
    hstrerror;
    htonl;
    htons;
    if_indextoname;
    if_nametoindex;
    imaxabs;
    imaxdiv;
    inet_addr;
    inet_aton;
    inet_lnaof;
    inet_makeaddr;
    inet_netof;
    inet_network;
    inet_nsap_addr;
    inet_nsap_ntoa;
    inet_ntoa;
    inet_ntop;
    inet_pton;
    init_module;
    initgroups;
    initstate;
    inotify_add_watch;
    inotify_init;
    inotify_init1;
    inotify_rm_watch;
    insque;
    ioctl;
    isalnum;
    isalnum_l;
    isalpha;
    isalpha_l;
    isascii;
    isatty;
    isblank;
    isblank_l;
    iscntrl;
    iscntrl_l;
    isdigit;
    isdigit_l;
    isfinite;
    isfinitef;
    isfinitel;
    isgraph;
    isgraph_l;
    isinf;
    isinff;
    isinfl;
    islower;
    islower_l;
    isnan;
    isnanf;
    isnanl;
    isnormal;
    isnormalf;
    isnormall;
    isprint;
    isprint_l;
    ispunct;
    ispunct_l;
    isspace;
    isspace_l;
    isupper;
    isupper_l;
    iswalnum;
    iswalnum_l;
    iswalpha;
    iswalpha_l;
    iswblank;
    iswblank_l;
    iswcntrl;
    iswcntrl_l;
    iswctype;
    iswctype_l;
    iswdigit;
    iswdigit_l;
    iswgraph;
    iswgraph_l;
    iswlower;
    iswlower_l;
    iswprint;
    iswprint_l;
    iswpunct;
    iswpunct_l;
    iswspace;
    iswspace_l;
    iswupper;
    iswupper_l;
    iswxdigit;
    iswxdigit_l;
    isxdigit;
    isxdigit_l;
    jrand48;
    kill;
    killpg;
    klogctl;
    labs;
    lchown;
    lcong48; # introduced=23
    ldexp;
    ldiv;
    lfind;
    lgetxattr;
    link;
    linkat;
    listen;
    listxattr;
    llabs;
    lldiv;
    llistxattr;
    localeconv;
    localtime;
    localtime64; # arm x86
    localtime64_r; # arm x86
    localtime_r;
    login_tty; # introduced=23
    longjmp;
    lrand48;
    lremovexattr;
    lsearch;
    lseek;
    lseek64;
    lsetxattr;
    lstat;
    lstat64;
    madvise;
    mallinfo;
    malloc;
    malloc_info; # introduced=23
    malloc_usable_size;
    mbrlen;
    mbrtoc16;
    mbrtoc32;
    mbrtowc;
    mbsinit;
    mbsnrtowcs;
    mbsrtowcs;
    mbstowcs;
    mbtowc;
    memalign;
    memccpy;
    memchr;
    memcmp;
    memcpy;
    memmem;
    memmove;
    mempcpy; # introduced=23
    memrchr;
    memset;
    mincore;
    mkdir;
    mkdirat;
    mkdtemp;
    mkfifo;
    mkfifoat; # introduced=23
    mknod;
    mknodat;
    mkostemp; # introduced=23
    mkostemp64; # introduced=23
    mkostemps; # introduced=23
    mkostemps64; # introduced=23
    mkstemp;
    mkstemp64;
    mkstemps;
    mkstemps64; # introduced=23
    mktemp;
    mktime;
    mktime64; # arm x86
    mlock;
    mlockall;
    mmap;
    mmap64;
    mount;
    mprotect;
    mrand48;
    mremap;
    msync;
    munlock;
    munlockall;
    munmap;
    nanosleep;
    newlocale;
    nftw;
    nftw64;
    nice;
    nrand48;
    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
    nsdispatch;
    ntohl;
    ntohs;
    open;
    open64;
    open_memstream; # introduced=23
    open_wmemstream; # introduced=23
    openat;
    openat64;
    opendir;
    openlog;
    openpty; # introduced=23
    optarg; # var
    opterr; # var
    optind; # var
    optopt; # var
    optreset; # var
    pathconf;
    pause;
    pclose;
    perror;
    personality;
    pipe;
    pipe2;
    poll;
    popen;
    posix_fadvise;
    posix_fadvise64;
    posix_fallocate;
    posix_fallocate64;
    posix_madvise; # introduced=23
    posix_memalign;
    posix_openpt;
    ppoll;
    prctl;
    pread;
    pread64;
    printf;
    prlimit; # arm64 x86_64 riscv64
    prlimit64;
    process_vm_readv; # introduced=23
    process_vm_writev; # introduced=23
    pselect;
    psiginfo;
    psignal;
    pthread_atfork;
    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;
    pthread_cond_timedwait_monotonic; # arm x86
    pthread_cond_timedwait_monotonic_np; # introduced-arm=9 introduced-x86=9 introduced-arm64=28 introduced-x64_64=28 introduced-riscv64=28
    pthread_cond_timedwait_relative_np; # arm x86
    pthread_cond_timeout_np; # arm x86
    pthread_cond_wait;
    pthread_condattr_destroy;
    pthread_condattr_getclock;
    pthread_condattr_getpshared;
    pthread_condattr_init;
    pthread_condattr_setclock;
    pthread_condattr_setpshared;
    pthread_create;
    pthread_detach;
    pthread_equal;
    pthread_exit;
    pthread_getattr_np;
    pthread_getcpuclockid;
    pthread_getschedparam;
    pthread_getspecific;
    pthread_gettid_np;
    pthread_join;
    pthread_key_create;
    pthread_key_delete;
    pthread_kill;
    pthread_mutex_destroy;
    pthread_mutex_init;
    pthread_mutex_lock;
    pthread_mutex_lock_timeout_np; # arm x86
    pthread_mutex_timedlock;
    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;
    pthread_rwlockattr_getkind_np; # introduced=23
    pthread_rwlockattr_getpshared;
    pthread_rwlockattr_init;
    pthread_rwlockattr_setkind_np; # introduced=23
    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;
    putw; # arm x86
    putwc;
    putwchar;
    pvalloc; # arm x86
    pwrite;
    pwrite64;
    qsort;
    qsort_r; # introduced=36
    quick_exit;
    raise;
    rand;
    rand_r;
    random;
    read;
    readahead;
    readdir;
    readdir64;
    readdir64_r;
    readdir_r;
    readlink;
    readlinkat;
    readv;
    realloc;
    realpath;
    reboot;
    recv;
    recvfrom;
    recvmmsg;
    recvmsg;
    regcomp;
    regerror;
    regexec;
    regfree;
    remove;
    removexattr;
    remque;
    rename;
    renameat;
    res_init;
    res_mkquery;
    res_query;
    res_search;
    rewind;
    rewinddir;
    rmdir;
    sbrk;
    scandir;
    scandir64;
    scanf;
    sched_get_priority_max;
    sched_get_priority_min;
    sched_getaffinity;
    sched_getcpu;
    sched_getparam;
    sched_getscheduler;
    sched_rr_get_interval;
    sched_setaffinity;
    sched_setparam;
    sched_setscheduler;
    sched_yield;
    seed48;
    seekdir; # introduced=23
    select;
    sem_close;
    sem_destroy;
    sem_getvalue;
    sem_init;
    sem_open;
    sem_post;
    sem_timedwait;
    sem_trywait;
    sem_unlink;
    sem_wait;
    send;
    sendfile;
    sendfile64;
    sendmmsg;
    sendmsg;
    sendto;
    setbuf;
    setbuffer;
    setegid;
    setenv;
    seteuid;
    setfsgid;
    setfsuid;
    setgid;
    setgroups;
    sethostname; # introduced=23
    setitimer;
    setjmp;
    setlinebuf;
    setlocale;
    setlogmask;
    setmntent;
    setns;
    setpgid;
    setpgrp;
    setpriority;
    setprogname;
    setregid;
    setresgid;
    setresuid;
    setreuid;
    setrlimit;
    setrlimit64;
    setservent;
    setsid;
    setsockopt;
    setstate;
    settimeofday;
    setuid;
    setutent;
    setvbuf;
    setxattr;
    shutdown;
    sigaction;
    sigaddset;
    sigaltstack;
    sigblock;
    sigdelset;
    sigemptyset;
    sigfillset;
    siginterrupt;
    sigismember;
    siglongjmp;
    signal;
    signalfd;
    sigpending;
    sigprocmask;
    sigqueue; # introduced=23
    sigsetjmp;
    sigsetmask;
    sigsuspend;
    sigtimedwait; # introduced=23
    sigwait;
    sigwaitinfo; # introduced=23
    sleep;
    snprintf;
    socket;
    socketpair;
    splice;
    sprintf;
    srand;
    srand48;
    srandom;
    sscanf;
    stat;
    stat64;
    statfs;
    statfs64;
    statvfs;
    statvfs64;
    stderr; # var introduced=23
    stdin; # var introduced=23
    stdout; # var introduced=23
    stpcpy;
    stpncpy;
    strcasecmp;
    strcasecmp_l; # introduced=23
    strcasestr;
    strcat;
    strchr;
    strcmp;
    strcoll;
    strcoll_l;
    strcpy;
    strcspn;
    strdup;
    strerror;
    strerror_l; # introduced=23
    strerror_r;
    strftime;
    strftime_l;
    strlcat;
    strlcpy;
    strlen;
    strncasecmp;
    strncasecmp_l; # introduced=23
    strncat;
    strncmp;
    strncpy;
    strndup;
    strnlen;
    strpbrk;
    strptime;
    strrchr;
    strsep;
    strsignal;
    strspn;
    strstr;
    strtod;
    strtof;
    strtoimax;
    strtok;
    strtok_r;
    strtol;
    strtold;
    strtold_l;
    strtoll;
    strtoll_l;
    strtoul;
    strtoull;
    strtoull_l;
    strtoumax;
    strxfrm;
    strxfrm_l;
    swapoff;
    swapon;
    swprintf;
    swscanf;
    symlink;
    symlinkat;
    sync;
    sys_siglist; # var
    sys_signame; # var
    syscall;
    sysconf;
    sysinfo;
    syslog;
    system;
    tcdrain;
    tcflow;
    tcflush;
    tcgetattr;
    tcgetpgrp;
    tcgetsid;
    tcsendbreak;
    tcsetattr;
    tcsetpgrp;
    tdelete;
    tdestroy;
    tee;
    telldir; # introduced=23
    tempnam;
    tfind;
    tgkill;
    time;
    timegm;
    timegm64; # arm x86
    timelocal;
    timelocal64; # arm x86
    timer_create;
    timer_delete;
    timer_getoverrun;
    timer_gettime;
    timer_settime;
    timerfd_create;
    timerfd_gettime;
    timerfd_settime;
    times;
    timezone; # var
    tmpfile;
    tmpnam;
    toascii;
    tolower;
    tolower_l;
    toupper;
    toupper_l;
    towlower;
    towlower_l;
    towupper;
    towupper_l;
    truncate;
    truncate64;
    tsearch;
    ttyname;
    ttyname_r;
    twalk;
    tzname; # var
    tzset;
    umask;
    umount;
    umount2;
    uname;
    ungetc;
    ungetwc;
    unlink;
    unlinkat;
    unlockpt;
    unsetenv;
    unshare;
    uselocale;
    usleep;
    utime;
    utimensat;
    utimes;
    utmpname;
    valloc; # arm x86
    vasprintf;
    vdprintf;
    verr;
    verrx;
    vfdprintf; # arm x86 versioned=28
    vfork;
    vfprintf;
    vfscanf;
    vfwprintf;
    vfwscanf;
    vmsplice;
    vprintf;
    vscanf;
    vsnprintf;
    vsprintf;
    vsscanf;
    vswprintf;
    vswscanf;
    vsyslog;
    vwarn;
    vwarnx;
    vwprintf;
    vwscanf;
    wait;
    wait4;
    waitid;
    waitpid;
    warn;
    warnx;
    wcpcpy;
    wcpncpy;
    wcrtomb;
    wcscasecmp;
    wcscasecmp_l; # introduced=23
    wcscat;
    wcschr;
    wcscmp;
    wcscoll;
    wcscoll_l;
    wcscpy;
    wcscspn;
    wcsdup;
    wcsftime;
    wcslcat;
    wcslcpy;
    wcslen;
    wcsncasecmp;
    wcsncasecmp_l; # introduced=23
    wcsncat;
    wcsncmp;
    wcsncpy;
    wcsnlen;
    wcsnrtombs;
    wcspbrk;
    wcsrchr;
    wcsrtombs;
    wcsspn;
    wcsstr;
    wcstod;
    wcstof;
    wcstoimax;
    wcstok;
    wcstol;
    wcstold;
    wcstold_l;
    wcstoll;
    wcstoll_l;
    wcstombs;
    wcstoul;
    wcstoull;
    wcstoull_l;
    wcstoumax;
    wcswidth;
    wcsxfrm;
    wcsxfrm_l;
    wctob;
    wctomb;
    wctype;
    wctype_l;
    wcwidth;
    wmemchr;
    wmemcmp;
    wmemcpy;
    wmemmove;
    wmempcpy; # introduced=23
    wmemset;
    wprintf;
    write;
    writev;
    wscanf;
  local:
    *;
};

LIBC_N { # introduced-arm64=24 introduced-x86=24 introduced-x86_64=24
  global:
    __aeabi_atexit; # arm versioned=24
    __aeabi_memclr; # arm versioned=24
    __aeabi_memclr4; # arm versioned=24
    __aeabi_memclr8; # arm versioned=24
    __aeabi_memcpy; # arm versioned=24
    __aeabi_memcpy4; # arm versioned=24
    __aeabi_memcpy8; # arm versioned=24
    __aeabi_memmove; # arm versioned=24
    __aeabi_memmove4; # arm versioned=24
    __aeabi_memmove8; # arm versioned=24
    __aeabi_memset; # arm versioned=24
    __aeabi_memset4; # arm versioned=24
    __aeabi_memset8; # arm versioned=24
    __fread_chk; # introduced=24
    __fwrite_chk; # introduced=24
    __getcwd_chk; # introduced=24
    __gnu_Unwind_Find_exidx; # arm versioned=24
    __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
    prlimit; # arm x86 introduced=24
    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
} LIBC;

LIBC_O {
  global:
    __sendto_chk; # introduced=26
    __system_property_read_callback; # introduced=26
    __system_property_wait; # introduced=26
    bsd_signal; # arm x86 versioned=26
    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
    mallopt; # 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_P { # introduced=28
  global:
    __freading;
    __free_hook;
    __fseterr;
    __fwriting;
    __malloc_hook;
    __memalign_hook;
    __realloc_hook;
    aligned_alloc;
    endhostent;
    endnetent;
    endprotoent;
    epoll_pwait64;
    fexecve;
    fflush_unlocked;
    fgetc_unlocked;
    fgets_unlocked;
    fputc_unlocked;
    fputs_unlocked;
    fread_unlocked;
    fwrite_unlocked;
    getentropy;
    getnetent;
    getprotoent;
    getrandom;
    getlogin_r;
    glob;
    globfree;
    hcreate;
    hcreate_r;
    hdestroy;
    hdestroy_r;
    hsearch;
    hsearch_r;
    iconv;
    iconv_close;
    iconv_open;
    posix_spawn;
    posix_spawnattr_destroy;
    posix_spawnattr_getflags;
    posix_spawnattr_getpgroup;
    posix_spawnattr_getschedparam;
    posix_spawnattr_getschedpolicy;
    posix_spawnattr_getsigdefault;
    posix_spawnattr_getsigdefault64;
    posix_spawnattr_getsigmask;
    posix_spawnattr_getsigmask64;
    posix_spawnattr_init;
    posix_spawnattr_setflags;
    posix_spawnattr_setpgroup;
    posix_spawnattr_setschedparam;
    posix_spawnattr_setschedpolicy;
    posix_spawnattr_setsigdefault;
    posix_spawnattr_setsigdefault64;
    posix_spawnattr_setsigmask;
    posix_spawnattr_setsigmask64;
    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;
    ppoll64;
    pselect64;
    pthread_attr_getinheritsched;
    pthread_attr_setinheritsched;
    pthread_mutex_timedlock_monotonic_np;
    pthread_mutexattr_getprotocol;
    pthread_mutexattr_setprotocol;
    pthread_rwlock_timedrdlock_monotonic_np;
    pthread_rwlock_timedwrlock_monotonic_np;
    pthread_setschedprio;
    pthread_sigmask64;
    sem_timedwait_monotonic_np;
    sethostent;
    setnetent;
    setprotoent;
    sigaction64;
    sigaddset64;
    sigdelset64;
    sigemptyset64;
    sigfillset64;
    sigismember64;
    signalfd64;
    sigpending64;
    sigprocmask64;
    sigsuspend64;
    sigtimedwait64;
    sigwait64;
    sigwaitinfo64;
    strptime_l;
    swab;
    syncfs;
    wcsftime_l;
    wcstod_l;
    wcstof_l;
    wcstol_l;
    wcstoul_l;
} LIBC_O;

LIBC_Q { # introduced=29
  global:
    ___tls_get_addr; # x86
    __aeabi_read_tp; # arm
    __res_randomid;
    __tls_get_addr; # arm riscv64 x86_64
    android_fdsan_close_with_tag;
    android_fdsan_create_owner_tag;
    android_fdsan_exchange_owner_tag;
    android_fdsan_get_error_level;
    android_fdsan_get_owner_tag;
    android_fdsan_get_tag_type;
    android_fdsan_get_tag_value;
    android_fdsan_set_error_level;
    android_get_device_api_level;
    getloadavg;
    pthread_sigqueue;
    reallocarray;
    timespec_get;

    # Used by libselinux
    __system_properties_init; # apex

    # Used by libmemunreachable
    malloc_backtrace; # apex llndk
    malloc_disable; # apex llndk
    malloc_enable; # apex llndk
    malloc_iterate; # apex llndk

    # Used by libandroid_net
    android_getaddrinfofornet; # apex

    # Used by libandroid_runtime, libcutils, libmedia, and libmediautils
    android_mallopt; # apex llndk
} LIBC_P;

LIBC_R { # introduced=30
  global:
    __mempcpy_chk;
    __tls_get_addr; # arm64
    call_once;
    cnd_broadcast;
    cnd_destroy;
    cnd_init;
    cnd_signal;
    cnd_timedwait;
    cnd_wait;
    memfd_create;
    mlock2;
    mtx_destroy;
    mtx_init;
    mtx_lock;
    mtx_timedlock;
    mtx_trylock;
    mtx_unlock;
    pthread_cond_clockwait;
    pthread_mutex_clocklock;
    pthread_rwlock_clockrdlock;
    pthread_rwlock_clockwrlock;
    renameat2;
    sem_clockwait;
    statx;
    thrd_create;
    thrd_current;
    thrd_detach;
    thrd_equal;
    thrd_exit;
    thrd_join;
    thrd_sleep;
    thrd_yield;
    tss_create;
    tss_delete;
    tss_get;
    tss_set;

    # Unwinder implementation
    __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
} LIBC_Q;

LIBC_S { # introduced=31
  global:
    __libc_get_static_tls_bounds;
    __libc_register_thread_exit_callback;
    __libc_iterate_dynamic_tls;
    __libc_register_dynamic_tls_listeners;
    android_reset_stack_guards;
    ffsl;
    ffsll;
    pidfd_getfd;
    pidfd_open;
    pidfd_send_signal;
    process_madvise;
} LIBC_R;

LIBC_T { # introduced=33
  global:
    backtrace;
    backtrace_symbols;
    backtrace_symbols_fd;
    preadv2;
    preadv64v2;
    pwritev2;
    pwritev64v2;
} LIBC_S;

LIBC_U { # introduced=34
  global:
    __freadahead;
    close_range;
    copy_file_range;
    memset_explicit;
    posix_spawn_file_actions_addchdir_np;
    posix_spawn_file_actions_addfchdir_np;
} LIBC_T;

LIBC_V { # introduced=35
  global:
    android_crash_detail_register;
    android_crash_detail_unregister;
    android_crash_detail_replace_name;
    android_crash_detail_replace_data;
    epoll_pwait2;
    epoll_pwait2_64;
    _Fork;
    localtime_rz;
    mbsrtowcs_l;
    mktime_z;
    __riscv_flush_icache; # riscv64
    __riscv_hwprobe; # riscv64
    strerrorname_np;
    tcgetwinsize;
    tcsetwinsize;
    timespec_getres;
    tzalloc;
    tzfree;
    wcsrtombs_l;
    __system_properties_zygote_reload; # apex
} LIBC_U;

LIBC_PRIVATE {
  global:
    __accept4; # arm x86
    __adddf3; # arm
    __addsf3; # arm
    __aeabi_atexit; # arm
    __aeabi_cdcmpeq; # arm
    __aeabi_cdcmple; # arm
    __aeabi_cdrcmple; # arm
    __aeabi_cfcmpeq; # arm
    __aeabi_cfcmple; # arm
    __aeabi_cfrcmple; # arm
    __aeabi_d2f; # arm
    __aeabi_d2iz; # arm
    __aeabi_d2uiz; # arm
    __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
    __aeabi_fcmpeq; # arm
    __aeabi_fcmpge; # arm
    __aeabi_fcmpgt; # arm
    __aeabi_fcmple; # arm
    __aeabi_fcmplt; # arm
    __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
    __aeabi_memclr; # arm
    __aeabi_memclr4; # arm
    __aeabi_memclr8; # arm
    __aeabi_memcpy; # arm
    __aeabi_memcpy4; # arm
    __aeabi_memcpy8; # arm
    __aeabi_memmove; # arm
    __aeabi_memmove4; # arm
    __aeabi_memmove8; # arm
    __aeabi_memset; # arm
    __aeabi_memset4; # arm
    __aeabi_memset8; # arm
    __aeabi_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
    __bionic_brk; # arm x86
    __bionic_libcrt_compat_symbols; # arm x86
    __cmpdf2; # arm
    __cmpsf2; # arm
    __divdf3; # arm
    __divdi3; # arm x86
    __divsf3; # arm
    __divsi3; # arm
    __dso_handle; # arm
    __eqdf2; # arm
    __eqsf2; # arm
    __extendsfdf2; # arm
    __fixdfsi; # arm
    __fixsfsi; # arm
    __fixunsdfsi; # arm
    __fixunssfsi; # arm
    __floatdidf; # arm
    __floatdisf; # arm
    __floatsidf; # arm
    __floatsisf; # arm
    __floatundidf; # arm
    __floatundisf; # arm
    __floatunsidf; # arm
    __floatunsisf; # arm
    __futex_wait; # arm x86
    __futex_wake; # arm x86
    __gedf2; # arm
    __gesf2; # arm
    __get_thread; # arm x86
    __get_tls; # arm x86
    __getdents64; # arm x86
    __gnu_ldivmod_helper; # arm
    __gnu_uldivmod_helper; # arm
    __gnu_Unwind_Find_exidx; # arm
    __gtdf2; # arm
    __gtsf2; # arm
    __ledf2; # arm
    __lesf2; # arm
    __lshrdi3; # arm
    __ltdf2; # arm
    __ltsf2; # arm
    __muldf3; # arm
    __muldi3; # arm
    __mulsf3; # arm
    __nedf2; # arm
    __nesf2; # arm
    __open; # arm x86
    __page_shift; # arm x86
    __page_size; # arm x86
    __popcount_tab; # arm
    __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
    __subdf3; # arm
    __subsf3; # arm
    __swbuf; # arm x86
    __swrite; # arm x86
    __swsetup; # arm x86
    __truncdfsf2; # arm
    __udivdi3; # arm x86
    __udivsi3; # arm
    __umoddi3; # x86
    __unorddf2; # arm
    __unordsf2; # arm
    __wait4; # arm x86
    _fwalk; # arm x86
    android_getaddrinfofornetcontext;
    android_gethostbyaddrfornet;
    android_gethostbyaddrfornetcontext;
    android_gethostbynamefornet;
    android_gethostbynamefornetcontext;
    android_run_on_all_threads;
    android_unsafe_frame_pointer_chase;
    arc4random_addrandom; # arm x86
    arc4random_stir; # arm x86
    atexit; # arm
    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
} LIBC_Q;

LIBC_DEPRECATED {
  global:
    __system_property_wait_any;
    free_malloc_leak_info; # arm
    get_malloc_leak_info; # arm
};

LIBC_PLATFORM {
  global:
    __system_property_add;
    __system_property_area__; # var
    __system_property_area_init;
    __system_property_set_filename;
    __system_property_update;
    android_fdsan_get_fd_table;
    android_fdtrack_compare_exchange_hook; # llndk
    android_fdtrack_get_enabled; # llndk
    android_fdtrack_set_enabled; # llndk
    android_fdtrack_set_globally_enabled; # llndk
    android_net_res_stats_get_info_for_net;
    android_net_res_stats_aggregate;
    android_net_res_stats_get_usable_servers;
} LIBC_Q;
