libc {
  GLIBC_2.0 {
    # functions used in inline functions or macros
    __cmsg_nxthdr;

    # functions used in other libraries
    __clone;

    # helper functions
    __errno_location;

    # b*
    bdflush;

    # c*
    clone; create_module;

    # d*
    delete_module;

    # g*
    get_kernel_syms; getresgid; getresuid;

    # i*
    init_module;

    # k*
    klogctl;

    # l*
    llseek;

    # m*
    mremap;

    # n*
    nfsservctl;

    # p*
    personality; prctl;

    # q*
    query_module; quotactl;

    # s*
    setfsgid; setfsuid;

    # s*
    setresgid; setresuid; swapoff; swapon; sysctl;

    # u*
    umount; uselib;
  }
  GLIBC_2.1 {
    # functions used in inline functions or macros
    __libc_sa_len;

    # Since we have new signals this structure changed.
    _sys_siglist; sys_siglist; sys_sigabbrev;

    # New errlist.
    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;

    # chown interface change.
    chown;

    # Change in pthread_attr_t.
    pthread_attr_init;

    # c*
    capget; capset;

    # n*
    ntp_adjtime; ntp_gettime;

    # s*
    sendfile;

    # u*
    umount2;
  }
  GLIBC_2.2 {
    # needed in other libraries.
    __endmntent; __getmntent_r; __setmntent; __statfs; __sysctl;

    # ipc ctl interface change.
    semctl; shmctl; msgctl;
  }
  GLIBC_2.2.1 {
    # p*
    pivot_root;
  }
  GLIBC_PRIVATE {
    # needed by libpthread.
    __libc_sigaction;

    # functions used in other libraries
    __syscall_rt_sigqueueinfo;
  }
}