libc {
  GLIBC_2.0 {
    # Exception handling support functions from libgcc
    __register_frame; __register_frame_table; __deregister_frame;
    __frame_state_for; __register_frame_info_table;

    ioperm; iopl;

    vm86;
  }
  GLIBC_2.1 {
    modify_ldt;
  }
  GLIBC_2.2 {
    # functions used in other libraries
    __xstat64; __fxstat64; __lxstat64;

    # a*
    alphasort64;

    # g*
    glob64;

    # New rlimit interface
    getrlimit; setrlimit; getrlimit64;

    # r*
    readdir64; readdir64_r;

    # s*
    scandir64;

    # v*
    versionsort64;
  }
  GLIBC_2.3.3 {
    # p*
    posix_fadvise64; posix_fallocate64;
  }
  GLIBC_2.3.4 {
    # v*
    vm86;
  }
  GLIBC_2.11 {
    # f*
    fallocate64;
  }
  GLIBC_PRIVATE {
    __modify_ldt;
  }
}
