• Lucian Grijincu's avatar
    fbcode: symbolizer: clang-12 DWARF5 emits Split DWARF inlining as... · eca99293
    Lucian Grijincu authored
    fbcode: symbolizer: clang-12 DWARF5 emits Split DWARF inlining as DW_TAG_skeleton_unit instead of DW_TAG_compile_unit
    
    Summary:
    ```name=clang-9
    $ llvm-dwarfdump --show-form buck-out/gen/aab7ed39/folly/experimental/symbolizer/test/symbolizer_test_utils_dwarf5_split_dwarf_inlining#compile-SymbolizerTestUtils.cpp.o1ef1b890\,platform009-clang/SymbolizerTestUtils.cpp.o
    .debug_info contents:
    0x00000000: Compile Unit: length = 0x00000127, format = DWARF32, version = 0x0005, unit_type = DW_UT_skeleton, abbr_offset = 0x0000, addr_size = 0x08, DWO_id = 0x7d3c88943756aebb (next unit at 0x0000012b)
    
    0x00000014: DW_TAG_compile_unit
                  DW_AT_stmt_list   (0x00000000)
                  DW_AT_str_offsets_base    (0x00000008)
                  DW_AT_comp_dir    (".")
                  DW_AT_GNU_pubnames        (true)
                  DW_AT_GNU_dwo_name        ("buck-out/dbg/gen/aab7ed39/folly/experimental/symbolizer/test/symbolizer_test_utils_dwarf5_split_dwarf_inlining#compile-SymbolizerTestUtils.cpp.o1ef1b890,platform009-clang/SymbolizerTestUtils.cpp.o")
                  DW_AT_low_pc      (0x0000000000000000)
                  DW_AT_ranges      (indexed (0x0) rangelist = 0x00000010
                     [0x0000000000000000, 0x000000000000005b)
                     [0x0000000000000000, 0x0000000000000065)
                     [0x0000000000000000, 0x000000000000005a)
                     [0x0000000000000000, 0x0000000000000065)
                     [0x0000000000000000, 0x000000000000000b)
                     [0x0000000000000000, 0x0000000000000076)
                     [0x0000000000000000, 0x0000000000000014)
                     [0x0000000000000000, 0x0000000000000065)
                     [0x0000000000000000, 0x0000000000000076)
                     [0x0000000000000000, 0x0000000000000014)
                     [0x0000000000000000, 0x0000000000000065)
                     [0x0000000000000000, 0x0000000000000085)
                     [0x0000000000000000, 0x000000000000000b))
                  DW_AT_addr_base   (0x00000008)
                  DW_AT_rnglists_base       (0x0000000c)
    
    ```
    ```name=clang-12
    $ llvm-dwarfdump --show-form buck-out/gen/aab7ed39/folly/experimental/symbolizer/test/symbolizer_test_utils_dwarf5_split_dwarf_inlining#compile-SymbolizerTestUtils.cpp.o1ef1b890\,platform009-clang-12/SymbolizerTestUtils.cpp.o
    .debug_info contents:
    0x00000000: Compile Unit: length = 0x00000127, format = DWARF32, version = 0x0005, unit_type = DW_UT_skeleton, abbr_offset = 0x0000, addr_size = 0x08, DWO_id = 0xb881aa098abf71b5 (next unit at 0x0000012b)
    
    0x00000014: DW_TAG_skeleton_unit
                  DW_AT_stmt_list [DW_FORM_sec_offset]	(0x00000000)
                  DW_AT_str_offsets_base [DW_FORM_sec_offset]	(0x00000008)
                  DW_AT_comp_dir [DW_FORM_strx1]	(".")
                  DW_AT_GNU_pubnames [DW_FORM_flag_present]	(true)
                  DW_AT_dwo_name [DW_FORM_strx1]	("buck-out/dbg/gen/aab7ed39/folly/experimental/symbolizer/test/symbolizer_test_utils_dwarf5_split_dwarf_inlining#compile-SymbolizerTestUtils.cpp.o1ef1b890,platform009-clang-12/SymbolizerTestUtils.cpp.o")
                  DW_AT_low_pc [DW_FORM_addr]	(0x0000000000000000)
                  DW_AT_ranges [DW_FORM_rnglistx]	(indexed (0x0) rangelist = 0x00000010
                     [0x0000000000000000, 0x000000000000004c)
                     [0x0000000000000000, 0x000000000000005f)
                     [0x0000000000000000, 0x0000000000000054)
                     [0x0000000000000000, 0x000000000000005f)
                     [0x0000000000000000, 0x000000000000000b)
                     [0x0000000000000000, 0x0000000000000070)
                     [0x0000000000000000, 0x0000000000000014)
                     [0x0000000000000000, 0x000000000000005f)
                     [0x0000000000000000, 0x0000000000000070)
                     [0x0000000000000000, 0x0000000000000014)
                     [0x0000000000000000, 0x000000000000005f)
                     [0x0000000000000000, 0x0000000000000086)
                     [0x0000000000000000, 0x000000000000000b))
                  DW_AT_addr_base [DW_FORM_sec_offset]	(0x00000008)
                  DW_AT_rnglists_base [DW_FORM_sec_offset]	(0x0000000c)
    ```
    
    Differential Revision: D30755400
    
    fbshipit-source-id: 6e7fd8bc9d3bef90a5195dc30dff60c489c4df35
    eca99293
Dwarf.cpp 66.1 KB