1fa2fb885SShubham Sandeep Rastogi## This test checks handling of DWARFv5 address attribute. 2fa2fb885SShubham Sandeep Rastogi## It contains two compile units. One is a good one and 3fa2fb885SShubham Sandeep Rastogi## should be processed correctly. Second is a bad - it 4fa2fb885SShubham Sandeep Rastogi## missing DW_AT_addr_base attribute. All address attributes 5fa2fb885SShubham Sandeep Rastogi## inside this unit should be skipped. 6fa2fb885SShubham Sandeep Rastogi 7fa2fb885SShubham Sandeep Rastogi# RUN: yaml2obj %s -o %t.o 8fa2fb885SShubham Sandeep Rastogi# RUN: echo '---' > %t2.map 9fa2fb885SShubham Sandeep Rastogi# RUN: echo "triple: 'x86_64-apple-darwin'" >> %t2.map 10fa2fb885SShubham Sandeep Rastogi# RUN: echo 'objects:' >> %t2.map 11fa2fb885SShubham Sandeep Rastogi# RUN: echo " - filename: '%t.o'" >> %t2.map 12fa2fb885SShubham Sandeep Rastogi# RUN: echo ' symbols:' >> %t2.map 13fa2fb885SShubham Sandeep Rastogi# RUN: echo ' - { sym: __Z3foov, objAddr: 0x0, binAddr: 0x10000, size: 0x10 }' >> %t2.map 14fa2fb885SShubham Sandeep Rastogi# RUN: echo '...' >> %t2.map 15fa2fb885SShubham Sandeep Rastogi# RUN: dsymutil -y %t2.map -f -o - | llvm-dwarfdump -a - | FileCheck %s 16fa2fb885SShubham Sandeep Rastogi 17fa2fb885SShubham Sandeep Rastogi# CHECK: file format Mach-O 64-bit x86-64 18fa2fb885SShubham Sandeep Rastogi# CHECK: .debug_info contents: 19fa2fb885SShubham Sandeep Rastogi# CHECK: Compile Unit: 20fa2fb885SShubham Sandeep Rastogi# CHECK: DW_TAG_compile_unit 21fa2fb885SShubham Sandeep Rastogi# CHECK: DW_AT_name{{.*}}"GoodCU" 22fa2fb885SShubham Sandeep Rastogi# CHECK: DW_AT_low_pc 23fa2fb885SShubham Sandeep Rastogi# CHECK: DW_TAG_subprogram 24fa2fb885SShubham Sandeep Rastogi# CHECK: DW_AT_name{{.*}}"foo" 25fa2fb885SShubham Sandeep Rastogi# CHECK: DW_TAG_variable 26fa2fb885SShubham Sandeep Rastogi# CHECK: DW_AT_name{{.*}}"var1" 27fa2fb885SShubham Sandeep Rastogi# CHECK: DW_AT_location (DW_OP_addr 28*53d40b97SShubham Sandeep Rastogi# CHECK: 0x00000043: NULL 29fa2fb885SShubham Sandeep Rastogi# CHECK: Compile Unit: 30fa2fb885SShubham Sandeep Rastogi# CHECK: DW_TAG_compile_unit 31fa2fb885SShubham Sandeep Rastogi# CHECK-NOT: DW_AT_low_pc 32fa2fb885SShubham Sandeep Rastogi# CHECK: DW_AT_name{{.*}}"BadCU" 33fa2fb885SShubham Sandeep Rastogi# CHECK-NOT: DW_TAG_subprogram 34fa2fb885SShubham Sandeep Rastogi# CHECK-NOT: DW_TAG_variable 35*53d40b97SShubham Sandeep Rastogi# CHECK: 0x0000005b: NULL 36fa2fb885SShubham Sandeep Rastogi 37fa2fb885SShubham Sandeep Rastogi--- !mach-o 38fa2fb885SShubham Sandeep RastogiFileHeader: 39fa2fb885SShubham Sandeep Rastogi magic: 0xFEEDFACF 40fa2fb885SShubham Sandeep Rastogi cputype: 0x01000007 41fa2fb885SShubham Sandeep Rastogi cpusubtype: 0x00000003 42fa2fb885SShubham Sandeep Rastogi filetype: 0x00000001 43fa2fb885SShubham Sandeep Rastogi ncmds: 2 44fa2fb885SShubham Sandeep Rastogi sizeofcmds: 472 45fa2fb885SShubham Sandeep Rastogi flags: 0x00002000 46fa2fb885SShubham Sandeep Rastogi reserved: 0x00000000 47fa2fb885SShubham Sandeep RastogiLoadCommands: 48fa2fb885SShubham Sandeep Rastogi - cmd: LC_SEGMENT_64 49fa2fb885SShubham Sandeep Rastogi cmdsize: 312 50fa2fb885SShubham Sandeep Rastogi segname: '' 51fa2fb885SShubham Sandeep Rastogi vmaddr: 0x00 52fa2fb885SShubham Sandeep Rastogi vmsize: 0x300 53fa2fb885SShubham Sandeep Rastogi fileoff: 0x300 54fa2fb885SShubham Sandeep Rastogi filesize: 0x300 55fa2fb885SShubham Sandeep Rastogi maxprot: 7 56fa2fb885SShubham Sandeep Rastogi initprot: 7 57fa2fb885SShubham Sandeep Rastogi nsects: 3 58fa2fb885SShubham Sandeep Rastogi flags: 0 59fa2fb885SShubham Sandeep Rastogi Sections: 60fa2fb885SShubham Sandeep Rastogi - sectname: __debug_abbrev 61fa2fb885SShubham Sandeep Rastogi segname: __DWARF 62fa2fb885SShubham Sandeep Rastogi addr: 0x000000000000000F 63fa2fb885SShubham Sandeep Rastogi size: 0x60 64fa2fb885SShubham Sandeep Rastogi offset: 0x00000210 65fa2fb885SShubham Sandeep Rastogi align: 0 66fa2fb885SShubham Sandeep Rastogi reloff: 0x00000000 67fa2fb885SShubham Sandeep Rastogi nreloc: 0 68fa2fb885SShubham Sandeep Rastogi flags: 0x00000000 69fa2fb885SShubham Sandeep Rastogi reserved1: 0x00000000 70fa2fb885SShubham Sandeep Rastogi reserved2: 0x00000000 71fa2fb885SShubham Sandeep Rastogi reserved3: 0x00000000 72fa2fb885SShubham Sandeep Rastogi - sectname: __debug_info 73fa2fb885SShubham Sandeep Rastogi segname: __DWARF 74fa2fb885SShubham Sandeep Rastogi addr: 0x000000000000100 75fa2fb885SShubham Sandeep Rastogi size: 0x9e 76fa2fb885SShubham Sandeep Rastogi offset: 0x00000310 77fa2fb885SShubham Sandeep Rastogi align: 0 78fa2fb885SShubham Sandeep Rastogi reloff: 0x00000000 79fa2fb885SShubham Sandeep Rastogi nreloc: 0 80fa2fb885SShubham Sandeep Rastogi flags: 0x00000000 81fa2fb885SShubham Sandeep Rastogi reserved1: 0x00000000 82fa2fb885SShubham Sandeep Rastogi reserved2: 0x00000000 83fa2fb885SShubham Sandeep Rastogi reserved3: 0x00000000 84fa2fb885SShubham Sandeep Rastogi - sectname: __debug_addr 85fa2fb885SShubham Sandeep Rastogi segname: __DWARF 86fa2fb885SShubham Sandeep Rastogi addr: 0x0000000000000200 87fa2fb885SShubham Sandeep Rastogi size: 0x30 88fa2fb885SShubham Sandeep Rastogi offset: 0x00000400 89fa2fb885SShubham Sandeep Rastogi align: 0 90fa2fb885SShubham Sandeep Rastogi reloff: 0x00000600 91fa2fb885SShubham Sandeep Rastogi nreloc: 2 92fa2fb885SShubham Sandeep Rastogi flags: 0x02000000 93fa2fb885SShubham Sandeep Rastogi reserved1: 0x00000000 94fa2fb885SShubham Sandeep Rastogi reserved2: 0x00000000 95fa2fb885SShubham Sandeep Rastogi reserved3: 0x00000000 96fa2fb885SShubham Sandeep Rastogi relocations: 97fa2fb885SShubham Sandeep Rastogi - address: 0x8 98fa2fb885SShubham Sandeep Rastogi symbolnum: 1 99fa2fb885SShubham Sandeep Rastogi pcrel: true 100fa2fb885SShubham Sandeep Rastogi length: 3 101fa2fb885SShubham Sandeep Rastogi extern: true 102fa2fb885SShubham Sandeep Rastogi type: 0 103fa2fb885SShubham Sandeep Rastogi scattered: false 104fa2fb885SShubham Sandeep Rastogi value: 0 105fa2fb885SShubham Sandeep Rastogi - address: 0x1c 106fa2fb885SShubham Sandeep Rastogi symbolnum: 1 107fa2fb885SShubham Sandeep Rastogi pcrel: true 108fa2fb885SShubham Sandeep Rastogi length: 3 109fa2fb885SShubham Sandeep Rastogi extern: true 110fa2fb885SShubham Sandeep Rastogi type: 0 111fa2fb885SShubham Sandeep Rastogi scattered: false 112fa2fb885SShubham Sandeep Rastogi value: 0 113fa2fb885SShubham Sandeep Rastogi - cmd: LC_SYMTAB 114fa2fb885SShubham Sandeep Rastogi cmdsize: 24 115fa2fb885SShubham Sandeep Rastogi symoff: 0x700 116fa2fb885SShubham Sandeep Rastogi nsyms: 2 117fa2fb885SShubham Sandeep Rastogi stroff: 0x720 118fa2fb885SShubham Sandeep Rastogi strsize: 10 119fa2fb885SShubham Sandeep RastogiLinkEditData: 120fa2fb885SShubham Sandeep Rastogi NameList: 121fa2fb885SShubham Sandeep Rastogi - n_strx: 1 122fa2fb885SShubham Sandeep Rastogi n_type: 0x0F 123fa2fb885SShubham Sandeep Rastogi n_sect: 1 124fa2fb885SShubham Sandeep Rastogi n_desc: 0 125fa2fb885SShubham Sandeep Rastogi n_value: 0 126fa2fb885SShubham Sandeep Rastogi - n_strx: 1 127fa2fb885SShubham Sandeep Rastogi n_type: 0x0F 128fa2fb885SShubham Sandeep Rastogi n_sect: 1 129fa2fb885SShubham Sandeep Rastogi n_desc: 0 130fa2fb885SShubham Sandeep Rastogi n_value: 0 131fa2fb885SShubham Sandeep Rastogi StringTable: 132fa2fb885SShubham Sandeep Rastogi - '' 133fa2fb885SShubham Sandeep Rastogi - '__Z3foov' 134fa2fb885SShubham Sandeep Rastogi - '' 135fa2fb885SShubham Sandeep RastogiDWARF: 136fa2fb885SShubham Sandeep Rastogi debug_abbrev: 137fa2fb885SShubham Sandeep Rastogi - Table: 138fa2fb885SShubham Sandeep Rastogi - Tag: DW_TAG_compile_unit 139fa2fb885SShubham Sandeep Rastogi Children: DW_CHILDREN_yes 140fa2fb885SShubham Sandeep Rastogi Attributes: 141fa2fb885SShubham Sandeep Rastogi - Attribute: DW_AT_producer 142fa2fb885SShubham Sandeep Rastogi Form: DW_FORM_string 143fa2fb885SShubham Sandeep Rastogi - Attribute: DW_AT_language 144fa2fb885SShubham Sandeep Rastogi Form: DW_FORM_data2 145fa2fb885SShubham Sandeep Rastogi - Attribute: DW_AT_name 146fa2fb885SShubham Sandeep Rastogi Form: DW_FORM_string 147fa2fb885SShubham Sandeep Rastogi - Attribute: DW_AT_low_pc 148fa2fb885SShubham Sandeep Rastogi Form: DW_FORM_addrx 149fa2fb885SShubham Sandeep Rastogi - Attribute: DW_AT_high_pc 150fa2fb885SShubham Sandeep Rastogi Form: DW_FORM_data8 151fa2fb885SShubham Sandeep Rastogi - Attribute: DW_AT_addr_base 152fa2fb885SShubham Sandeep Rastogi Form: DW_FORM_sec_offset 153fa2fb885SShubham Sandeep Rastogi - Tag: DW_TAG_subprogram 154fa2fb885SShubham Sandeep Rastogi Children: DW_CHILDREN_yes 155fa2fb885SShubham Sandeep Rastogi Attributes: 156fa2fb885SShubham Sandeep Rastogi - Attribute: DW_AT_name 157fa2fb885SShubham Sandeep Rastogi Form: DW_FORM_string 158fa2fb885SShubham Sandeep Rastogi - Attribute: DW_AT_low_pc 159fa2fb885SShubham Sandeep Rastogi Form: DW_FORM_addrx 160fa2fb885SShubham Sandeep Rastogi - Attribute: DW_AT_high_pc 161fa2fb885SShubham Sandeep Rastogi Form: DW_FORM_data8 162fa2fb885SShubham Sandeep Rastogi - Attribute: DW_AT_type 163fa2fb885SShubham Sandeep Rastogi Form: DW_FORM_ref4 164fa2fb885SShubham Sandeep Rastogi - Tag: DW_TAG_base_type 165fa2fb885SShubham Sandeep Rastogi Children: DW_CHILDREN_no 166fa2fb885SShubham Sandeep Rastogi Attributes: 167fa2fb885SShubham Sandeep Rastogi - Attribute: DW_AT_name 168fa2fb885SShubham Sandeep Rastogi Form: DW_FORM_string 169fa2fb885SShubham Sandeep Rastogi - Tag: DW_TAG_variable 170fa2fb885SShubham Sandeep Rastogi Children: DW_CHILDREN_no 171fa2fb885SShubham Sandeep Rastogi Attributes: 172fa2fb885SShubham Sandeep Rastogi - Attribute: DW_AT_name 173fa2fb885SShubham Sandeep Rastogi Form: DW_FORM_string 174fa2fb885SShubham Sandeep Rastogi - Attribute: DW_AT_type 175fa2fb885SShubham Sandeep Rastogi Form: DW_FORM_ref4 176fa2fb885SShubham Sandeep Rastogi - Attribute: DW_AT_location 177fa2fb885SShubham Sandeep Rastogi Form: DW_FORM_exprloc 178fa2fb885SShubham Sandeep Rastogi - Table: 179fa2fb885SShubham Sandeep Rastogi - Tag: DW_TAG_compile_unit 180fa2fb885SShubham Sandeep Rastogi Children: DW_CHILDREN_yes 181fa2fb885SShubham Sandeep Rastogi Attributes: 182fa2fb885SShubham Sandeep Rastogi - Attribute: DW_AT_producer 183fa2fb885SShubham Sandeep Rastogi Form: DW_FORM_string 184fa2fb885SShubham Sandeep Rastogi - Attribute: DW_AT_language 185fa2fb885SShubham Sandeep Rastogi Form: DW_FORM_data2 186fa2fb885SShubham Sandeep Rastogi - Attribute: DW_AT_name 187fa2fb885SShubham Sandeep Rastogi Form: DW_FORM_string 188fa2fb885SShubham Sandeep Rastogi - Attribute: DW_AT_low_pc 189fa2fb885SShubham Sandeep Rastogi Form: DW_FORM_addrx 190fa2fb885SShubham Sandeep Rastogi - Attribute: DW_AT_high_pc 191fa2fb885SShubham Sandeep Rastogi Form: DW_FORM_data8 192fa2fb885SShubham Sandeep Rastogi - Tag: DW_TAG_subprogram 193fa2fb885SShubham Sandeep Rastogi Children: DW_CHILDREN_yes 194fa2fb885SShubham Sandeep Rastogi Attributes: 195fa2fb885SShubham Sandeep Rastogi - Attribute: DW_AT_name 196fa2fb885SShubham Sandeep Rastogi Form: DW_FORM_string 197fa2fb885SShubham Sandeep Rastogi - Attribute: DW_AT_low_pc 198fa2fb885SShubham Sandeep Rastogi Form: DW_FORM_addrx 199fa2fb885SShubham Sandeep Rastogi - Attribute: DW_AT_high_pc 200fa2fb885SShubham Sandeep Rastogi Form: DW_FORM_data8 201fa2fb885SShubham Sandeep Rastogi - Attribute: DW_AT_type 202fa2fb885SShubham Sandeep Rastogi Form: DW_FORM_ref4 203fa2fb885SShubham Sandeep Rastogi - Tag: DW_TAG_base_type 204fa2fb885SShubham Sandeep Rastogi Children: DW_CHILDREN_no 205fa2fb885SShubham Sandeep Rastogi Attributes: 206fa2fb885SShubham Sandeep Rastogi - Attribute: DW_AT_name 207fa2fb885SShubham Sandeep Rastogi Form: DW_FORM_string 208fa2fb885SShubham Sandeep Rastogi - Tag: DW_TAG_variable 209fa2fb885SShubham Sandeep Rastogi Children: DW_CHILDREN_no 210fa2fb885SShubham Sandeep Rastogi Attributes: 211fa2fb885SShubham Sandeep Rastogi - Attribute: DW_AT_name 212fa2fb885SShubham Sandeep Rastogi Form: DW_FORM_string 213fa2fb885SShubham Sandeep Rastogi - Attribute: DW_AT_type 214fa2fb885SShubham Sandeep Rastogi Form: DW_FORM_ref4 215fa2fb885SShubham Sandeep Rastogi - Attribute: DW_AT_location 216fa2fb885SShubham Sandeep Rastogi Form: DW_FORM_exprloc 217fa2fb885SShubham Sandeep Rastogi debug_info: 218fa2fb885SShubham Sandeep Rastogi - Version: 5 219fa2fb885SShubham Sandeep Rastogi UnitType: DW_UT_compile 220fa2fb885SShubham Sandeep Rastogi Entries: 221fa2fb885SShubham Sandeep Rastogi - AbbrCode: 1 222fa2fb885SShubham Sandeep Rastogi Values: 223fa2fb885SShubham Sandeep Rastogi - CStr: by_hand 224fa2fb885SShubham Sandeep Rastogi - Value: 0x04 225fa2fb885SShubham Sandeep Rastogi - CStr: GoodCU 226fa2fb885SShubham Sandeep Rastogi - Value: 0x0 227fa2fb885SShubham Sandeep Rastogi - Value: 0x10 228fa2fb885SShubham Sandeep Rastogi - Value: 0x8 229fa2fb885SShubham Sandeep Rastogi - AbbrCode: 2 230fa2fb885SShubham Sandeep Rastogi Values: 231fa2fb885SShubham Sandeep Rastogi - CStr: foo 232fa2fb885SShubham Sandeep Rastogi - Value: 0x0 233fa2fb885SShubham Sandeep Rastogi - Value: 0x10 234fa2fb885SShubham Sandeep Rastogi - Value: 0x3e 235fa2fb885SShubham Sandeep Rastogi - AbbrCode: 0 236fa2fb885SShubham Sandeep Rastogi - AbbrCode: 3 237fa2fb885SShubham Sandeep Rastogi Values: 238fa2fb885SShubham Sandeep Rastogi - CStr: int 239fa2fb885SShubham Sandeep Rastogi - AbbrCode: 4 240fa2fb885SShubham Sandeep Rastogi Values: 241fa2fb885SShubham Sandeep Rastogi - CStr: var1 242fa2fb885SShubham Sandeep Rastogi - Value: 0x0000003e 243fa2fb885SShubham Sandeep Rastogi - BlockData: 244fa2fb885SShubham Sandeep Rastogi - 0xa1 245fa2fb885SShubham Sandeep Rastogi - 0x00 246fa2fb885SShubham Sandeep Rastogi - AbbrCode: 0 247fa2fb885SShubham Sandeep Rastogi - Version: 5 248fa2fb885SShubham Sandeep Rastogi UnitType: DW_UT_compile 249fa2fb885SShubham Sandeep Rastogi Entries: 250fa2fb885SShubham Sandeep Rastogi - AbbrCode: 1 251fa2fb885SShubham Sandeep Rastogi Values: 252fa2fb885SShubham Sandeep Rastogi - CStr: by_hand 253fa2fb885SShubham Sandeep Rastogi - Value: 0x04 254fa2fb885SShubham Sandeep Rastogi - CStr: BadCU 255fa2fb885SShubham Sandeep Rastogi - Value: 0x0 256fa2fb885SShubham Sandeep Rastogi - Value: 0x10 257fa2fb885SShubham Sandeep Rastogi - AbbrCode: 2 258fa2fb885SShubham Sandeep Rastogi Values: 259fa2fb885SShubham Sandeep Rastogi - CStr: foo1 260fa2fb885SShubham Sandeep Rastogi - Value: 0x0 261fa2fb885SShubham Sandeep Rastogi - Value: 0x10 262fa2fb885SShubham Sandeep Rastogi - Value: 0x3e 263fa2fb885SShubham Sandeep Rastogi - AbbrCode: 0 264fa2fb885SShubham Sandeep Rastogi - AbbrCode: 3 265fa2fb885SShubham Sandeep Rastogi Values: 266fa2fb885SShubham Sandeep Rastogi - CStr: int 267fa2fb885SShubham Sandeep Rastogi - AbbrCode: 4 268fa2fb885SShubham Sandeep Rastogi Values: 269fa2fb885SShubham Sandeep Rastogi - CStr: var1 270fa2fb885SShubham Sandeep Rastogi - Value: 0x0000003e 271fa2fb885SShubham Sandeep Rastogi - BlockData: 272fa2fb885SShubham Sandeep Rastogi - 0xa1 273fa2fb885SShubham Sandeep Rastogi - 0x00 274fa2fb885SShubham Sandeep Rastogi - AbbrCode: 0 275fa2fb885SShubham Sandeep Rastogi debug_addr: 276fa2fb885SShubham Sandeep Rastogi - Version: 5 277fa2fb885SShubham Sandeep Rastogi AddressSize: 0x08 278fa2fb885SShubham Sandeep Rastogi Entries: 279fa2fb885SShubham Sandeep Rastogi - Address: 0x1130 280fa2fb885SShubham Sandeep Rastogi - Version: 5 281fa2fb885SShubham Sandeep Rastogi AddressSize: 0x08 282fa2fb885SShubham Sandeep Rastogi Entries: 283fa2fb885SShubham Sandeep Rastogi - Address: 0x10 284fa2fb885SShubham Sandeep Rastogi... 285