brintos

brintos / llvm-project-archived public Read only

0
0
Text · 10.2 KiB · 925957b Raw
223 lines · plain
1# RUN: llvm-mc %s -filetype obj -triple x86_64-pc-linux -o %t2# RUN: llvm-dwarfdump -debug-info -debug-loclists %t \3# RUN:   | FileCheck %s --check-prefixes=REGULAR,BOTH4# RUN: llvm-dwarfdump -debug-info -debug-loclists --verbose %t \5# RUN:   | FileCheck %s --check-prefixes=VERBOSE,BOTH6 7 8# BOTH:          DW_AT_location {{.*}}(0x0000000c9 10# REGULAR-NEXT:      [0x0000000000000000, 0x0000000000000001): DW_OP_reg0 RAX11# VERBOSE-NEXT:      [0x0000000000000000, 0x0000000000000001) ".text": DW_OP_reg0 RAX12 13# REGULAR-NEXT:      [0x0000000000000001, 0x0000000000000002): DW_OP_reg1 RDX14# VERBOSE-NEXT:      [0x0000000000000001, 0x0000000000000002) ".text": DW_OP_reg1 RDX15 16# REGULAR-NEXT:      [0x0000000000000002, 0x0000000000000003): DW_OP_reg2 RCX17# VERBOSE-NEXT:      [0x0000000000000002, 0x0000000000000003) ".text": DW_OP_reg2 RCX18 19# BOTH-NEXT:         <default>: DW_OP_reg3 RBX20 21# REGULAR-NEXT:      [0x0000000000000004, 0x0000000000000005): DW_OP_reg4 RSI22# VERBOSE-NEXT:      [0x0000000000000004, 0x0000000000000005) ".text": DW_OP_reg4 RSI23 24# REGULAR-NEXT:      [0x0000000000000005, 0x0000000000000006): DW_OP_reg5 RDI25# VERBOSE-NEXT:      [0x0000000000000005, 0x0000000000000006) ".text": DW_OP_reg5 RDI26 27# REGULAR-NEXT:      [0x0000000000000006, 0x0000000000000007): DW_OP_reg6 RBP28# VERBOSE-NEXT:      [0x0000000000000006, 0x0000000000000007) ".text": DW_OP_reg6 RBP29 30# REGULAR-NEXT:      [0x0000000000000007, 0x0000000000000008): DW_OP_reg7 RSP31# VERBOSE-NEXT:      [0x0000000000000007, 0x0000000000000008) ".text": DW_OP_reg7 RSP32 33# BOTH-NEXT:         DW_LLE_startx_length (0x000000000000dead, 0x0000000000000001): DW_OP_reg4 RSI)34 35# BOTH: locations list header: length = 0x00000056, format = DWARF32, version = 0x0005, addr_size = 0x08, seg_size = 0x00, offset_entry_count = 0x0000000036# BOTH-NEXT: 0x0000000c:37# BOTH-NEXT:     DW_LLE_startx_endx     (0x0000000000000000, 0x0000000000000001): DW_OP_reg0 RAX38# BOTH-NEXT:     DW_LLE_startx_length   (0x0000000000000001, 0x0000000000000001): DW_OP_reg1 RDX39# BOTH-NEXT:     DW_LLE_offset_pair     (0x0000000000000002, 0x0000000000000003): DW_OP_reg2 RCX40 41# REGULAR-NEXT:  <default>: DW_OP_reg3 RBX42# VERBOSE-NEXT:  DW_LLE_default_location()43# VERBOSE-NEXT:            => <default>: DW_OP_reg3 RBX44 45# REGULAR-NEXT:  [0x0000000000000004, 0x0000000000000005): DW_OP_reg4 RSI46# VERBOSE-NEXT:  DW_LLE_start_end       (0x0000000000000004, 0x0000000000000005) ".text"47# VERBOSE-NEXT:            => [0x0000000000000004, 0x0000000000000005) ".text": DW_OP_reg4 RSI48 49# REGULAR-NEXT:  [0x0000000000000005, 0x0000000000000006): DW_OP_reg5 RDI50# VERBOSE-NEXT:  DW_LLE_start_length    (0x0000000000000005, 0x0000000000000001) ".text"51# VERBOSE-NEXT:            => [0x0000000000000005, 0x0000000000000006) ".text": DW_OP_reg5 RDI52 53# BOTH-NEXT:     DW_LLE_base_addressx   (0x0000000000000002)54 55# BOTH-NEXT:     DW_LLE_offset_pair     (0x0000000000000000, 0x0000000000000001): DW_OP_reg6 RBP56 57# VERBOSE-NEXT:  DW_LLE_base_address    (0x0000000000000007) ".text"58 59# REGULAR-NEXT:  [0x0000000000000007, 0x0000000000000008): DW_OP_reg7 RSP60# VERBOSE-NEXT:  DW_LLE_offset_pair     (0x0000000000000000, 0x0000000000000001)61# VERBOSE-NEXT:            => [0x0000000000000007, 0x0000000000000008) ".text": DW_OP_reg7 RSP62 63# BOTH-NEXT:     DW_LLE_startx_length   (0x000000000000dead, 0x0000000000000001): DW_OP_reg4 RSI64 65# VERBOSE-NEXT:  DW_LLE_end_of_list     ()66 67 68        .text69f:                                      # @f70.Lf0:71        nop72.Lf1:73        nop74.Lf2:75        nop76.Lf3:77        nop78.Lf4:79        nop80.Lf5:81        nop82.Lf6:83        nop84.Lf7:85        nop86.Lf8:87.Lfend:88                                        # -- End function89        .section        .debug_loclists,"",@progbits90        .long   .Ldebug_loclist_table_end0-.Ldebug_loclist_table_start0 # Length91.Ldebug_loclist_table_start0:92        .short  5                       # Version93        .byte   8                       # Address size94        .byte   0                       # Segment selector size95        .long   0                       # Offset entry count96.Lloclists_table_base0:97.Ldebug_loc0:98        .byte   2                       # DW_LLE_startx_endx99        .uleb128 0                      #   start idx100        .uleb128 1                      #   end idx101        .byte   1                       # Loc expr size102        .byte   80                      # super-register DW_OP_reg0103 104        .byte   3                       # DW_LLE_startx_length105        .uleb128 1                      #   start idx106        .uleb128 .Lf2-.Lf1              #   length107        .byte   1                       # Loc expr size108        .byte   81                      # super-register DW_OP_reg1109 110        .byte   4                       # DW_LLE_offset_pair111        .uleb128 .Lf2-.Lf0              #   starting offset112        .uleb128 .Lf3-.Lf0              #   ending offset113        .byte   1                       # Loc expr size114        .byte   82                      # super-register DW_OP_reg2115 116        .byte   5                       # DW_LLE_default_location117        .byte   1                       # Loc expr size118        .byte   83                      # super-register DW_OP_reg3119 120        .byte   7                       # DW_LLE_start_end121        .quad   .Lf4                    #   starting offset122        .quad   .Lf5                    #   ending offset123        .byte   1                       # Loc expr size124        .byte   84                      # super-register DW_OP_reg4125 126        .byte   8                       # DW_LLE_start_length127        .quad   .Lf5                    #   starting offset128        .uleb128 .Lf6-.Lf5              #   length129        .byte   1                       # Loc expr size130        .byte   85                      # super-register DW_OP_reg5131 132        .byte   1                       # DW_LLE_base_addressx133        .uleb128 2                      #   base address134 135        .byte   4                       # DW_LLE_offset_pair136        .uleb128 .Lf6-.Lf6              #   starting offset137        .uleb128 .Lf7-.Lf6              #   ending offset138        .byte   1                       # Loc expr size139        .byte   86                      # super-register DW_OP_reg6140 141        .byte   6                       # DW_LLE_base_address142        .quad   .Lf7                    #   base address143 144        .byte   4                       # DW_LLE_offset_pair145        .uleb128 .Lf7-.Lf7              #   starting offset146        .uleb128 .Lf8-.Lf7              #   ending offset147        .byte   1                       # Loc expr size148        .byte   87                      # super-register DW_OP_reg7149 150        .byte   3                       # DW_LLE_startx_length151        .uleb128 0xdead                 #   start idx152        .uleb128 .Lf1-.Lf0              #   length153        .byte   1                       # Loc expr size154        .byte   84                      # super-register DW_OP_reg4155 156        .byte   0                       # DW_LLE_end_of_list157.Ldebug_loclist_table_end0:158 159        .section        .debug_abbrev,"",@progbits160        .byte   1                       # Abbreviation Code161        .byte   17                      # DW_TAG_compile_unit162        .byte   1                       # DW_CHILDREN_yes163        .byte   115                     # DW_AT_addr_base164        .byte   23                      # DW_FORM_sec_offset165        .ascii  "\214\001"              # DW_AT_loclists_base166        .byte   23                      # DW_FORM_sec_offset167        .byte   17                      # DW_AT_low_pc168        .byte   27                      # DW_FORM_addrx169        .byte   18                      # DW_AT_high_pc170        .byte   6                       # DW_FORM_data4171        .byte   0                       # EOM(1)172        .byte   0                       # EOM(2)173        .byte   2                       # Abbreviation Code174        .byte   46                      # DW_TAG_subprogram175        .byte   1                       # DW_CHILDREN_yes176        .byte   17                      # DW_AT_low_pc177        .byte   27                      # DW_FORM_addrx178        .byte   18                      # DW_AT_high_pc179        .byte   6                       # DW_FORM_data4180        .byte   0                       # EOM(1)181        .byte   0                       # EOM(2)182        .byte   3                       # Abbreviation Code183        .byte   5                       # DW_TAG_formal_parameter184        .byte   0                       # DW_CHILDREN_no185        .byte   2                       # DW_AT_location186        .byte   23                      # DW_FORM_sec_offset187        .byte   0                       # EOM(1)188        .byte   0                       # EOM(2)189        .byte   0                       # EOM(3)190        .section        .debug_info,"",@progbits191.Lcu_begin0:192        .long   .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit193.Ldebug_info_start0:194        .short  5                       # DWARF version number195        .byte   1                       # DWARF Unit Type196        .byte   8                       # Address Size (in bytes)197        .long   .debug_abbrev           # Offset Into Abbrev. Section198        .byte   1                       # Abbrev [1] 0xc:0x3c DW_TAG_compile_unit199        .long   .Laddr_table_base0      # DW_AT_addr_base200        .long   .Lloclists_table_base0  # DW_AT_loclists_base201        .byte   0                       # DW_AT_low_pc202        .long   .Lfend-.Lf0             # DW_AT_high_pc203        .byte   2                       # Abbrev [2] 0x27:0x1c DW_TAG_subprogram204        .byte   0                       # DW_AT_low_pc205        .long   .Lfend-.Lf0             # DW_AT_high_pc206        .byte   3                       # Abbrev [3] 0x36:0xc DW_TAG_formal_parameter207        .long   .Ldebug_loc0            # DW_AT_location208        .byte   0                       # End Of Children Mark209        .byte   0                       # End Of Children Mark210.Ldebug_info_end0:211 212        .section        .debug_addr,"",@progbits213        .long   .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution214.Ldebug_addr_start0:215        .short  5                       # DWARF version number216        .byte   8                       # Address size217        .byte   0                       # Segment selector size218.Laddr_table_base0:219        .quad   .Lf0220        .quad   .Lf1221        .quad   .Lf6222.Ldebug_addr_end0:223