Cache referenced symbol table when pulling data in relocation section

Change-Id: I6ef21cedde1aca6fd1ec5e5d5634563f030eaab8


[ROCm/ROCR-Runtime commit: 8a6edb07d9]
이 커밋은 다음에 포함됨:
Konstantin Zhuravlyov 작성하고 Konstantin Zhuravlyov가 2023-06-21 16:35:45 -04:00를 커밋함
1 부모 dbf125b5cf
커밋 e126b5a054
1 파일이 변경됨
+5 -1
+5 -1
파일 보기
@@ -711,6 +711,10 @@ namespace elf {
GElfStringTable* shstrtab() override;
GElfStringTable* strtab() override;
GElfSymbolTable* getReferencedSymbolTable(uint16_t index)
{
return static_cast<GElfSymbolTable*>(section(index));
}
GElfSymbolTable* getSymtab(uint16_t index) override
{
if (section(index)->type() == SHT_SYMTAB)
@@ -1261,7 +1265,7 @@ namespace elf {
bool GElfRelocationSection::pullData()
{
section = elf->section(hdr.sh_info);
symtab = elf->getSymtab(hdr.sh_link);
symtab = elf->getReferencedSymbolTable(hdr.sh_link);
Elf_Scn *lScn = elf_getscn(elf->e, ndxscn);
assert(lScn);
Elf_Data *lData = elf_getdata(lScn, nullptr);