Return [(MemMap, value), ...]

def find_symbol(pid, symbol):
    """Return [(MemMap, value), ...]"""
    for mapping in read_proc_maps(pid):

        if not mapping.filename or not os.path.exists(mapping.filename):
            continue
        # We're interested only in the main mapping for each library
        # It looks like executable bit and 0 offset suits our needs
        if 'x' not in mapping.perms or mapping.offset:
            continue

        offset = find_symbol_in_file(mapping.filename, symbol)

        # This is probably horribly wrong, we say
        # that symbol has absolute value if it is located in executable
        absolute = os.path.samefile(mapping.filename, get_pid_executable(pid))

        if offset is not None:
            yield mapping, offset, absolute