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