int thread_db_look_up_one_symbol (const char *name, CORE_ADDR *addrp) { struct thread_db *thread_db = current_process ()->priv->thread_db; int may_ask_gdb = !thread_db->all_symbols_looked_up; /* If we've passed the call to thread_db_look_up_symbols, then anything not in the cache must not exist; we're not interested in any libraries loaded after that point, only in symbols in libpthread.so. It might not be an appropriate time to look up a symbol, e.g. while we're trying to fetch registers. */ return look_up_one_symbol (name, addrp, may_ask_gdb); }
static void thread_db_look_up_symbols (void) { struct thread_db *thread_db = current_process ()->priv->thread_db; const char **sym_list; CORE_ADDR unused; for (sym_list = thread_db->td_symbol_list_p (); *sym_list; sym_list++) look_up_one_symbol (*sym_list, &unused, 1); /* We're not interested in any other libraries loaded after this point, only in symbols in libpthread.so. */ thread_db->all_symbols_looked_up = 1; }