diff options
| author | Martin Storsjo <martin@martin.st> | 2019-01-22 10:58:18 +0000 | 
|---|---|---|
| committer | Martin Storsjo <martin@martin.st> | 2019-01-22 10:58:18 +0000 | 
| commit | 1bf1964a151af224c624b583a7289baf797bb098 (patch) | |
| tree | 8aa22bd22daa71562f70068c64793951da5523f4 /llvm/tools/llvm-objcopy/COFF/Writer.cpp | |
| parent | 9ec18a37187cbe31a0e7d012b7e8193f293a1b67 (diff) | |
| download | bcm5719-llvm-1bf1964a151af224c624b583a7289baf797bb098.tar.gz bcm5719-llvm-1bf1964a151af224c624b583a7289baf797bb098.zip | |
[llvm-objcopy] [COFF] Implement --add-gnu-debuglink
Differential Revision: https://reviews.llvm.org/D57007
llvm-svn: 351801
Diffstat (limited to 'llvm/tools/llvm-objcopy/COFF/Writer.cpp')
| -rw-r--r-- | llvm/tools/llvm-objcopy/COFF/Writer.cpp | 9 | 
1 files changed, 5 insertions, 4 deletions
| diff --git a/llvm/tools/llvm-objcopy/COFF/Writer.cpp b/llvm/tools/llvm-objcopy/COFF/Writer.cpp index 4f57131d5ab..5ea3707e971 100644 --- a/llvm/tools/llvm-objcopy/COFF/Writer.cpp +++ b/llvm/tools/llvm-objcopy/COFF/Writer.cpp @@ -286,14 +286,15 @@ void COFFWriter::writeHeaders(bool IsBigObj) {  void COFFWriter::writeSections() {    for (const auto &S : Obj.getSections()) {      uint8_t *Ptr = Buf.getBufferStart() + S.Header.PointerToRawData; -    std::copy(S.Contents.begin(), S.Contents.end(), Ptr); +    ArrayRef<uint8_t> Contents = S.getContents(); +    std::copy(Contents.begin(), Contents.end(), Ptr);      // For executable sections, pad the remainder of the raw data size with      // 0xcc, which is int3 on x86.      if ((S.Header.Characteristics & IMAGE_SCN_CNT_CODE) && -        S.Header.SizeOfRawData > S.Contents.size()) -      memset(Ptr + S.Contents.size(), 0xcc, -             S.Header.SizeOfRawData - S.Contents.size()); +        S.Header.SizeOfRawData > Contents.size()) +      memset(Ptr + Contents.size(), 0xcc, +             S.Header.SizeOfRawData - Contents.size());      Ptr += S.Header.SizeOfRawData;      for (const auto &R : S.Relocs) { | 

