# Generated by genversionscripts.py. Do not edit.

LIBC {
  global:
    android_dlopen_ext;
    dl_iterate_phdr;
    dl_unwind_find_exidx; # arm
    dladdr;
    dlclose;
    dlerror;
    dlopen;
    dlsym;
  local:
    *;
};

LIBC_N {
  global:
    android_init_namespaces;
    android_create_namespace;
} LIBC;

LIBC_PRIVATE {
  global:
    android_get_application_target_sdk_version;
    android_set_application_target_sdk_version;
    android_get_LD_LIBRARY_PATH;
    android_update_LD_LIBRARY_PATH;
} LIBC_N;
