commit d0b2355e4cfad4ef4352be90b9c3ceef89648d91 (from 6e1b36f62c0830978ab4db44f763e030cc74a18d) Merge: 6e1b36f62c08 833960213a6b Author: Bill Williams Date: Thu Aug 18 12:24:35 2016 -0500 Merge pull request #156 from cuviper/ppc64-rel-type symtabAPI: use the known type for new relocations diff --git a/symtabAPI/src/emitElf.C b/symtabAPI/src/emitElf.C index 12dae8e3299f..f7edb211fb06 100644 --- a/symtabAPI/src/emitElf.C +++ b/symtabAPI/src/emitElf.C @@ -2121,10 +2121,10 @@ void emitElf::createRelocationSections(std::vector &r rels[j].r_offset = newRels[i].rel_addr() + library_adjust; if (dynSymNameMapping.find(newRels[i].name()) != dynSymNameMapping.end()) { rels[j].r_info = ElfTypes::makeRelocInfo(dynSymNameMapping[newRels[i].name()], - relocationEntry::getGlobalRelType(obj->getAddressWidth())); + newRels[i].getRelType()); } else { rels[j].r_info = ElfTypes::makeRelocInfo((unsigned long) (STN_UNDEF), - relocationEntry::getGlobalRelType(obj->getAddressWidth())); + newRels[i].getRelType()); } j++; l++; @@ -2134,10 +2134,10 @@ void emitElf::createRelocationSections(std::vector &r //if( relas[k].r_addend ) relas[k].r_addend += library_adjust; if (dynSymNameMapping.find(newRels[i].name()) != dynSymNameMapping.end()) { relas[k].r_info = ElfTypes::makeRelocInfo(dynSymNameMapping[newRels[i].name()], - relocationEntry::getGlobalRelType(obj->getAddressWidth())); + newRels[i].getRelType()); } else { relas[k].r_info = ElfTypes::makeRelocInfo((unsigned long) (STN_UNDEF), - relocationEntry::getGlobalRelType(obj->getAddressWidth())); + newRels[i].getRelType()); } k++; m++;