1# RUN: llvm-mc -filetype=obj -o %t -triple x86_64-pc-linux %s 2# RUN: %lldb %t -o "target variable reset" -b | FileCheck %s 3 4# CHECK: (lldb) target variable reset 5# CHECK: (auto_reset) reset = { 6# CHECK: ptr = 0xdeadbeefbaadf00d 7# Note: We need to find some way to represent "prev" as unknown/undefined. 8# CHECK: prev = false 9# CHECK: } 10 11 .section .debug_abbrev,"",@progbits 12 .byte 1 # Abbreviation Code 13 .byte 17 # DW_TAG_compile_unit 14 .byte 1 # DW_CHILDREN_yes 15 .byte 0 # EOM(1) 16 .byte 0 # EOM(2) 17 .byte 2 # Abbreviation Code 18 .byte 52 # DW_TAG_variable 19 .byte 0 # DW_CHILDREN_no 20 .byte 3 # DW_AT_name 21 .byte 8 # DW_FORM_string 22 .byte 73 # DW_AT_type 23 .byte 19 # DW_FORM_ref4 24 .byte 2 # DW_AT_location 25 .byte 24 # DW_FORM_exprloc 26 .byte 0 # EOM(1) 27 .byte 0 # EOM(2) 28 .byte 3 # Abbreviation Code 29 .byte 36 # DW_TAG_base_type 30 .byte 0 # DW_CHILDREN_no 31 .byte 3 # DW_AT_name 32 .byte 8 # DW_FORM_string 33 .byte 62 # DW_AT_encoding 34 .byte 11 # DW_FORM_data1 35 .byte 11 # DW_AT_byte_size 36 .byte 11 # DW_FORM_data1 37 .byte 0 # EOM(1) 38 .byte 0 # EOM(2) 39 .byte 4 # Abbreviation Code 40 .byte 19 # DW_TAG_structure_type 41 .byte 1 # DW_CHILDREN_yes 42 .byte 3 # DW_AT_name 43 .byte 8 # DW_FORM_string 44 .byte 11 # DW_AT_byte_size 45 .byte 11 # DW_FORM_data1 46 .byte 0 # EOM(1) 47 .byte 0 # EOM(2) 48 .byte 5 # Abbreviation Code 49 .byte 13 # DW_TAG_member 50 .byte 0 # DW_CHILDREN_no 51 .byte 3 # DW_AT_name 52 .byte 8 # DW_FORM_string 53 .byte 73 # DW_AT_type 54 .byte 19 # DW_FORM_ref4 55 .byte 56 # DW_AT_data_member_location 56 .byte 11 # DW_FORM_data1 57 .byte 0 # EOM(1) 58 .byte 0 # EOM(2) 59 .byte 6 # Abbreviation Code 60 .byte 15 # DW_TAG_pointer_type 61 .byte 0 # DW_CHILDREN_no 62 .byte 73 # DW_AT_type 63 .byte 19 # DW_FORM_ref4 64 .byte 0 # EOM(1) 65 .byte 0 # EOM(2) 66 .byte 0 # EOM(3) 67 68 .section .debug_info,"",@progbits 69.Lcu_begin0: 70 .long .Lcu_end-.Lcu_start # Length of Unit 71.Lcu_start: 72 .short 4 # DWARF version number 73 .long .debug_abbrev # Offset Into Abbrev. Section 74 .byte 8 # Address Size (in bytes) 75 .byte 1 # Abbrev [1] 0xb:0x6c DW_TAG_compile_unit 76.Lbool: 77 .byte 3 # Abbrev [3] 0x33:0x7 DW_TAG_base_type 78 .asciz "bool" # DW_AT_name 79 .byte 2 # DW_AT_encoding 80 .byte 1 # DW_AT_byte_size 81 .byte 2 # Abbrev [2] 0x3a:0x15 DW_TAG_variable 82 .asciz "reset" # DW_AT_name 83 .long .Lstruct # DW_AT_type 84 .byte 2f-1f # DW_AT_location 851: 86 .byte 0xe # DW_OP_constu 87 .quad 0xdeadbeefbaadf00d 88 .byte 0x9f # DW_OP_stack_value 89 .byte 0x93 # DW_OP_piece 90 .uleb128 8 91 # Note: Only the first 8 bytes of the struct are described. 922: 93.Lstruct: 94 .byte 4 # Abbrev [4] 0x4f:0x22 DW_TAG_structure_type 95 .asciz "auto_reset" # DW_AT_name 96 .byte 16 # DW_AT_byte_size 97 .byte 5 # Abbrev [5] 0x58:0xc DW_TAG_member 98 .asciz "ptr" # DW_AT_name 99 .long .Lbool_ptr # DW_AT_type 100 .byte 0 # DW_AT_data_member_location 101 .byte 5 # Abbrev [5] 0x64:0xc DW_TAG_member 102 .asciz "prev" # DW_AT_name 103 .long .Lbool # DW_AT_type 104 .byte 8 # DW_AT_data_member_location 105 .byte 0 # End Of Children Mark 106.Lbool_ptr: 107 .byte 6 # Abbrev [6] 0x71:0x5 DW_TAG_pointer_type 108 .long .Lbool # DW_AT_type 109 .byte 0 # End Of Children Mark 110.Lcu_end: 111