1b61ac4a8Savl-llvm# RUN: yaml2obj %s -o %t.o 2b61ac4a8Savl-llvm# RUN: echo '---' > %t2.map 3b61ac4a8Savl-llvm# RUN: echo "triple: 'x86_64-apple-darwin'" >> %t2.map 4b61ac4a8Savl-llvm# RUN: echo 'objects:' >> %t2.map 5b61ac4a8Savl-llvm# RUN: echo " - filename: '%t.o'" >> %t2.map 6b61ac4a8Savl-llvm# RUN: echo ' symbols:' >> %t2.map 7b61ac4a8Savl-llvm# RUN: echo ' - { sym: __Z3foov, objAddr: 0x0, binAddr: 0x10000, size: 0x10 }' >> %t2.map 8b61ac4a8Savl-llvm# RUN: echo '...' >> %t2.map 9*f1fdfe68SAlexey Lapshin# RUN: dsymutil --linker=parallel -y %t2.map -f -o %t1.out 10b61ac4a8Savl-llvm# RUN: llvm-dwarfdump -a %t1.out | FileCheck %s 11b61ac4a8Savl-llvm 12b61ac4a8Savl-llvm## This test checks that DW_TAG_namespace with DW_AT_extension 13b61ac4a8Savl-llvm## attribute is joined with referenced namespace. 14b61ac4a8Savl-llvm 15b61ac4a8Savl-llvm# CHECK: file format Mach-O 64-bit x86-64 16b61ac4a8Savl-llvm# CHECK: 0x0000000b: DW_TAG_compile_unit 17b61ac4a8Savl-llvm# CHECK: DW_TAG_namespace 18b61ac4a8Savl-llvm# CHECK: DW_AT_name{{.*}}"parent_namespace" 19b61ac4a8Savl-llvm# CHECK-NOT: DW_TAG_namespace 20b61ac4a8Savl-llvm# CHECK: 0x[[INT:[0-9a-f]*]]: DW_TAG_base_type 21b61ac4a8Savl-llvm# CHECK: DW_AT_name{{.*}}"int" 22b61ac4a8Savl-llvm# CHECK: DW_TAG_compile_unit 23b61ac4a8Savl-llvm# CHECK: DW_TAG_variable 24b61ac4a8Savl-llvm# CHECK: DW_AT_type (0x00000000[[INT]] 25b61ac4a8Savl-llvm 26b61ac4a8Savl-llvm--- !mach-o 27b61ac4a8Savl-llvmFileHeader: 28b61ac4a8Savl-llvm magic: 0xFEEDFACF 29b61ac4a8Savl-llvm cputype: 0x01000007 30b61ac4a8Savl-llvm cpusubtype: 0x00000003 31b61ac4a8Savl-llvm filetype: 0x00000001 32b61ac4a8Savl-llvm ncmds: 2 33b61ac4a8Savl-llvm sizeofcmds: 376 34b61ac4a8Savl-llvm flags: 0x00002000 35b61ac4a8Savl-llvm reserved: 0x00000000 36b61ac4a8Savl-llvmLoadCommands: 37b61ac4a8Savl-llvm - cmd: LC_SEGMENT_64 38b61ac4a8Savl-llvm cmdsize: 232 39b61ac4a8Savl-llvm segname: '' 40b61ac4a8Savl-llvm vmaddr: 0x00 41b61ac4a8Savl-llvm vmsize: 0x300 42b61ac4a8Savl-llvm fileoff: 0x300 43b61ac4a8Savl-llvm filesize: 0x300 44b61ac4a8Savl-llvm maxprot: 7 45b61ac4a8Savl-llvm initprot: 7 46b61ac4a8Savl-llvm nsects: 2 47b61ac4a8Savl-llvm flags: 0 48b61ac4a8Savl-llvm Sections: 49b61ac4a8Savl-llvm - sectname: __debug_abbrev 50b61ac4a8Savl-llvm segname: __DWARF 51b61ac4a8Savl-llvm addr: 0x000000000000000F 52b61ac4a8Savl-llvm size: 0x2A 53b61ac4a8Savl-llvm offset: 0x00000380 54b61ac4a8Savl-llvm align: 0 55b61ac4a8Savl-llvm reloff: 0x00000000 56b61ac4a8Savl-llvm nreloc: 0 57b61ac4a8Savl-llvm flags: 0x02000000 58b61ac4a8Savl-llvm reserved1: 0x00000000 59b61ac4a8Savl-llvm reserved2: 0x00000000 60b61ac4a8Savl-llvm reserved3: 0x00000000 61b61ac4a8Savl-llvm - sectname: __debug_info 62b61ac4a8Savl-llvm segname: __DWARF 63b61ac4a8Savl-llvm addr: 0x000000000000100 64b61ac4a8Savl-llvm size: 0x42 65b61ac4a8Savl-llvm offset: 0x000003AA 66b61ac4a8Savl-llvm align: 0 67b61ac4a8Savl-llvm reloff: 0x00000600 68b61ac4a8Savl-llvm nreloc: 1 69b61ac4a8Savl-llvm flags: 0x02000000 70b61ac4a8Savl-llvm reserved1: 0x00000000 71b61ac4a8Savl-llvm reserved2: 0x00000000 72b61ac4a8Savl-llvm reserved3: 0x00000000 73b61ac4a8Savl-llvm relocations: 74b61ac4a8Savl-llvm - address: 0x000001FC 75b61ac4a8Savl-llvm symbolnum: 1 76b61ac4a8Savl-llvm pcrel: true 77b61ac4a8Savl-llvm length: 3 78b61ac4a8Savl-llvm extern: false 79b61ac4a8Savl-llvm type: 0 80b61ac4a8Savl-llvm scattered: false 81b61ac4a8Savl-llvm value: 0 82b61ac4a8Savl-llvm - cmd: LC_SYMTAB 83b61ac4a8Savl-llvm cmdsize: 24 84b61ac4a8Savl-llvm symoff: 0x700 85b61ac4a8Savl-llvm nsyms: 1 86b61ac4a8Savl-llvm stroff: 0x710 87b61ac4a8Savl-llvm strsize: 10 88b61ac4a8Savl-llvmLinkEditData: 89b61ac4a8Savl-llvm NameList: 90b61ac4a8Savl-llvm - n_strx: 1 91b61ac4a8Savl-llvm n_type: 0x0F 92b61ac4a8Savl-llvm n_sect: 1 93b61ac4a8Savl-llvm n_desc: 0 94b61ac4a8Savl-llvm n_value: 0 95b61ac4a8Savl-llvm StringTable: 96b61ac4a8Savl-llvm - '' 97b61ac4a8Savl-llvm - '__Z3foov' 98b61ac4a8Savl-llvm - '' 99b61ac4a8Savl-llvmDWARF: 100b61ac4a8Savl-llvm debug_abbrev: 101b61ac4a8Savl-llvm - Table: 102b61ac4a8Savl-llvm - Tag: DW_TAG_compile_unit 103b61ac4a8Savl-llvm Children: DW_CHILDREN_yes 104b61ac4a8Savl-llvm Attributes: 105b61ac4a8Savl-llvm - Attribute: DW_AT_producer 106b61ac4a8Savl-llvm Form: DW_FORM_string 107b61ac4a8Savl-llvm - Attribute: DW_AT_language 108b61ac4a8Savl-llvm Form: DW_FORM_data2 109b61ac4a8Savl-llvm - Tag: DW_TAG_namespace 110b61ac4a8Savl-llvm Children: DW_CHILDREN_yes 111b61ac4a8Savl-llvm Attributes: 112b61ac4a8Savl-llvm - Attribute: DW_AT_name 113b61ac4a8Savl-llvm Form: DW_FORM_string 114b61ac4a8Savl-llvm - Tag: DW_TAG_namespace 115b61ac4a8Savl-llvm Children: DW_CHILDREN_yes 116b61ac4a8Savl-llvm Attributes: 117b61ac4a8Savl-llvm - Attribute: DW_AT_extension 118b61ac4a8Savl-llvm Form: DW_FORM_ref_addr 119b61ac4a8Savl-llvm - Tag: DW_TAG_base_type 120b61ac4a8Savl-llvm Children: DW_CHILDREN_no 121b61ac4a8Savl-llvm Attributes: 122b61ac4a8Savl-llvm - Attribute: DW_AT_name 123b61ac4a8Savl-llvm Form: DW_FORM_string 124b61ac4a8Savl-llvm - Tag: DW_TAG_variable 125b61ac4a8Savl-llvm Children: DW_CHILDREN_no 126b61ac4a8Savl-llvm Attributes: 127b61ac4a8Savl-llvm - Attribute: DW_AT_name 128b61ac4a8Savl-llvm Form: DW_FORM_string 129b61ac4a8Savl-llvm - Attribute: DW_AT_const_value 130b61ac4a8Savl-llvm Form: DW_FORM_data4 131b61ac4a8Savl-llvm - Attribute: DW_AT_type 132b61ac4a8Savl-llvm Form: DW_FORM_ref_addr 133b61ac4a8Savl-llvm debug_info: 134b61ac4a8Savl-llvm - Version: 4 135b61ac4a8Savl-llvm Entries: 136b61ac4a8Savl-llvm - AbbrCode: 1 137b61ac4a8Savl-llvm Values: 138b61ac4a8Savl-llvm - CStr: by_hand 139b61ac4a8Savl-llvm - Value: 0x04 140b61ac4a8Savl-llvm - AbbrCode: 2 141b61ac4a8Savl-llvm Values: 142b61ac4a8Savl-llvm - CStr: parent_namespace 143b61ac4a8Savl-llvm - AbbrCode: 3 144b61ac4a8Savl-llvm Values: 145b61ac4a8Savl-llvm - Value: 0x00000016 146b61ac4a8Savl-llvm - AbbrCode: 4 147b61ac4a8Savl-llvm Values: 148b61ac4a8Savl-llvm - CStr: int 149b61ac4a8Savl-llvm - AbbrCode: 0 150b61ac4a8Savl-llvm - AbbrCode: 0 151b61ac4a8Savl-llvm - AbbrCode: 5 152b61ac4a8Savl-llvm Values: 153b61ac4a8Savl-llvm - CStr: var 154b61ac4a8Savl-llvm - Value: 0x000000FF 155b61ac4a8Savl-llvm - Value: 0x0000002d 156b61ac4a8Savl-llvm - AbbrCode: 0 157b61ac4a8Savl-llvm... 158