Changeset 3e828ea in mainline for uspace/lib/c/generic/dlfcn.c
- Timestamp:
- 2019-09-23T12:49:29Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 9be2358
- Parents:
- 9259d20 (diff), 1a4ec93f (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - git-author:
- Jiri Svoboda <jiri@…> (2019-09-22 12:49:07)
- git-committer:
- Jiri Svoboda <jiri@…> (2019-09-23 12:49:29)
- File:
-
- 1 edited
-
uspace/lib/c/generic/dlfcn.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/dlfcn.c
r9259d20 r3e828ea 35 35 */ 36 36 37 #include <errno.h> 37 38 #include <stdio.h> 38 39 #include <stdlib.h> … … 44 45 #include <rtld/module.h> 45 46 #include <rtld/rtld.h> 47 #include <rtld/rtld_arch.h> 46 48 #include <rtld/symbol.h> 47 49 … … 53 55 if (m == NULL) { 54 56 m = module_load(runtime_env, path, mlf_local); 55 module_load_deps(m, mlf_local); 57 if (m == NULL) { 58 return NULL; 59 } 60 61 if (module_load_deps(m, mlf_local) != EOK) { 62 return NULL; 63 } 64 56 65 /* Now relocate. */ 57 66 module_process_relocs(m); … … 71 80 sd = symbol_bfs_find(sym_name, (module_t *) mod, &sm); 72 81 if (sd != NULL) { 73 return symbol_get_addr(sd, sm, __tcb_get()); 82 if (elf_st_type(sd->st_info) == STT_FUNC) 83 return func_get_addr(sd, sm); 84 else 85 return symbol_get_addr(sd, sm, __tcb_get()); 74 86 } 75 87
Note:
See TracChangeset
for help on using the changeset viewer.
