libc {
  GLIBC_2.0 {
    # functions used in inline functions or macros
     __mbrlen; __mbrtowc; __wcsto*_internal;

    # b*
    btowc;

    # w*
    wcpcpy; wcpncpy; wcrtomb; wcscat; wcschr; wcscmp; wcscoll;
    wcscpy; wcscspn; wcsdup; wcslen; wcsncat; wcsncmp;
    wcsncpy; wcsnrtombs; wcspbrk; wcsrchr; wcsrtombs; wcsspn; wcsstr;
    wcstod; wcstof; wcstok; wcstol; wcstold; wcstoq; wcstoul;
    wcstouq; wcswidth; wcsxfrm; wctob;

    wmemchr; wmemcmp; wmemcpy; wmemmove; wmemset;
  }
  GLIBC_2.1 {
    # w*
    wcscasecmp; wcsncasecmp; wcsnlen; wcstoll;
    wcstoimax; wcstoumax; wcstoull; wcswcs; wmemrtombs; wmemrtowcs;
  }
  GLIBC_2.2 {
    # w*
    wcschrnul; wmempcpy;
  }
  GLIBC_2.7 {
    __isoc99_fwscanf; __isoc99_swscanf; __isoc99_vfwscanf; __isoc99_vswscanf;
    __isoc99_vwscanf; __isoc99_wscanf;
  }
  GLIBC_2.16 {
    c16rtomb; c32rtomb; mbrtoc16; mbrtoc32;
  }
}
