# 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:
    dlvsym;
} LIBC;

LIBC_PLATFORM {
  global:
    android_dlwarning;
    android_get_application_target_sdk_version;
    android_set_application_target_sdk_version;
    android_get_LD_LIBRARY_PATH;
    android_update_LD_LIBRARY_PATH;
    android_init_namespaces;
    android_create_namespace;
} LIBC_N;
