0
在符号表中,只有符号名称的偏移量,但没有符号属于哪个库的信息。ELF文件中的解析函数如何知道哪些库是符号?
typedef struct { Elf32_Word st_name; Elf32_Addr st_value; Elf32_Word st_size; unsigned char st_info; /* bind, type: ELF_32_ST_... */ unsigned char st_other; Elf32_Half st_shndx; /* SHN_... */ } Elf32_Sym;
当解析函数被调用在运行时,该符号表和另一个DWORD的偏移被传递给它。该DWORD与符号的lib有关吗?如果没有,那么解析函数如何找到符号的库?
是的,ELF与Windows PE文件的对比,我认为Apple Mac-O格式不会将导出的符号绑定到给定的动态库:在全部库中搜索宽度优先的搜索(在边缘为'DT_NEEDED'条目 - 这是ELF模块的依赖关系)。使用的图形是全局图形,而不是当前ELF文件的子图形。 – ysdx 2015-08-21 11:03:46