diff --git a/tools/llvm-objcopy/ELF/Object.cpp b/tools/llvm-objcopy/ELF/Object.cpp index 7cceb70ca63..43c0564c986 100644 --- a/tools/llvm-objcopy/ELF/Object.cpp +++ b/tools/llvm-objcopy/ELF/Object.cpp @@ -171,8 +171,7 @@ getDecompressedSizeAndAlignment(ArrayRef Data) { const bool IsGnuDebug = isDataGnuCompressed(Data); const uint64_t DecompressedSize = IsGnuDebug - ? support::endian::read64be(reinterpret_cast( - Data.data() + ZlibGnuMagic.size())) + ? support::endian::read64be(Data.data() + ZlibGnuMagic.size()) : reinterpret_cast *>(Data.data())->ch_size; const uint64_t DecompressedAlign = IsGnuDebug ? 1 @@ -742,12 +741,11 @@ GnuDebugLinkSection::GnuDebugLinkSection(StringRef File) : FileName(File) { template void ELFSectionWriter::visit(const GnuDebugLinkSection &Sec) { - auto Buf = Out.getBufferStart() + Sec.Offset; - char *File = reinterpret_cast(Buf); + unsigned char *Buf = Out.getBufferStart() + Sec.Offset; Elf_Word *CRC = reinterpret_cast(Buf + Sec.Size - sizeof(Elf_Word)); *CRC = Sec.CRC32; - llvm::copy(Sec.FileName, File); + llvm::copy(Sec.FileName, Buf); } void GnuDebugLinkSection::accept(SectionVisitor &Visitor) const {