libm {
  GLIBC_2.1 {
    # symbols used in macros from sysdeps/powerpc/bits/fenv.h
    __fe_dfl_env; __fe_enabled_env; __fe_nonieee_env; __fe_nomask_env;
  }
  GLIBC_2.25 {
    __fe_dfl_mode;
  }
}

libc {
  GLIBC_2.3.4 {
    _longjmp; __sigsetjmp; _setjmp;
    longjmp; setjmp;
  }
  GLIBC_PRIVATE {
    __novmx__libc_longjmp; __novmx__libc_siglongjmp;
    __vmx__libc_longjmp; __vmx__libc_siglongjmp;
  }
}

ld {
  GLIBC_2.22 {
    __tls_get_addr_opt;
  }
  GLIBC_2.23 {
    # Symbol used to version control when the ABI started to specify that HWCAP
    # and AT_PLATFORM data should be stored into the TCB.
    __parse_hwcap_and_convert_at_platform;
  }
}
