libc {
  GLIBC_2.2 {
    # functions used in other libraries

    # g*
    glob64;

    # New rlimit interface
    getrlimit; setrlimit; getrlimit64; setrlimit64;

    # r*
    readdir64; readdir64_r;

    # s*
    scandir64;
  }
  GLIBC_2.3.4 {
    getcontext;
    setcontext;
    swapcontext;
  }
  GLIBC_2.17 {
    __ppc_get_timebase_freq;
  }
}

librt {
  GLIBC_2.3.3 {
    # Changed timer_t.
    timer_create; timer_delete; timer_getoverrun; timer_gettime;
    timer_settime;
  }
}

libpthread {
  GLIBC_2.3.4 {
    longjmp; siglongjmp;
  }
  GLIBC_2.6 {
    # Changed PTHREAD_STACK_MIN.
    pthread_attr_setstack; pthread_attr_setstacksize;
  }
}
