1# RUN: llvm-mc %s -filetype obj -triple x86_64-pc-linux -o %t.o 2# RUN: llvm-dwarfdump -v %t.o | FileCheck %s 3 4# CHECK-NOT: error 5# CHECK: DW_AT_location [DW_FORM_exprloc] (DW_OP_const8u 0x0, DW_OP_GNU_push_tls_address) 6# CHECK: DW_AT_location [DW_FORM_exprloc] (DW_OP_const4u 0x0, DW_OP_GNU_push_tls_address) 7 8.section .debug_str,"MS",@progbits,1 9.Linfo_string0: 10 .asciz "X" 11 12.section .debug_abbrev,"",@progbits 13 .byte 1 # Abbreviation Code 14 .byte 17 # DW_TAG_compile_unit 15 .byte 1 # DW_CHILDREN_yes 16 .byte 37 # DW_AT_producer 17 .byte 14 # DW_FORM_strp 18 .byte 19 # DW_AT_language 19 .byte 5 # DW_FORM_data2 20 .byte 3 # DW_AT_name 21 .byte 14 # DW_FORM_strp 22 .byte 0 # EOM(1) 23 .byte 0 # EOM(2) 24 25 .byte 2 # Abbreviation Code 26 .byte 52 # DW_TAG_variable 27 .byte 0 # DW_CHILDREN_no 28 .byte 3 # DW_AT_name 29 .byte 14 # DW_FORM_strp 30 .byte 73 # DW_AT_type 31 .byte 19 # DW_FORM_ref4 32 .byte 63 # DW_AT_external 33 .byte 25 # DW_FORM_flag_present 34 .byte 2 # DW_AT_location 35 .byte 24 # DW_FORM_exprloc 36 .byte 0 # EOM(1) 37 .byte 0 # EOM(2) 38 39 .byte 0 # EOM(3) 40 41.section .debug_info,"",@progbits 42 .long 49 # Length of Unit 43 .short 4 # DWARF version number 44 .long .debug_abbrev # Offset Into Abbrev. Section 45 .byte 8 # Address Size (in bytes) 46 .byte 1 # Abbrev [1] 0xb:0x6c DW_TAG_compile_unit 47 .long .Linfo_string0 # DW_AT_producer 48 .short 4 # DW_AT_language 49 .long .Linfo_string0 # DW_AT_name 50 51 .byte 2 # Abbrev [2] 0x2a:0x16 DW_TAG_variable 52 .long .Linfo_string0 # DW_AT_name 53 .long 0 # DW_AT_type 54 .byte 10 # DW_AT_location 55 .byte 14 56 .quad tdata1@DTPOFF 57 .byte 224 58 59 .byte 2 # Abbrev [2] 0x47:0x16 DW_TAG_variable 60 .long .Linfo_string0 # DW_AT_name 61 .long 0 # DW_AT_type 62 .byte 6 # DW_AT_location 63 .byte 12 64 .long tdata2@DTPOFF 65 .byte 224 66 67 .byte 0 # End Of Children Mark 68 .byte 0 # End Of Children Mark 69