/branches/dynload/uspace/lib/rtld/symbol.c |
---|
212,8 → 212,15 |
} |
} |
/* Otherwise start in the executable program */ |
return symbol_bfs_find(name, runtime_env->program, mod); |
/* Not DT_SYMBOLIC or no match. Now try other locations. */ |
if (runtime_env->program) { |
/* Program is dynamic -- start with program as root. */ |
return symbol_bfs_find(name, runtime_env->program, mod); |
} else { |
/* Program is static -- start with @a origin as root. */ |
return symbol_bfs_find(name, origin, mod); |
} |
} |
uintptr_t symbol_get_addr(elf_symbol_t *sym, module_t *m) |