1*14f6cfcfSEsme-Yi# Source: 2*14f6cfcfSEsme-Yi# unsigned char arr[0x100000]; 3*14f6cfcfSEsme-Yi# Compile with: 4*14f6cfcfSEsme-Yi# clang -O2 -gdwarf-3 -S 1.cpp -o 1.s --target=x86_64-pc-linux-gnu 5*14f6cfcfSEsme-Yi 6*14f6cfcfSEsme-Yi# RUN: llvm-mc -triple x86_64-pc-linux-gnu -o - -filetype obj < %s | \ 7*14f6cfcfSEsme-Yi# RUN: llvm-dwarfdump -debug-info - | FileCheck %s 8*14f6cfcfSEsme-Yi 9*14f6cfcfSEsme-Yi# CHECK: DW_AT_count (0x00100000) 10*14f6cfcfSEsme-Yi 11*14f6cfcfSEsme-Yi .text 12*14f6cfcfSEsme-Yi .file "1.cpp" 13*14f6cfcfSEsme-Yi .file 1 "/llvm-project" "1.cpp" 14*14f6cfcfSEsme-Yi .type arr,@object # @arr 15*14f6cfcfSEsme-Yi .bss 16*14f6cfcfSEsme-Yi .globl arr 17*14f6cfcfSEsme-Yi .p2align 4 18*14f6cfcfSEsme-Yiarr: 19*14f6cfcfSEsme-Yi .zero 1048576 20*14f6cfcfSEsme-Yi .size arr, 1048576 21*14f6cfcfSEsme-Yi 22*14f6cfcfSEsme-Yi .section .debug_abbrev,"",@progbits 23*14f6cfcfSEsme-Yi .byte 1 # Abbreviation Code 24*14f6cfcfSEsme-Yi .byte 17 # DW_TAG_compile_unit 25*14f6cfcfSEsme-Yi .byte 1 # DW_CHILDREN_yes 26*14f6cfcfSEsme-Yi .byte 37 # DW_AT_producer 27*14f6cfcfSEsme-Yi .byte 14 # DW_FORM_strp 28*14f6cfcfSEsme-Yi .byte 19 # DW_AT_language 29*14f6cfcfSEsme-Yi .byte 5 # DW_FORM_data2 30*14f6cfcfSEsme-Yi .byte 3 # DW_AT_name 31*14f6cfcfSEsme-Yi .byte 14 # DW_FORM_strp 32*14f6cfcfSEsme-Yi .byte 16 # DW_AT_stmt_list 33*14f6cfcfSEsme-Yi .byte 6 # DW_FORM_data4 34*14f6cfcfSEsme-Yi .byte 27 # DW_AT_comp_dir 35*14f6cfcfSEsme-Yi .byte 14 # DW_FORM_strp 36*14f6cfcfSEsme-Yi .byte 0 # EOM(1) 37*14f6cfcfSEsme-Yi .byte 0 # EOM(2) 38*14f6cfcfSEsme-Yi .byte 2 # Abbreviation Code 39*14f6cfcfSEsme-Yi .byte 52 # DW_TAG_variable 40*14f6cfcfSEsme-Yi .byte 0 # DW_CHILDREN_no 41*14f6cfcfSEsme-Yi .byte 3 # DW_AT_name 42*14f6cfcfSEsme-Yi .byte 14 # DW_FORM_strp 43*14f6cfcfSEsme-Yi .byte 73 # DW_AT_type 44*14f6cfcfSEsme-Yi .byte 19 # DW_FORM_ref4 45*14f6cfcfSEsme-Yi .byte 63 # DW_AT_external 46*14f6cfcfSEsme-Yi .byte 12 # DW_FORM_flag 47*14f6cfcfSEsme-Yi .byte 58 # DW_AT_decl_file 48*14f6cfcfSEsme-Yi .byte 11 # DW_FORM_data1 49*14f6cfcfSEsme-Yi .byte 59 # DW_AT_decl_line 50*14f6cfcfSEsme-Yi .byte 11 # DW_FORM_data1 51*14f6cfcfSEsme-Yi .byte 2 # DW_AT_location 52*14f6cfcfSEsme-Yi .byte 10 # DW_FORM_block1 53*14f6cfcfSEsme-Yi .byte 0 # EOM(1) 54*14f6cfcfSEsme-Yi .byte 0 # EOM(2) 55*14f6cfcfSEsme-Yi .byte 3 # Abbreviation Code 56*14f6cfcfSEsme-Yi .byte 1 # DW_TAG_array_type 57*14f6cfcfSEsme-Yi .byte 1 # DW_CHILDREN_yes 58*14f6cfcfSEsme-Yi .byte 73 # DW_AT_type 59*14f6cfcfSEsme-Yi .byte 19 # DW_FORM_ref4 60*14f6cfcfSEsme-Yi .byte 0 # EOM(1) 61*14f6cfcfSEsme-Yi .byte 0 # EOM(2) 62*14f6cfcfSEsme-Yi .byte 4 # Abbreviation Code 63*14f6cfcfSEsme-Yi .byte 33 # DW_TAG_subrange_type 64*14f6cfcfSEsme-Yi .byte 0 # DW_CHILDREN_no 65*14f6cfcfSEsme-Yi .byte 73 # DW_AT_type 66*14f6cfcfSEsme-Yi .byte 19 # DW_FORM_ref4 67*14f6cfcfSEsme-Yi .byte 55 # DW_AT_count 68*14f6cfcfSEsme-Yi .byte 6 # DW_FORM_data4 69*14f6cfcfSEsme-Yi .byte 0 # EOM(1) 70*14f6cfcfSEsme-Yi .byte 0 # EOM(2) 71*14f6cfcfSEsme-Yi .byte 5 # Abbreviation Code 72*14f6cfcfSEsme-Yi .byte 36 # DW_TAG_base_type 73*14f6cfcfSEsme-Yi .byte 0 # DW_CHILDREN_no 74*14f6cfcfSEsme-Yi .byte 3 # DW_AT_name 75*14f6cfcfSEsme-Yi .byte 14 # DW_FORM_strp 76*14f6cfcfSEsme-Yi .byte 62 # DW_AT_encoding 77*14f6cfcfSEsme-Yi .byte 11 # DW_FORM_data1 78*14f6cfcfSEsme-Yi .byte 11 # DW_AT_byte_size 79*14f6cfcfSEsme-Yi .byte 11 # DW_FORM_data1 80*14f6cfcfSEsme-Yi .byte 0 # EOM(1) 81*14f6cfcfSEsme-Yi .byte 0 # EOM(2) 82*14f6cfcfSEsme-Yi .byte 6 # Abbreviation Code 83*14f6cfcfSEsme-Yi .byte 36 # DW_TAG_base_type 84*14f6cfcfSEsme-Yi .byte 0 # DW_CHILDREN_no 85*14f6cfcfSEsme-Yi .byte 3 # DW_AT_name 86*14f6cfcfSEsme-Yi .byte 14 # DW_FORM_strp 87*14f6cfcfSEsme-Yi .byte 11 # DW_AT_byte_size 88*14f6cfcfSEsme-Yi .byte 11 # DW_FORM_data1 89*14f6cfcfSEsme-Yi .byte 62 # DW_AT_encoding 90*14f6cfcfSEsme-Yi .byte 11 # DW_FORM_data1 91*14f6cfcfSEsme-Yi .byte 0 # EOM(1) 92*14f6cfcfSEsme-Yi .byte 0 # EOM(2) 93*14f6cfcfSEsme-Yi .byte 0 # EOM(3) 94*14f6cfcfSEsme-Yi .section .debug_info,"",@progbits 95*14f6cfcfSEsme-Yi.Lcu_begin0: 96*14f6cfcfSEsme-Yi .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit 97*14f6cfcfSEsme-Yi.Ldebug_info_start0: 98*14f6cfcfSEsme-Yi .short 3 # DWARF version number 99*14f6cfcfSEsme-Yi .long .debug_abbrev # Offset Into Abbrev. Section 100*14f6cfcfSEsme-Yi .byte 8 # Address Size (in bytes) 101*14f6cfcfSEsme-Yi .byte 1 # Abbrev [1] 0xb:0x47 DW_TAG_compile_unit 102*14f6cfcfSEsme-Yi .long .Linfo_string0 # DW_AT_producer 103*14f6cfcfSEsme-Yi .short 33 # DW_AT_language 104*14f6cfcfSEsme-Yi .long .Linfo_string1 # DW_AT_name 105*14f6cfcfSEsme-Yi .long .Lline_table_start0 # DW_AT_stmt_list 106*14f6cfcfSEsme-Yi .long .Linfo_string2 # DW_AT_comp_dir 107*14f6cfcfSEsme-Yi .byte 2 # Abbrev [2] 0x1e:0x16 DW_TAG_variable 108*14f6cfcfSEsme-Yi .long .Linfo_string3 # DW_AT_name 109*14f6cfcfSEsme-Yi .long 52 # DW_AT_type 110*14f6cfcfSEsme-Yi .byte 1 # DW_AT_external 111*14f6cfcfSEsme-Yi .byte 1 # DW_AT_decl_file 112*14f6cfcfSEsme-Yi .byte 1 # DW_AT_decl_line 113*14f6cfcfSEsme-Yi .byte 9 # DW_AT_location 114*14f6cfcfSEsme-Yi .byte 3 115*14f6cfcfSEsme-Yi .quad arr 116*14f6cfcfSEsme-Yi .byte 3 # Abbrev [3] 0x34:0xf DW_TAG_array_type 117*14f6cfcfSEsme-Yi .long 67 # DW_AT_type 118*14f6cfcfSEsme-Yi .byte 4 # Abbrev [4] 0x39:0x9 DW_TAG_subrange_type 119*14f6cfcfSEsme-Yi .long 74 # DW_AT_type 120*14f6cfcfSEsme-Yi .long 1048576 # DW_AT_count 121*14f6cfcfSEsme-Yi .byte 0 # End Of Children Mark 122*14f6cfcfSEsme-Yi .byte 5 # Abbrev [5] 0x43:0x7 DW_TAG_base_type 123*14f6cfcfSEsme-Yi .long .Linfo_string4 # DW_AT_name 124*14f6cfcfSEsme-Yi .byte 8 # DW_AT_encoding 125*14f6cfcfSEsme-Yi .byte 1 # DW_AT_byte_size 126*14f6cfcfSEsme-Yi .byte 6 # Abbrev [6] 0x4a:0x7 DW_TAG_base_type 127*14f6cfcfSEsme-Yi .long .Linfo_string5 # DW_AT_name 128*14f6cfcfSEsme-Yi .byte 8 # DW_AT_byte_size 129*14f6cfcfSEsme-Yi .byte 7 # DW_AT_encoding 130*14f6cfcfSEsme-Yi .byte 0 # End Of Children Mark 131*14f6cfcfSEsme-Yi.Ldebug_info_end0: 132*14f6cfcfSEsme-Yi .section .debug_str,"MS",@progbits,1 133*14f6cfcfSEsme-Yi.Linfo_string0: 134*14f6cfcfSEsme-Yi .asciz "clang version 13.0.0" # string offset=0 135*14f6cfcfSEsme-Yi.Linfo_string1: 136*14f6cfcfSEsme-Yi .asciz "1.cpp" # string offset=21 137*14f6cfcfSEsme-Yi.Linfo_string2: 138*14f6cfcfSEsme-Yi .asciz "/llvm-project" # string offset=27 139*14f6cfcfSEsme-Yi.Linfo_string3: 140*14f6cfcfSEsme-Yi .asciz "arr" # string offset=61 141*14f6cfcfSEsme-Yi.Linfo_string4: 142*14f6cfcfSEsme-Yi .asciz "unsigned char" # string offset=65 143*14f6cfcfSEsme-Yi.Linfo_string5: 144*14f6cfcfSEsme-Yi .asciz "__ARRAY_SIZE_TYPE__" # string offset=79 145*14f6cfcfSEsme-Yi .ident "clang version 13.0.0" 146*14f6cfcfSEsme-Yi .section ".note.GNU-stack","",@progbits 147*14f6cfcfSEsme-Yi .addrsig 148*14f6cfcfSEsme-Yi .section .debug_line,"",@progbits 149*14f6cfcfSEsme-Yi.Lline_table_start0: 150