diff options
Diffstat (limited to 'lldb/source/Plugins/ObjectFile/ELF')
| -rw-r--r-- | lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp | 12 | 
1 files changed, 5 insertions, 7 deletions
diff --git a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp index 097c91b..e06e69f 100644 --- a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp +++ b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp @@ -1678,7 +1678,7 @@ static SectionType GetSectionTypeFromName(llvm::StringRef Name) {        .Case(".ARM.exidx", eSectionTypeARMexidx)        .Case(".ARM.extab", eSectionTypeARMextab)        .Case(".ctf", eSectionTypeDebug) -      .Cases(".data", ".tdata", eSectionTypeData) +      .Cases({".data", ".tdata"}, eSectionTypeData)        .Case(".eh_frame", eSectionTypeEHFrame)        .Case(".gnu_debugaltlink", eSectionTypeDWARFGNUDebugAltLink)        .Case(".gosymtab", eSectionTypeGoSymtab) @@ -2735,9 +2735,8 @@ static void ApplyELF64ABS64Relocation(Symtab *symtab, ELFRelocation &rel,      // ObjectFileELF creates a WritableDataBuffer in CreateInstance.      WritableDataBuffer *data_buffer =          llvm::cast<WritableDataBuffer>(data_buffer_sp.get()); -    uint64_t *dst = reinterpret_cast<uint64_t *>( -        data_buffer->GetBytes() + rel_section->GetFileOffset() + -        ELFRelocation::RelocOffset64(rel)); +    void *const dst = data_buffer->GetBytes() + rel_section->GetFileOffset() + +                      ELFRelocation::RelocOffset64(rel);      uint64_t val_offset = value + ELFRelocation::RelocAddend64(rel);      memcpy(dst, &val_offset, sizeof(uint64_t));    } @@ -2762,9 +2761,8 @@ static void ApplyELF64ABS32Relocation(Symtab *symtab, ELFRelocation &rel,      // ObjectFileELF creates a WritableDataBuffer in CreateInstance.      WritableDataBuffer *data_buffer =          llvm::cast<WritableDataBuffer>(data_buffer_sp.get()); -    uint32_t *dst = reinterpret_cast<uint32_t *>( -        data_buffer->GetBytes() + rel_section->GetFileOffset() + -        ELFRelocation::RelocOffset32(rel)); +    void *const dst = data_buffer->GetBytes() + rel_section->GetFileOffset() + +                      ELFRelocation::RelocOffset32(rel);      memcpy(dst, &truncated_addr, sizeof(uint32_t));    }  }  | 
