[PATCH] D81063: [DWARFYAML][debug_aranges] Replace InitialLength by Format and Length.

Xing GUO via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 3 01:36:08 PDT 2020


Higuoxing created this revision.
Higuoxing added reviewers: jhenderson, grimar, MaskRay.
Herald added subscribers: llvm-commits, hiraditya, aprantl, emaste.
Herald added a reviewer: espindola.
Herald added a project: LLVM.
Higuoxing added a parent revision: D80972: [ObjectYAML][DWARF] Support emitting the .debug_aranges section in ELFYAML..

This patch addresses the comment in D80972 <https://reviews.llvm.org/D80972#inline-744217>.

Before this patch, the initial length field of .debug_aranges section should be declared as:

  ## 32-bit DWARF
  debug_aranges:
    - Length:
        TotalLength: 0x20
      Version: 2
      ...
  
  ## 64-bit DWARF
  debug_aranges:
    - Length:
        TotalLength:   0xffffffff
        TotalLength64: 0x20
      Version: 2
      ...

After this patch:

  ## 32-bit DWARF
  debug_aranges:
    - Format:  DWARF32
      Length:  0x20
      Version: 2
      ...
  
  ## 64-bit DWARF
  debug_aranges:
    - Format:  DWARF64
      [[LengthPrefix: 0xfffffff0]] ## Custom prefix (optional).
      Length:  0x20
      Version: 2

Current implementation of generating DWARF64 .debug_aranges section is buggy. A follow-up patch will improve it and add test cases for DWARF64.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D81063

Files:
  llvm/include/llvm/ObjectYAML/DWARFYAML.h
  llvm/lib/ObjectYAML/DWARFEmitter.cpp
  llvm/lib/ObjectYAML/DWARFYAML.cpp
  llvm/test/ObjectYAML/MachO/DWARF-debug_aranges.yaml
  llvm/test/ObjectYAML/MachO/DWARF-debug_info.yaml
  llvm/test/ObjectYAML/MachO/DWARF-debug_line.yaml
  llvm/test/ObjectYAML/MachO/DWARF5-debug_info.yaml
  llvm/test/tools/llvm-gsymutil/ARM_AArch64/fat-macho-dwarf.yaml
  llvm/test/tools/llvm-gsymutil/X86/mach-dwarf.yaml
  llvm/test/tools/obj2yaml/MachO/DWARF-debug_aranges-error.yaml
  llvm/test/tools/yaml2obj/ELF/DWARF/debug-aranges.yaml
  llvm/tools/obj2yaml/dwarf2yaml.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D81063.268079.patch
Type: text/x-patch
Size: 9763 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200603/7ba166d8/attachment.bin>


More information about the llvm-commits mailing list