Skip to content

Commit

Permalink
Only do endianess translation for powerpc binaries
Browse files Browse the repository at this point in the history
  • Loading branch information
mxz297 committed Aug 29, 2017
1 parent 6cf6531 commit c3b8338
Showing 1 changed file with 10 additions and 10 deletions.
20 changes: 10 additions & 10 deletions symtabAPI/src/Object-elf.C
Expand Up @@ -622,16 +622,16 @@ bool Object::loaded_elf(Offset& txtaddr, Offset& dataddr,
if (!scn.isFromDebugFile()) {
allRegionHdrs.push_back(&scn);
Elf_X_Data data = scn.get_data();
if(strcmp(name, OPD_NAME) == 0 || strcmp(name, GOT_NAME) == 0)
{
data.d_type(ELF_T_XWORD);
data.xlatetom(elfHdr->e_endian() ? ELFDATA2MSB : ELFDATA2LSB);
}
if(strcmp(name, TEXT_NAME) == 0 || strcmp(name, ".rodata") == 0)
{
data.d_type(ELF_T_WORD);
data.xlatetom(elfHdr->e_endian() ? ELFDATA2MSB : ELFDATA2LSB);
}
if (elfHdr->e_machine() == EM_PPC || elfHdr->e_machine() == EM_PPC64) {
if(strcmp(name, OPD_NAME) == 0 || strcmp(name, GOT_NAME) == 0) {
data.d_type(ELF_T_XWORD);
data.xlatetom(elfHdr->e_endian() ? ELFDATA2MSB : ELFDATA2LSB);
}
if(strcmp(name, TEXT_NAME) == 0 || strcmp(name, ".rodata") == 0) {
data.d_type(ELF_T_WORD);
data.xlatetom(elfHdr->e_endian() ? ELFDATA2MSB : ELFDATA2LSB);
}
}

if(scn.sh_flags() & SHF_ALLOC) {
// .bss, etc. have a disk size of 0
Expand Down

0 comments on commit c3b8338

Please sign in to comment.