r218129 - Omit DW_TAG_subprograms for subprograms without inlined subroutines when producing -gmlt data

Kuba Brecka kuba.brecka at gmail.com
Thu Sep 25 14:20:09 PDT 2014


Dwarfdumping a.out produces nothing, but dwarfdumping a.o does and there
are differences. Attaching the two outputs. This is the diff for running
 cc1, ld and dwarfdump, between r218128 and r218129:

--- clang-218128.txt 2014-09-25 14:17:51.000000000 -0700
+++ clang-218129.txt 2014-09-25 14:17:44.000000000 -0700
@@ -1,190 +1,171 @@
 $ ./bin/clang -v
-clang version 3.6.0 (218128)
+clang version 3.6.0 (218129)
 Target: x86_64-apple-darwin14.0.0
 Thread model: posix
 $ ./bin/clang -cc1 -triple x86_64-apple-macosx10.10.0 -emit-obj
-gline-tables-only a.c -o a.o
 $ ld -arch x86_64 -macosx_version_min 10.10.0 a.o -o a.out -lSystem
 $ ./bin/llvm-dwarfdump -debug-dump=all a.out
 a.out:  file format Mach-O 64-bit x86-64

 .debug_abbrev contents:
 < EMPTY >

 .debug_abbrev.dwo contents:
 < EMPTY >

 .debug_info contents:

 .debug_loc contents:

 .debug_loc.dwo contents:

 .debug_frame contents:


 .debug_aranges contents:

 .debug_line contents:

 .debug_line.dwo contents:

 .debug_str contents:

 .debug_ranges contents:

 .debug_pubnames contents:

 .debug_pubtypes contents:

 .debug_gnu_pubnames contents:

 .debug_gnu_pubtypes contents:
 $ ./bin/llvm-dwarfdump -debug-dump=all a.o
 error: failed to compute relocation: X86_64_RELOC_UNSIGNED
 error: failed to compute relocation: X86_64_RELOC_UNSIGNED
-error: failed to compute relocation: X86_64_RELOC_UNSIGNED
 a.o:  file format Mach-O 64-bit x86-64

 .debug_abbrev contents:
 Abbrev table for offset: 0x00000000
-[1] DW_TAG_compile_unit DW_CHILDREN_yes
+[1] DW_TAG_compile_unit DW_CHILDREN_no
   DW_AT_producer  DW_FORM_strp
   DW_AT_language  DW_FORM_data2
   DW_AT_name  DW_FORM_strp
   DW_AT_stmt_list DW_FORM_sec_offset
   DW_AT_comp_dir  DW_FORM_strp
-
-[2] DW_TAG_subprogram DW_CHILDREN_no
   DW_AT_low_pc  DW_FORM_addr
   DW_AT_high_pc DW_FORM_data4
-  DW_AT_APPLE_omit_frame_ptr  DW_FORM_flag_present
-  DW_AT_name  DW_FORM_strp


 .debug_abbrev.dwo contents:
 < EMPTY >

 .debug_info contents:
-0x00000000: Compile Unit: length = 0x0000003d version = 0x0004 abbr_offset
= 0x0000 addr_size = 0x08 (next unit at 0x00000041)
+0x00000000: Compile Unit: length = 0x00000026 version = 0x0004 abbr_offset
= 0x0000 addr_size = 0x08 (next unit at 0x0000002a)

-0x0000000b: DW_TAG_compile_unit [1] *
-              DW_AT_producer [DW_FORM_strp] ( .debug_str[0x00000000] =
"clang version 3.6.0 (218128)")
+0x0000000b: DW_TAG_compile_unit [1]
+              DW_AT_producer [DW_FORM_strp] ( .debug_str[0x00000000] =
"clang version 3.6.0 (218129)")
               DW_AT_language [DW_FORM_data2]  (DW_LANG_C99)
               DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000001d] =
"<stdin>")
               DW_AT_stmt_list [DW_FORM_sec_offset]  (0x00000000)
               DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x00000025] =
"/Users/kuba/llvm-tot-cmake-release")
-
-0x0000001e:   DW_TAG_subprogram [2]
-                DW_AT_low_pc [DW_FORM_addr] (0x0000000000000000)
-                DW_AT_high_pc [DW_FORM_data4] (0x00000019)
-                DW_AT_APPLE_omit_frame_ptr [DW_FORM_flag_present] (true)
-                DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000048] = "f")
-
-0x0000002f:   DW_TAG_subprogram [2]
-                DW_AT_low_pc [DW_FORM_addr] (0x0000000000000020)
-                DW_AT_high_pc [DW_FORM_data4] (0x00000043)
-                DW_AT_APPLE_omit_frame_ptr [DW_FORM_flag_present] (true)
-                DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000004a] =
"main")
-
-0x00000040:   NULL
+              DW_AT_low_pc [DW_FORM_addr] (0x0000000000000000)
+              DW_AT_high_pc [DW_FORM_data4] (0x00000063)

 .debug_loc contents:

 .debug_loc.dwo contents:

 .debug_frame contents:

 00000000 00000014 ffffffff CIE
   Version:               3
   Augmentation:          ""
   Code alignment factor: 1
   Data alignment factor: -8
   Return address column: 16

   DW_CFA_def_cfa:
   DW_CFA_offset:
   DW_CFA_nop:
   DW_CFA_nop:
   DW_CFA_nop:
   DW_CFA_nop:
   DW_CFA_nop:
   DW_CFA_nop:

 00000018 0000001c 00000000 FDE cie=00000000 pc=00000000...00000019
   DW_CFA_advance_loc:
   DW_CFA_def_cfa_offset:
   DW_CFA_nop:
   DW_CFA_nop:
   DW_CFA_nop:
   DW_CFA_nop:
   DW_CFA_nop:

 00000038 0000001c 00000000 FDE cie=00000000 pc=00000020...00000063
   DW_CFA_advance_loc:
   DW_CFA_def_cfa_offset:
   DW_CFA_nop:
   DW_CFA_nop:
   DW_CFA_nop:
   DW_CFA_nop:
   DW_CFA_nop:


 .debug_aranges contents:

 .debug_line contents:
 Line table prologue:
     total_length: 0x0000003b
          version: 2
  prologue_length: 0x0000001a
  min_inst_length: 1
  default_is_stmt: 1
        line_base: -5
       line_range: 14
      opcode_base: 13
 standard_opcode_lengths[DW_LNS_copy] = 0
 standard_opcode_lengths[DW_LNS_advance_pc] = 1
 standard_opcode_lengths[DW_LNS_advance_line] = 1
 standard_opcode_lengths[DW_LNS_set_file] = 1
 standard_opcode_lengths[DW_LNS_set_column] = 1
 standard_opcode_lengths[DW_LNS_negate_stmt] = 0
 standard_opcode_lengths[DW_LNS_set_basic_block] = 0
 standard_opcode_lengths[DW_LNS_const_add_pc] = 0
 standard_opcode_lengths[DW_LNS_fixed_advance_pc] = 1
 standard_opcode_lengths[DW_LNS_set_prologue_end] = 0
 standard_opcode_lengths[DW_LNS_set_epilogue_begin] = 0
 standard_opcode_lengths[DW_LNS_set_isa] = 1
                 Dir  Mod Time   File Len   File Name
                 ---- ---------- ---------- ---------------------------
 file_names[  1]    0 0x00000000 0x00000000 a.c

 Address            Line   Column File   ISA Discriminator Flags
 ------------------ ------ ------ ------ --- ------------- -------------
 0x0000000000000000      3      0      1   0             0  is_stmt
 0x0000000000000008      4      0      1   0             0  is_stmt
prologue_end
 0x0000000000000011      5      0      1   0             0  is_stmt
 0x0000000000000020      8      0      1   0             0  is_stmt
 0x000000000000002b      9      0      1   0             0  is_stmt
prologue_end
 0x0000000000000039     10      0      1   0             0  is_stmt
 0x000000000000004b     11      0      1   0             0  is_stmt
 0x0000000000000058     12      0      1   0             0  is_stmt
 0x0000000000000063     12      0      1   0             0  is_stmt
end_sequence

 .debug_line.dwo contents:

 .debug_str contents:
-0x00000000: "clang version 3.6.0 (218128)"
+0x00000000: "clang version 3.6.0 (218129)"
 0x0000001d: "<stdin>"
 0x00000025: "/Users/kuba/llvm-tot-cmake-release"
-0x00000048: "f"
-0x0000004a: "main"

 .debug_ranges contents:

 .debug_pubnames contents:

 .debug_pubtypes contents:

 .debug_gnu_pubnames contents:

 .debug_gnu_pubtypes contents:
 $


Kuba



On Thu, Sep 25, 2014 at 1:42 PM, David Blaikie <dblaikie at gmail.com> wrote:

>
>
> On Thu, Sep 25, 2014 at 1:03 PM, Kuba Brecka <kuba.brecka at gmail.com>
> wrote:
>
>> Clang r218129:
>>
>> $ ./bin/clang -gline-tables-only a.c -o a.out -###
>> clang version 3.6.0 (218129)
>>
> Target: x86_64-apple-darwin14.0.0
>> Thread model: posix
>>  "/Users/kuba/llvm-tot-cmake-release/bin/clang-3.6" "-cc1" "-triple"
>> "x86_64-apple-macosx10.10.0" "-emit-obj" "-mrelax-all" "-disable-free"
>> "-main-file-name" "a.c" "-mrelocation-model" "pic" "-pic-level" "2"
>> "-mdisable-fp-elim" "-masm-verbose" "-munwind-tables" "-target-cpu" "core2"
>> "-gline-tables-only" "-gdwarf-2" "-dwarf-column-info" "-resource-dir"
>> "/Users/kuba/llvm-tot-cmake-release/bin/../lib/clang/3.6.0"
>> "-fdebug-compilation-dir" "/Users/kuba/llvm-tot-cmake-release"
>> "-ferror-limit" "19" "-fmessage-length" "364" "-stack-protector" "1"
>> "-mstackrealign" "-fblocks" "-fobjc-runtime=macosx-10.10.0"
>> "-fencode-extended-block-signature" "-fmax-type-align=16"
>> "-fdiagnostics-show-option" "-fcolor-diagnostics" "-o"
>> "/var/folders/k0/qjt5nwj91314gwrg0j9ltrrw0000gn/T/a-87344c.o" "-x" "c" "a.c"
>>  "/usr/bin/ld" "-dynamic" "-arch" "x86_64" "-macosx_version_min"
>> "10.10.0" "-o" "a.out"
>> "/var/folders/k0/qjt5nwj91314gwrg0j9ltrrw0000gn/T/a-87344c.o" "-lSystem"
>>  "/usr/bin/dsymutil" "-o" "a.out.dSYM" "a.out"
>> $ ./bin/clang -cc1 -triple x86_64-apple-macosx10.10.0 -emit-obj
>> -gline-tables-only -gdwarf-2 -dwarf-column-info a.c -o a.o
>> $ ld -dynamic -arch x86_64 -o a.out a.o -lSystem -macosx_version_min
>> 10.10.0
>> $ dsymutil a.out -o a.out.dSYM
>> warning: no debug symbols in executable (-arch x86_64)
>>
>
> I'm not sure what this warning is meant to express - but it might be
> related to the issue. Have you tried dwarfdumping a.out before running
> dsymutil? At least using your command line and running dwarfdump on the
> object file (on Linux I don't have dsymutil, nm for MachO, etc) I see the
> debug info I expect, whereas it looks like no debug info made it to the
> dsym file below \/.
>
>
>> $ ./bin/llvm-dwarfdump -debug-dump=all
>> a.out.dSYM/Contents/Resources/DWARF/a.out
>> a.out.dSYM/Contents/Resources/DWARF/a.out: file format Mach-O 64-bit
>> x86-64
>> .debug_abbrev contents:
>> Abbrev table for offset: 0x00000000
>> .debug_abbrev.dwo contents:
>> < EMPTY >
>> .debug_info contents:
>> .debug_loc contents:
>> .debug_loc.dwo contents:
>> .debug_frame contents:
>> .debug_aranges contents:
>> .debug_line contents:
>> .debug_line.dwo contents:
>> .debug_str contents:
>> 0x00000000: ""
>> .debug_ranges contents:
>> .debug_pubnames contents:
>> .debug_pubtypes contents:
>> .debug_gnu_pubnames contents:
>> .debug_gnu_pubtypes contents:
>> $
>>
>> Clang r218128:
>>
>> $ ./bin/clang -gline-tables-only a.c -o a.out -###
>> clang version 3.6.0 (218128)
>> Target: x86_64-apple-darwin14.0.0
>> Thread model: posix
>>  "/Users/kuba/llvm-tot-cmake-release/bin/clang-3.6" "-cc1" "-triple"
>> "x86_64-apple-macosx10.10.0" "-emit-obj" "-mrelax-all" "-disable-free"
>> "-main-file-name" "a.c" "-mrelocation-model" "pic" "-pic-level" "2"
>> "-mdisable-fp-elim" "-masm-verbose" "-munwind-tables" "-target-cpu" "core2"
>> "-gline-tables-only" "-gdwarf-2" "-dwarf-column-info" "-resource-dir"
>> "/Users/kuba/llvm-tot-cmake-release/bin/../lib/clang/3.6.0"
>> "-fdebug-compilation-dir" "/Users/kuba/llvm-tot-cmake-release"
>> "-ferror-limit" "19" "-fmessage-length" "364" "-stack-protector" "1"
>> "-mstackrealign" "-fblocks" "-fobjc-runtime=macosx-10.10.0"
>> "-fencode-extended-block-signature" "-fmax-type-align=16"
>> "-fdiagnostics-show-option" "-fcolor-diagnostics" "-o"
>> "/var/folders/k0/qjt5nwj91314gwrg0j9ltrrw0000gn/T/a-d4d93b.o" "-x" "c" "a.c"
>>  "/usr/bin/ld" "-dynamic" "-arch" "x86_64" "-macosx_version_min"
>> "10.10.0" "-o" "a.out"
>> "/var/folders/k0/qjt5nwj91314gwrg0j9ltrrw0000gn/T/a-d4d93b.o" "-lSystem"
>>  "/usr/bin/dsymutil" "-o" "a.out.dSYM" "a.out"
>> $ ./bin/clang -cc1 -triple x86_64-apple-macosx10.10.0 -emit-obj
>> -gline-tables-only -gdwarf-2 -dwarf-column-info a.c -o a.o
>> $ ld -dynamic -arch x86_64 -o a.out a.o -lSystem -macosx_version_min
>> 10.10.0
>> $ dsymutil a.out -o a.out.dSYM
>> $ ./bin/llvm-dwarfdump -debug-dump=all
>> a.out.dSYM/Contents/Resources/DWARF/a.out
>> a.out.dSYM/Contents/Resources/DWARF/a.out: file format Mach-O 64-bit
>> x86-64
>>
>> .debug_abbrev contents:
>> Abbrev table for offset: 0x00000000
>> [1] DW_TAG_compile_unit DW_CHILDREN_yes
>> DW_AT_producer DW_FORM_strp
>> DW_AT_language DW_FORM_data2
>> DW_AT_name DW_FORM_strp
>> DW_AT_stmt_list DW_FORM_data4
>> DW_AT_comp_dir DW_FORM_strp
>>
>> [2] DW_TAG_subprogram DW_CHILDREN_no
>> DW_AT_low_pc DW_FORM_addr
>> DW_AT_high_pc DW_FORM_addr
>> DW_AT_APPLE_omit_frame_ptr DW_FORM_flag
>> DW_AT_name DW_FORM_strp
>>
>>
>> .debug_abbrev.dwo contents:
>> < EMPTY >
>>
>> .debug_info contents:
>> 0x00000000: Compile Unit: length = 0x00000047 version = 0x0002
>> abbr_offset = 0x0000 addr_size = 0x08 (next unit at 0x0000004b)
>>
>> 0x0000000b: DW_TAG_compile_unit [1] *
>>               DW_AT_producer [DW_FORM_strp] ( .debug_str[0x00000001] =
>> "clang version 3.6.0 (218128)")
>>               DW_AT_language [DW_FORM_data2] (DW_LANG_C99)
>>               DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000001e] =
>> "<stdin>")
>>               DW_AT_stmt_list [DW_FORM_data4] (0x00000000)
>>               DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x00000026] =
>> "/Users/kuba/llvm-tot-cmake-release")
>>
>> 0x0000001e:   DW_TAG_subprogram [2]
>>                 DW_AT_low_pc [DW_FORM_addr] (0x0000000100000f20)
>>                 DW_AT_high_pc [DW_FORM_addr] (0x0000000100000f39)
>>                 DW_AT_APPLE_omit_frame_ptr [DW_FORM_flag] (0x01)
>>                 DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000049] = "f")
>>
>> 0x00000034:   DW_TAG_subprogram [2]
>>                 DW_AT_low_pc [DW_FORM_addr] (0x0000000100000f40)
>>                 DW_AT_high_pc [DW_FORM_addr] (0x0000000100000f83)
>>                 DW_AT_APPLE_omit_frame_ptr [DW_FORM_flag] (0x01)
>>                 DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000004b] =
>> "main")
>>
>> 0x0000004a:   NULL
>>
>> .debug_loc contents:
>>
>> .debug_loc.dwo contents:
>>
>> .debug_frame contents:
>>
>> 00000000 00000014 ffffffff CIE
>>   Version:               1
>>   Augmentation:          ""
>>   Code alignment factor: 1
>>   Data alignment factor: -8
>>   Return address column: 16
>>
>>   DW_CFA_def_cfa:
>>   DW_CFA_offset:
>>   DW_CFA_nop:
>>   DW_CFA_nop:
>>   DW_CFA_nop:
>>   DW_CFA_nop:
>>   DW_CFA_nop:
>>   DW_CFA_nop:
>>
>> 00000018 0000001c 00000000 FDE cie=00000000 pc=00000f20...00000f39
>>   DW_CFA_advance_loc:
>>   DW_CFA_def_cfa_offset:
>>   DW_CFA_nop:
>>   DW_CFA_nop:
>>   DW_CFA_nop:
>>   DW_CFA_nop:
>>   DW_CFA_nop:
>>
>> 00000038 0000001c 00000000 FDE cie=00000000 pc=00000f40...00000f83
>>   DW_CFA_advance_loc:
>>   DW_CFA_def_cfa_offset:
>>   DW_CFA_nop:
>>   DW_CFA_nop:
>>   DW_CFA_nop:
>>   DW_CFA_nop:
>>   DW_CFA_nop:
>>
>>
>> .debug_aranges contents:
>> Address Range Header: length = 0x0000003c, version = 0x0002, cu_offset =
>> 0x00000000, addr_size = 0x08, seg_size = 0x00
>> [0x0000000100000f20 - 0x0000000100000f39)
>> [0x0000000100000f40 - 0x0000000100000f83)
>>
>> .debug_line contents:
>> Line table prologue:
>>     total_length: 0x00000052
>>          version: 2
>>  prologue_length: 0x0000001a
>>  min_inst_length: 1
>>  default_is_stmt: 1
>>        line_base: -5
>>       line_range: 14
>>      opcode_base: 13
>> standard_opcode_lengths[DW_LNS_copy] = 0
>> standard_opcode_lengths[DW_LNS_advance_pc] = 1
>> standard_opcode_lengths[DW_LNS_advance_line] = 1
>> standard_opcode_lengths[DW_LNS_set_file] = 1
>> standard_opcode_lengths[DW_LNS_set_column] = 1
>> standard_opcode_lengths[DW_LNS_negate_stmt] = 0
>> standard_opcode_lengths[DW_LNS_set_basic_block] = 0
>> standard_opcode_lengths[DW_LNS_const_add_pc] = 0
>> standard_opcode_lengths[DW_LNS_fixed_advance_pc] = 1
>> standard_opcode_lengths[DW_LNS_set_prologue_end] = 0
>> standard_opcode_lengths[DW_LNS_set_epilogue_begin] = 0
>> standard_opcode_lengths[DW_LNS_set_isa] = 1
>>                 Dir  Mod Time   File Len   File Name
>>                 ---- ---------- ---------- ---------------------------
>> file_names[  1]    0 0x00000000 0x00000000 a.c
>>
>> Address            Line   Column File   ISA Discriminator Flags
>> ------------------ ------ ------ ------ --- ------------- -------------
>> 0x0000000100000f20      3      0      1   0             0  is_stmt
>> 0x0000000100000f28      4      2      1   0             0  is_stmt
>> prologue_end
>> 0x0000000100000f31      5      2      1   0             0  is_stmt
>> 0x0000000100000f39      5      2      1   0             0  is_stmt
>> end_sequence
>> 0x0000000100000f40      8      0      1   0             0  is_stmt
>> 0x0000000100000f4b      9      2      1   0             0  is_stmt
>> prologue_end
>> 0x0000000100000f59     10      2      1   0             0  is_stmt
>> 0x0000000100000f6b     11      2      1   0             0  is_stmt
>> 0x0000000100000f78     12      1      1   0             0  is_stmt
>> 0x0000000100000f83     12      1      1   0             0  is_stmt
>> end_sequence
>>
>> .debug_line.dwo contents:
>>
>> .debug_str contents:
>> 0x00000000: ""
>> 0x00000001: "clang version 3.6.0 (218128)"
>> 0x0000001e: "<stdin>"
>> 0x00000026: "/Users/kuba/llvm-tot-cmake-release"
>> 0x00000049: "f"
>> 0x0000004b: "main"
>>
>> .debug_ranges contents:
>>
>> .debug_pubnames contents:
>> length = 0x0000001d version = 0x0002 unit_offset = 0x00000000 unit_size =
>> 0x0000004b
>> Offset     Name
>> 0x0000001e "f"
>> 0x00000034 "main"
>>
>> .debug_pubtypes contents:
>>
>> .debug_gnu_pubnames contents:
>>
>> .debug_gnu_pubtypes contents:
>> $
>>
>>
>>
>> Kuba
>>
>>
>>
>> On Thu, Sep 25, 2014 at 10:51 AM, David Blaikie <dblaikie at gmail.com>
>> wrote:
>>
>>>
>>>
>>> On Wed, Sep 24, 2014 at 12:27 PM, Kuba Brecka <kuba.brecka at gmail.com>
>>> wrote:
>>>
>>>> Sure. It works with my system's clang, but when using my just-built
>>>> ./bin/clang, the symbolizer doesn't give me any line information.
>>>>
>>>> $ cat a.c
>>>> #include <stdio.h>
>>>>
>>>> int f() {
>>>>         printf("X");
>>>>         return 0;
>>>> }
>>>>
>>>> int main() {
>>>>         printf("1");
>>>>         printf("2");
>>>>         printf("3");
>>>> }
>>>> $ clang a.c -o a.out -gline-tables-only
>>>>
>>>
>>> A -cc1 command line would be helpful, not sure which -target I should
>>> use, etc.
>>>
>>>
>>>> $ nm a.out
>>>> 0000000100000000 T __mh_execute_header
>>>> 0000000100000f00 T _f
>>>> 0000000100000f30 T _main
>>>>                  U _printf
>>>>                  U dyld_stub_binder
>>>> $ echo "a.out 0x0000000100000f00" | ./bin/llvm-symbolizer
>>>> f
>>>> /Users/kuba/llvm-tot-cmake-release/a.c:3:0
>>>> $ echo "a.out 0x0000000100000f18" | ./bin/llvm-symbolizer
>>>> f
>>>> /Users/kuba/llvm-tot-cmake-release/a.c:5:2
>>>> $ ./bin/llvm-dwarfdump -debug-dump=line
>>>> a.out.dSYM/Contents/Resources/DWARF/a.out
>>>>
>>>
>>> The full dwarfdump, not just the line table, is probably necessary to
>>> investigate this - my change didn't modify the line table, it modified the
>>> compile units in the debug_info section (and added ranges back into the
>>> debug_ranges section).
>>>
>>>
>>>> a.out.dSYM/Contents/Resources/DWARF/a.out:      file format Mach-O
>>>> 64-bit x86-64
>>>> .debug_line contents:
>>>> Line table prologue:
>>>>     total_length: 0x00000052
>>>>          version: 2
>>>>  prologue_length: 0x0000001a
>>>>  min_inst_length: 1
>>>>  default_is_stmt: 1
>>>>        line_base: -5
>>>>       line_range: 14
>>>>      opcode_base: 13
>>>> standard_opcode_lengths[DW_LNS_copy] = 0
>>>> standard_opcode_lengths[DW_LNS_advance_pc] = 1
>>>> standard_opcode_lengths[DW_LNS_advance_line] = 1
>>>> standard_opcode_lengths[DW_LNS_set_file] = 1
>>>> standard_opcode_lengths[DW_LNS_set_column] = 1
>>>> standard_opcode_lengths[DW_LNS_negate_stmt] = 0
>>>> standard_opcode_lengths[DW_LNS_set_basic_block] = 0
>>>> standard_opcode_lengths[DW_LNS_const_add_pc] = 0
>>>> standard_opcode_lengths[DW_LNS_fixed_advance_pc] = 1
>>>> standard_opcode_lengths[DW_LNS_set_prologue_end] = 0
>>>> standard_opcode_lengths[DW_LNS_set_epilogue_begin] = 0
>>>> standard_opcode_lengths[DW_LNS_set_isa] = 1
>>>>                 Dir  Mod Time   File Len   File Name
>>>>                 ---- ---------- ---------- ---------------------------
>>>> file_names[  1]    0 0x00000000 0x00000000 a.c
>>>> Address            Line   Column File   ISA Discriminator Flags
>>>> ------------------ ------ ------ ------ --- ------------- -------------
>>>> 0x0000000100000f00      3      0      1   0             0  is_stmt
>>>> 0x0000000100000f0f      4      2      1   0             0  is_stmt
>>>> prologue_end
>>>> 0x0000000100000f18      5      2      1   0             0  is_stmt
>>>> 0x0000000100000f23      5      2      1   0             0  is_stmt
>>>> end_sequence
>>>> 0x0000000100000f30      8      0      1   0             0  is_stmt
>>>> 0x0000000100000f3f      9      2      1   0             0  is_stmt
>>>> prologue_end
>>>> 0x0000000100000f4d     10      2      1   0             0  is_stmt
>>>> 0x0000000100000f5e     11      2      1   0             0  is_stmt
>>>> 0x0000000100000f6a     12      1      1   0             0  is_stmt
>>>> 0x0000000100000f75     12      1      1   0             0  is_stmt
>>>> end_sequence
>>>>
>>>> $ ./bin/clang a.c -o a.out -gline-tables-only
>>>> warning: no debug symbols in executable (-arch x86_64)
>>>> $ echo "a.out 0x0000000100000f00" | ./bin/llvm-symbolizer
>>>> f
>>>> ??:0:0
>>>> $ echo "a.out 0x0000000100000f18" | ./bin/llvm-symbolizer
>>>> f
>>>> ??:0:0
>>>> $ ./bin/llvm-dwarfdump -debug-dump=line
>>>> a.out.dSYM/Contents/Resources/DWARF/a.out
>>>> a.out.dSYM/Contents/Resources/DWARF/a.out:      file format Mach-O
>>>> 64-bit x86-64
>>>>
>>>>
>>>> .debug_line contents:
>>>> $
>>>>
>>>> Kuba
>>>>
>>>>
>>>> On Wed, Sep 24, 2014 at 12:10 PM, David Blaikie <dblaikie at gmail.com>
>>>> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Wed, Sep 24, 2014 at 12:08 PM, Kuba Brecka <kuba.brecka at gmail.com>
>>>>> wrote:
>>>>>
>>>>>> I'm getting test failures for compiler-rt asan tests after this
>>>>>> patch. It seems the symbolizer stops working with -gline-tables-only on OS
>>>>>> X:
>>>>>>
>>>>>
>>>>> Could you provide a simple reproduction? (a clang command line with a
>>>>> -target and an llvm-symbolizer invocation that should symbolize a
>>>>> particular instruction/offset in the binary, etc) and/or llvm-dwarfdump of
>>>>> a simple binary that fails symbolication when it shouldn't.
>>>>>
>>>>>
>>>>>>
>>>>>> FAIL: AddressSanitizer32 :: TestCases/use-after-free.cc (222 of 460)
>>>>>> ******************** TEST 'AddressSanitizer32 ::
>>>>>> TestCases/use-after-free.cc' FAILED ********************
>>>>>> Script:
>>>>>> --
>>>>>> /Users/kuba/llvm-tot-cmake-release/./bin/clang --driver-mode=g++
>>>>>> -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer
>>>>>> -fno-optimize-sibling-calls -gline-tables-only -m32 -O0
>>>>>> /Users/kuba/llvm-tot/projects/compiler-rt/test/asan/TestCases/use-after-free.cc
>>>>>> -o
>>>>>> /Users/kuba/llvm-tot-cmake-release/projects/compiler-rt/test/asan/32bitConfig/TestCases/Output/use-after-free.cc.tmp
>>>>>> && not
>>>>>>  /Users/kuba/llvm-tot-cmake-release/projects/compiler-rt/test/asan/32bitConfig/TestCases/Output/use-after-free.cc.tmp
>>>>>> 2>&1 | FileCheck
>>>>>> /Users/kuba/llvm-tot/projects/compiler-rt/test/asan/TestCases/use-after-free.cc
>>>>>> --check-prefix=CHECK-Darwin --check-prefix=CHECK
>>>>>> /Users/kuba/llvm-tot-cmake-release/./bin/clang --driver-mode=g++
>>>>>> -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer
>>>>>> -fno-optimize-sibling-calls -gline-tables-only -m32 -O1
>>>>>> /Users/kuba/llvm-tot/projects/compiler-rt/test/asan/TestCases/use-after-free.cc
>>>>>> -o
>>>>>> /Users/kuba/llvm-tot-cmake-release/projects/compiler-rt/test/asan/32bitConfig/TestCases/Output/use-after-free.cc.tmp
>>>>>> && not
>>>>>>  /Users/kuba/llvm-tot-cmake-release/projects/compiler-rt/test/asan/32bitConfig/TestCases/Output/use-after-free.cc.tmp
>>>>>> 2>&1 | FileCheck
>>>>>> /Users/kuba/llvm-tot/projects/compiler-rt/test/asan/TestCases/use-after-free.cc
>>>>>> --check-prefix=CHECK-Darwin --check-prefix=CHECK
>>>>>> /Users/kuba/llvm-tot-cmake-release/./bin/clang --driver-mode=g++
>>>>>> -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer
>>>>>> -fno-optimize-sibling-calls -gline-tables-only -m32 -O2
>>>>>> /Users/kuba/llvm-tot/projects/compiler-rt/test/asan/TestCases/use-after-free.cc
>>>>>> -o
>>>>>> /Users/kuba/llvm-tot-cmake-release/projects/compiler-rt/test/asan/32bitConfig/TestCases/Output/use-after-free.cc.tmp
>>>>>> && not
>>>>>>  /Users/kuba/llvm-tot-cmake-release/projects/compiler-rt/test/asan/32bitConfig/TestCases/Output/use-after-free.cc.tmp
>>>>>> 2>&1 | FileCheck
>>>>>> /Users/kuba/llvm-tot/projects/compiler-rt/test/asan/TestCases/use-after-free.cc
>>>>>> --check-prefix=CHECK-Darwin --check-prefix=CHECK
>>>>>> /Users/kuba/llvm-tot-cmake-release/./bin/clang --driver-mode=g++
>>>>>> -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer
>>>>>> -fno-optimize-sibling-calls -gline-tables-only -m32 -O3
>>>>>> /Users/kuba/llvm-tot/projects/compiler-rt/test/asan/TestCases/use-after-free.cc
>>>>>> -o
>>>>>> /Users/kuba/llvm-tot-cmake-release/projects/compiler-rt/test/asan/32bitConfig/TestCases/Output/use-after-free.cc.tmp
>>>>>> && not
>>>>>>  /Users/kuba/llvm-tot-cmake-release/projects/compiler-rt/test/asan/32bitConfig/TestCases/Output/use-after-free.cc.tmp
>>>>>> 2>&1 | FileCheck
>>>>>> /Users/kuba/llvm-tot/projects/compiler-rt/test/asan/TestCases/use-after-free.cc
>>>>>> --check-prefix=CHECK-Darwin --check-prefix=CHECK
>>>>>> --
>>>>>> Exit Code: 1
>>>>>>
>>>>>> Command Output (stdout):
>>>>>> --
>>>>>> warning: no debug symbols in executable (-arch i386)
>>>>>>
>>>>>> --
>>>>>> Command Output (stderr):
>>>>>> --
>>>>>> /Users/kuba/llvm-tot/projects/compiler-rt/test/asan/TestCases/use-after-free.cc:15:12:
>>>>>> error: expected string not found in input
>>>>>>  // CHECK: {{ #0 0x.* in main .*use-after-free.cc:}}[[@LINE-4]]
>>>>>>            ^
>>>>>> <stdin>:4:2: note: scanning from here
>>>>>>  #0 0x75e5f in main
>>>>>> (/Users/kuba/llvm-tot-cmake-release/projects/compiler-rt/test/asan/32bitConfig/TestCases/Output/use-after-free.cc.tmp+0x1e5f)
>>>>>>  ^
>>>>>> <stdin>:4:2: note: with expression "@LINE-4" equal to "11"
>>>>>>  #0 0x75e5f in main
>>>>>> (/Users/kuba/llvm-tot-cmake-release/projects/compiler-rt/test/asan/32bitConfig/TestCases/Output/use-after-free.cc.tmp+0x1e5f)
>>>>>>  ^
>>>>>> <stdin>:4:97: note: possible intended match here
>>>>>>  #0 0x75e5f in main
>>>>>> (/Users/kuba/llvm-tot-cmake-release/projects/compiler-rt/test/asan/32bitConfig/TestCases/Output/use-after-free.cc.tmp+0x1e5f)
>>>>>>
>>>>>>
>>>>>> Kuba
>>>>>>
>>>>>> Author: dblaikie
>>>>>>> Date: Fri Sep 19 12:03:16 2014
>>>>>>> New Revision: 218129
>>>>>>> URL: http://llvm.org/viewvc/llvm-project?rev=218129&view=rev
>>>>>>> Log:
>>>>>>> Omit DW_TAG_subprograms for subprograms without inlined subroutines
>>>>>>> when producing -gmlt data
>>>>>>> To reduce the size of -gmlt data, skip the subprograms without any
>>>>>>> inlined subroutines. Since we've now got the ability to make these
>>>>>>> determinations in the backend (funnily enough - we added the flag so
>>>>>>> we
>>>>>>> wouldn't produce ranges under -gmlt, but with this change we use the
>>>>>>> flag, but go back to producing ranges under -gmlt).
>>>>>>> Instead, just produce CU ranges to inform the consumer which parts of
>>>>>>> the code are described by this CU's line table. Tools could inspect
>>>>>>> the
>>>>>>> line table directly to compute the range, but the CU ranges only
>>>>>>> seem to
>>>>>>> be about 0.5% of object/executable size, so I'm not too worried about
>>>>>>> teaching llvm-symbolizer that trick just yet - it's certainly a
>>>>>>> possible
>>>>>>> piece of future work.
>>>>>>> Update an llvm-symbolizer test just to demonstrate that this schema
>>>>>>> is
>>>>>>> acceptable there (if it wasn't, the compiler-rt tests would catch
>>>>>>> this,
>>>>>>> but good to have an in-llvm-tree test for llvm-symbolizer's behavior
>>>>>>> here)
>>>>>>> Building the clang binary with -gmlt with this patch reduces the
>>>>>>> total
>>>>>>> size of object files by 5.1% (5.56% without ranges) without
>>>>>>> compression
>>>>>>> and the executable by 4.37% (4.75% without ranges).
>>>>>>> Modified:
>>>>>>>     llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
>>>>>>>     llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
>>>>>>>     llvm/trunk/test/DebugInfo/Inputs/dwarfdump-inl-test.elf-x86-64
>>>>>>>     llvm/trunk/test/DebugInfo/gmlt.ll
>>>>>>>     llvm/trunk/test/DebugInfo/llvm-symbolizer.test
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140925/73dfa5a0/attachment.html>
-------------- next part --------------
$ ./bin/clang -v
clang version 3.6.0 (218129)
Target: x86_64-apple-darwin14.0.0
Thread model: posix
$ ./bin/clang -cc1 -triple x86_64-apple-macosx10.10.0 -emit-obj -gline-tables-only a.c -o a.o
$ ld -arch x86_64 -macosx_version_min 10.10.0 a.o -o a.out -lSystem
$ ./bin/llvm-dwarfdump -debug-dump=all a.out
a.out:  file format Mach-O 64-bit x86-64

.debug_abbrev contents:
< EMPTY >

.debug_abbrev.dwo contents:
< EMPTY >

.debug_info contents:

.debug_loc contents:

.debug_loc.dwo contents:

.debug_frame contents:


.debug_aranges contents:

.debug_line contents:

.debug_line.dwo contents:

.debug_str contents:

.debug_ranges contents:

.debug_pubnames contents:

.debug_pubtypes contents:

.debug_gnu_pubnames contents:

.debug_gnu_pubtypes contents:
$ ./bin/llvm-dwarfdump -debug-dump=all a.o
error: failed to compute relocation: X86_64_RELOC_UNSIGNED
error: failed to compute relocation: X86_64_RELOC_UNSIGNED
a.o:  file format Mach-O 64-bit x86-64

.debug_abbrev contents:
Abbrev table for offset: 0x00000000
[1] DW_TAG_compile_unit DW_CHILDREN_no
  DW_AT_producer  DW_FORM_strp
  DW_AT_language  DW_FORM_data2
  DW_AT_name  DW_FORM_strp
  DW_AT_stmt_list DW_FORM_sec_offset
  DW_AT_comp_dir  DW_FORM_strp
  DW_AT_low_pc  DW_FORM_addr
  DW_AT_high_pc DW_FORM_data4


.debug_abbrev.dwo contents:
< EMPTY >

.debug_info contents:
0x00000000: Compile Unit: length = 0x00000026 version = 0x0004 abbr_offset = 0x0000 addr_size = 0x08 (next unit at 0x0000002a)

0x0000000b: DW_TAG_compile_unit [1]  
              DW_AT_producer [DW_FORM_strp] ( .debug_str[0x00000000] = "clang version 3.6.0 (218129)")
              DW_AT_language [DW_FORM_data2]  (DW_LANG_C99)
              DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000001d] = "<stdin>")
              DW_AT_stmt_list [DW_FORM_sec_offset]  (0x00000000)
              DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x00000025] = "/Users/kuba/llvm-tot-cmake-release")
              DW_AT_low_pc [DW_FORM_addr] (0x0000000000000000)
              DW_AT_high_pc [DW_FORM_data4] (0x00000063)

.debug_loc contents:

.debug_loc.dwo contents:

.debug_frame contents:

00000000 00000014 ffffffff CIE
  Version:               3
  Augmentation:          ""
  Code alignment factor: 1
  Data alignment factor: -8
  Return address column: 16

  DW_CFA_def_cfa:
  DW_CFA_offset:
  DW_CFA_nop:
  DW_CFA_nop:
  DW_CFA_nop:
  DW_CFA_nop:
  DW_CFA_nop:
  DW_CFA_nop:

00000018 0000001c 00000000 FDE cie=00000000 pc=00000000...00000019
  DW_CFA_advance_loc:
  DW_CFA_def_cfa_offset:
  DW_CFA_nop:
  DW_CFA_nop:
  DW_CFA_nop:
  DW_CFA_nop:
  DW_CFA_nop:

00000038 0000001c 00000000 FDE cie=00000000 pc=00000020...00000063
  DW_CFA_advance_loc:
  DW_CFA_def_cfa_offset:
  DW_CFA_nop:
  DW_CFA_nop:
  DW_CFA_nop:
  DW_CFA_nop:
  DW_CFA_nop:


.debug_aranges contents:

.debug_line contents:
Line table prologue:
    total_length: 0x0000003b
         version: 2
 prologue_length: 0x0000001a
 min_inst_length: 1
 default_is_stmt: 1
       line_base: -5
      line_range: 14
     opcode_base: 13
standard_opcode_lengths[DW_LNS_copy] = 0
standard_opcode_lengths[DW_LNS_advance_pc] = 1
standard_opcode_lengths[DW_LNS_advance_line] = 1
standard_opcode_lengths[DW_LNS_set_file] = 1
standard_opcode_lengths[DW_LNS_set_column] = 1
standard_opcode_lengths[DW_LNS_negate_stmt] = 0
standard_opcode_lengths[DW_LNS_set_basic_block] = 0
standard_opcode_lengths[DW_LNS_const_add_pc] = 0
standard_opcode_lengths[DW_LNS_fixed_advance_pc] = 1
standard_opcode_lengths[DW_LNS_set_prologue_end] = 0
standard_opcode_lengths[DW_LNS_set_epilogue_begin] = 0
standard_opcode_lengths[DW_LNS_set_isa] = 1
                Dir  Mod Time   File Len   File Name
                ---- ---------- ---------- ---------------------------
file_names[  1]    0 0x00000000 0x00000000 a.c

Address            Line   Column File   ISA Discriminator Flags
------------------ ------ ------ ------ --- ------------- -------------
0x0000000000000000      3      0      1   0             0  is_stmt
0x0000000000000008      4      0      1   0             0  is_stmt prologue_end
0x0000000000000011      5      0      1   0             0  is_stmt
0x0000000000000020      8      0      1   0             0  is_stmt
0x000000000000002b      9      0      1   0             0  is_stmt prologue_end
0x0000000000000039     10      0      1   0             0  is_stmt
0x000000000000004b     11      0      1   0             0  is_stmt
0x0000000000000058     12      0      1   0             0  is_stmt
0x0000000000000063     12      0      1   0             0  is_stmt end_sequence

.debug_line.dwo contents:

.debug_str contents:
0x00000000: "clang version 3.6.0 (218129)"
0x0000001d: "<stdin>"
0x00000025: "/Users/kuba/llvm-tot-cmake-release"

.debug_ranges contents:

.debug_pubnames contents:

.debug_pubtypes contents:

.debug_gnu_pubnames contents:

.debug_gnu_pubtypes contents:
$ 
-------------- next part --------------
$ ./bin/clang -v
clang version 3.6.0 (218128)
Target: x86_64-apple-darwin14.0.0
Thread model: posix
$ ./bin/clang -cc1 -triple x86_64-apple-macosx10.10.0 -emit-obj -gline-tables-only a.c -o a.o
$ ld -arch x86_64 -macosx_version_min 10.10.0 a.o -o a.out -lSystem
$ ./bin/llvm-dwarfdump -debug-dump=all a.out
a.out:  file format Mach-O 64-bit x86-64

.debug_abbrev contents:
< EMPTY >

.debug_abbrev.dwo contents:
< EMPTY >

.debug_info contents:

.debug_loc contents:

.debug_loc.dwo contents:

.debug_frame contents:


.debug_aranges contents:

.debug_line contents:

.debug_line.dwo contents:

.debug_str contents:

.debug_ranges contents:

.debug_pubnames contents:

.debug_pubtypes contents:

.debug_gnu_pubnames contents:

.debug_gnu_pubtypes contents:
$ ./bin/llvm-dwarfdump -debug-dump=all a.o
error: failed to compute relocation: X86_64_RELOC_UNSIGNED
error: failed to compute relocation: X86_64_RELOC_UNSIGNED
error: failed to compute relocation: X86_64_RELOC_UNSIGNED
a.o:  file format Mach-O 64-bit x86-64

.debug_abbrev contents:
Abbrev table for offset: 0x00000000
[1] DW_TAG_compile_unit DW_CHILDREN_yes
  DW_AT_producer  DW_FORM_strp
  DW_AT_language  DW_FORM_data2
  DW_AT_name  DW_FORM_strp
  DW_AT_stmt_list DW_FORM_sec_offset
  DW_AT_comp_dir  DW_FORM_strp

[2] DW_TAG_subprogram DW_CHILDREN_no
  DW_AT_low_pc  DW_FORM_addr
  DW_AT_high_pc DW_FORM_data4
  DW_AT_APPLE_omit_frame_ptr  DW_FORM_flag_present
  DW_AT_name  DW_FORM_strp


.debug_abbrev.dwo contents:
< EMPTY >

.debug_info contents:
0x00000000: Compile Unit: length = 0x0000003d version = 0x0004 abbr_offset = 0x0000 addr_size = 0x08 (next unit at 0x00000041)

0x0000000b: DW_TAG_compile_unit [1] *
              DW_AT_producer [DW_FORM_strp] ( .debug_str[0x00000000] = "clang version 3.6.0 (218128)")
              DW_AT_language [DW_FORM_data2]  (DW_LANG_C99)
              DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000001d] = "<stdin>")
              DW_AT_stmt_list [DW_FORM_sec_offset]  (0x00000000)
              DW_AT_comp_dir [DW_FORM_strp] ( .debug_str[0x00000025] = "/Users/kuba/llvm-tot-cmake-release")

0x0000001e:   DW_TAG_subprogram [2]  
                DW_AT_low_pc [DW_FORM_addr] (0x0000000000000000)
                DW_AT_high_pc [DW_FORM_data4] (0x00000019)
                DW_AT_APPLE_omit_frame_ptr [DW_FORM_flag_present] (true)
                DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000048] = "f")

0x0000002f:   DW_TAG_subprogram [2]  
                DW_AT_low_pc [DW_FORM_addr] (0x0000000000000020)
                DW_AT_high_pc [DW_FORM_data4] (0x00000043)
                DW_AT_APPLE_omit_frame_ptr [DW_FORM_flag_present] (true)
                DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000004a] = "main")

0x00000040:   NULL

.debug_loc contents:

.debug_loc.dwo contents:

.debug_frame contents:

00000000 00000014 ffffffff CIE
  Version:               3
  Augmentation:          ""
  Code alignment factor: 1
  Data alignment factor: -8
  Return address column: 16

  DW_CFA_def_cfa:
  DW_CFA_offset:
  DW_CFA_nop:
  DW_CFA_nop:
  DW_CFA_nop:
  DW_CFA_nop:
  DW_CFA_nop:
  DW_CFA_nop:

00000018 0000001c 00000000 FDE cie=00000000 pc=00000000...00000019
  DW_CFA_advance_loc:
  DW_CFA_def_cfa_offset:
  DW_CFA_nop:
  DW_CFA_nop:
  DW_CFA_nop:
  DW_CFA_nop:
  DW_CFA_nop:

00000038 0000001c 00000000 FDE cie=00000000 pc=00000020...00000063
  DW_CFA_advance_loc:
  DW_CFA_def_cfa_offset:
  DW_CFA_nop:
  DW_CFA_nop:
  DW_CFA_nop:
  DW_CFA_nop:
  DW_CFA_nop:


.debug_aranges contents:

.debug_line contents:
Line table prologue:
    total_length: 0x0000003b
         version: 2
 prologue_length: 0x0000001a
 min_inst_length: 1
 default_is_stmt: 1
       line_base: -5
      line_range: 14
     opcode_base: 13
standard_opcode_lengths[DW_LNS_copy] = 0
standard_opcode_lengths[DW_LNS_advance_pc] = 1
standard_opcode_lengths[DW_LNS_advance_line] = 1
standard_opcode_lengths[DW_LNS_set_file] = 1
standard_opcode_lengths[DW_LNS_set_column] = 1
standard_opcode_lengths[DW_LNS_negate_stmt] = 0
standard_opcode_lengths[DW_LNS_set_basic_block] = 0
standard_opcode_lengths[DW_LNS_const_add_pc] = 0
standard_opcode_lengths[DW_LNS_fixed_advance_pc] = 1
standard_opcode_lengths[DW_LNS_set_prologue_end] = 0
standard_opcode_lengths[DW_LNS_set_epilogue_begin] = 0
standard_opcode_lengths[DW_LNS_set_isa] = 1
                Dir  Mod Time   File Len   File Name
                ---- ---------- ---------- ---------------------------
file_names[  1]    0 0x00000000 0x00000000 a.c

Address            Line   Column File   ISA Discriminator Flags
------------------ ------ ------ ------ --- ------------- -------------
0x0000000000000000      3      0      1   0             0  is_stmt
0x0000000000000008      4      0      1   0             0  is_stmt prologue_end
0x0000000000000011      5      0      1   0             0  is_stmt
0x0000000000000020      8      0      1   0             0  is_stmt
0x000000000000002b      9      0      1   0             0  is_stmt prologue_end
0x0000000000000039     10      0      1   0             0  is_stmt
0x000000000000004b     11      0      1   0             0  is_stmt
0x0000000000000058     12      0      1   0             0  is_stmt
0x0000000000000063     12      0      1   0             0  is_stmt end_sequence

.debug_line.dwo contents:

.debug_str contents:
0x00000000: "clang version 3.6.0 (218128)"
0x0000001d: "<stdin>"
0x00000025: "/Users/kuba/llvm-tot-cmake-release"
0x00000048: "f"
0x0000004a: "main"

.debug_ranges contents:

.debug_pubnames contents:

.debug_pubtypes contents:

.debug_gnu_pubnames contents:

.debug_gnu_pubtypes contents:
$ 


More information about the llvm-commits mailing list