'Update the callsites of functions (remove return targets) that are calling functions that are just deemed not
returning.
:param iterable func_addrs: A collection of functions for newly-recovered non-returning functions.
:return:                    None'

def _update_function_callsites(self, noreturns):

    for callee_func in noreturns:
        if (callee_func.addr not in self.functions.callgraph):
            continue
        caller_addrs = self.functions.callgraph.predecessors(callee_func.addr)
        for caller_addr in caller_addrs:
            caller = self.functions[caller_addr]
            if (callee_func not in caller.transition_graph):
                continue
            callsites = caller.transition_graph.predecessors(callee_func)
            for callsite in callsites:
                caller._add_call_site(callsite.addr, callee_func.addr, None)
