(libs)
return result
Get versioned symbols used in libraries
    :param libs: {realpath: soname} dict to search for versioned symbols e.g.
    {'/path/to/external_ref.so.1.2.3': 'external_ref.so.1'}
    :return: {soname: {depname: set([symbol_version])}} e.g.
    {'external_ref.so.1': {'libc.so.6', set(['GLIBC_2.5','GLIBC_2.12'])}}
Get versioned symbols used in libraries
    :param libs: {realpath: soname} dict to search for versioned symbols e.g.
    {'/path/to/external_ref.so.1.2.3': 'external_ref.so.1'}
    :return: {soname: {depname: set([symbol_version])}} e.g.
    {'external_ref.so.1': {'libc.so.6', set(['GLIBC_2.5','GLIBC_2.12'])}}
Get versioned symbols used in libraries : param libs : { realpath : soname } dict to search for versioned symbols e . g . { / path / to / external_ref . so . 1 . 2 . 3 : external_ref . so . 1 } : return : { soname : { depname : set ( [ symbol_version ] ) }} e . g . { external_ref . so . 1 : { libc . so . 6 set ( [ GLIBC_2 . 5 GLIBC_2 . 12 ] ) }}
def get_versioned_symbols(libs):
    """Get versioned symbols used in libraries
    :param libs: {realpath: soname} dict to search for versioned symbols e.g.
    {'/path/to/external_ref.so.1.2.3': 'external_ref.so.1'}
    :return: {soname: {depname: set([symbol_version])}} e.g.
    {'external_ref.so.1': {'libc.so.6', set(['GLIBC_2.5','GLIBC_2.12'])}}
    """
    result = {}
    for path, elf in elf_file_filter(libs.keys()):
        # {depname: set(symbol_version)}, e.g.
        # {'libc.so.6', set(['GLIBC_2.5','GLIBC_2.12'])}
        elf_versioned_symbols = defaultdict(lambda: set())
        for key, value in elf_find_versioned_symbols(elf):
            log.debug("path %s, key %s, value %s", path, key, value)
            elf_versioned_symbols[key].add(value)
        result[libs[path]] = elf_versioned_symbols
    return result
def get_versioned_symbols ( libs ) : result = { } for path , elf in elf_file_filter ( libs . keys ( ) ) : # {depname: set(symbol_version)}, e.g. # {'libc.so.6', set(['GLIBC_2.5','GLIBC_2.12'])} elf_versioned_symbols = defaultdict ( lambda : set ( ) ) for key , value in elf_find_versioned_symbols ( elf ) : log . debug ( "path %s, key %s, value %s" , path , key , value ) elf_versioned_symbols [ key ] . add ( value ) result [ libs [ path ] ] = elf_versioned_symbols return result