ELFUTILS_1.0 {
  global:
    elf32_checksum;
    elf32_fsize;
    elf32_getehdr;
    elf32_getphdr;
    elf32_getshdr;
    elf32_newehdr;
    elf32_newphdr;
    elf32_xlatetof;
    elf32_xlatetom;
    elf64_checksum;
    elf64_fsize;
    elf64_getehdr;
    elf64_getphdr;
    elf64_getshdr;
    elf64_newehdr;
    elf64_newphdr;
    elf64_xlatetof;
    elf64_xlatetom;
    elf_begin;
    elf_clone;
    elf_cntl;
    elf_end;
    elf_errmsg;
    elf_errno;
    elf_fill;
    elf_flagdata;
    elf_flagehdr;
    elf_flagelf;
    elf_flagphdr;
    elf_flagscn;
    elf_flagshdr;
    elf_getarhdr;
    elf_getarsym;
    elf_getbase;
    elf_getdata;
    elf_getident;
    elf_getscn;
    elf_getshnum;
    elf_getshstrndx;
    elf_hash;
    elf_kind;
    elf_memory;
    elf_ndxscn;
    elf_newdata;
    elf_newscn;
    elf_next;
    elf_nextscn;
    elf_rand;
    elf_rawdata;
    elf_rawfile;
    elf_scncnt;
    elf_strptr;
    elf_update;
    elf_version;
    gelf_checksum;
    gelf_fsize;
    gelf_getclass;
    gelf_getdyn;
    gelf_getehdr;
    gelf_getmove;
    gelf_getphdr;
    gelf_getrel;
    gelf_getrela;
    gelf_getshdr;
    gelf_getsym;
    gelf_getsyminfo;
    gelf_getsymshndx;
    gelf_getverdaux;
    gelf_getverdef;
    gelf_getvernaux;
    gelf_getverneed;
    gelf_getversym;
    gelf_newehdr;
    gelf_newphdr;
    gelf_update_dyn;
    gelf_update_ehdr;
    gelf_update_move;
    gelf_update_phdr;
    gelf_update_rel;
    gelf_update_rela;
    gelf_update_shdr;
    gelf_update_sym;
    gelf_update_syminfo;
    gelf_update_symshndx;
    gelf_update_verdaux;
    gelf_update_verdef;
    gelf_update_vernaux;
    gelf_update_verneed;
    gelf_update_versym;
    gelf_xlatetof;
    gelf_xlatetom;
    nlist;

  local:
    *;
};

ELFUTILS_1.1 {
  global:
    gelf_getlib;
    gelf_update_lib;
} ELFUTILS_1.0;

ELFUTILS_1.1.1 {
  global:
    elf32_offscn;
    elf64_offscn;
    gelf_offscn;
    elf_getaroff;
} ELFUTILS_1.1;

ELFUTILS_1.2 {
  global:
    elf_gnu_hash;
} ELFUTILS_1.1.1;

ELFUTILS_1.3 {
  global:
    elf_getdata_rawchunk;
    gelf_getauxv;
    gelf_update_auxv;
    gelf_getnote;
} ELFUTILS_1.2;

ELFUTILS_1.4 {
  global:
    elf_scnshndx;
} ELFUTILS_1.3;

ELFUTILS_1.5 {
  global:
    elf_getshdrnum; elf_getshdrstrndx;
} ELFUTILS_1.4;

ELFUTILS_1.6 {
  global:
    elf_getphdrnum;
} ELFUTILS_1.5;

ELFUTILS_1.7 {
  global:
    elf32_getchdr;
    elf64_getchdr;
    gelf_getchdr;

    elf_compress;
    elf_compress_gnu;
} ELFUTILS_1.6;
