[all-commits] [llvm/llvm-project] 575d9b: [llvm-dwp] Refuse DWARFv5 input DWP files.

Igor Kudrin via All-commits all-commits at lists.llvm.org
Sat Apr 25 05:00:14 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 575d9ba107f4f9c6ec345ed972eaac99ad9354f7
      https://github.com/llvm/llvm-project/commit/575d9ba107f4f9c6ec345ed972eaac99ad9354f7
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2020-04-25 (Sat, 25 Apr 2020)

  Changed paths:
    M llvm/include/llvm/DebugInfo/DWARF/DWARFUnitIndex.h
    A llvm/test/tools/llvm-dwp/X86/unsupported_cu_index_version.s
    A llvm/test/tools/llvm-dwp/X86/unsupported_tu_index_version.s
    M llvm/tools/llvm-dwp/llvm-dwp.cpp

  Log Message:
  -----------
  [llvm-dwp] Refuse DWARFv5 input DWP files.

The library can parse DWARFv5 unit index sections of DWP files, but
llvm-dwp is not ready to process them. Refuse such input files for now.

Differential Revision: https://reviews.llvm.org/D77143


  Commit: d1d5f0b10341fbc26c2907241124ffc2585b8ea1
      https://github.com/llvm/llvm-project/commit/d1d5f0b10341fbc26c2907241124ffc2585b8ea1
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2020-04-25 (Sat, 25 Apr 2020)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
    M llvm/test/DebugInfo/X86/dwarfdump-str-offsets-invalid-5.s
    A llvm/test/DebugInfo/X86/dwarfdump-str-offsets-v4-dwarf64-dwo.s
    A llvm/test/DebugInfo/X86/dwarfdump-str-offsets-v4-dwarf64-dwp.s

  Log Message:
  -----------
  [DebugInfo][DWARF64] Fix dumping pre-standard .debug_str_offsets.dwo sections.

The sizes of offsets in the `.debug_str_offsets.dwo` section depend on
the format of compilation or type units referencing them: 4 bytes for
DWARF32 units and 8 bytes for DWARF64 ones. The fix uses parsed units
to determine the actual size of offsets in the corresponding part of
the `.debug_str_offsets.dwo` section.

Differential Revision: https://reviews.llvm.org/D78555


  Commit: 66e4eb9c1bbd1cc571393a88787157a8ae6abdc1
      https://github.com/llvm/llvm-project/commit/66e4eb9c1bbd1cc571393a88787157a8ae6abdc1
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2020-04-25 (Sat, 25 Apr 2020)

  Changed paths:
    M lld/ELF/Symbols.h
    M lld/ELF/Writer.cpp
    M lld/test/ELF/emit-relocs-discard-locals.s
    M lld/test/ELF/relocatable-discard-locals.s

  Log Message:
  -----------
  [LLD][ELF] Implement --discard-* for cases when -r or --emit-relocs are used.

When discarding local symbols with --discard-all or --discard-locals,
the ones which are used in relocations should be preserved. LLD used
the simplest approach and just ignored those switches when -r or
--emit-relocs was specified.

The patch implements handling the --discard-* switches for the cases
when relocations are kept by identifying used local symbols and allowing
removing only unused ones. This makes the behavior of LLD compatible
with GNU linkers.

Differential Revision: https://reviews.llvm.org/D77807


Compare: https://github.com/llvm/llvm-project/compare/73868a285094...66e4eb9c1bbd


More information about the All-commits mailing list