| # Tests that the symbol table properly merges the two entries for | |
| # global_constant, even when the debug symbol comes last. | |
| # RUN: mkdir -p %t | |
| # RUN: yaml2obj %s -o %t/a.out | |
| # RUN: %lldb %t/a.out -o "target modules dump symtab a.out" | FileCheck %s | |
| # CHECK: global_constant | |
| # CHECK-NOT: global_constant | |
| --- !mach-o | |
| FileHeader: | |
| magic: 0xFEEDFACF | |
| cputype: 0x01000007 | |
| cpusubtype: 0x80000003 | |
| filetype: 0x00000002 | |
| ncmds: 20 | |
| sizeofcmds: 1992 | |
| flags: 0x00200085 | |
| reserved: 0x00000000 | |
| LoadCommands: | |
| - cmd: LC_SEGMENT_64 | |
| cmdsize: 72 | |
| segname: __PAGEZERO | |
| vmaddr: 0 | |
| vmsize: 4294967296 | |
| fileoff: 0 | |
| filesize: 0 | |
| maxprot: 0 | |
| initprot: 0 | |
| nsects: 0 | |
| flags: 0 | |
| - cmd: LC_SEGMENT_64 | |
| cmdsize: 552 | |
| segname: __TEXT | |
| vmaddr: 4294967296 | |
| vmsize: 4096 | |
| fileoff: 0 | |
| filesize: 4096 | |
| maxprot: 5 | |
| initprot: 5 | |
| nsects: 6 | |
| flags: 0 | |
| Sections: | |
| - sectname: __text | |
| segname: __TEXT | |
| addr: 0x0000000100000DE0 | |
| size: 383 | |
| offset: 0x00000DE0 | |
| align: 4 | |
| reloff: 0x00000000 | |
| nreloc: 0 | |
| flags: 0x80000400 | |
| reserved1: 0x00000000 | |
| reserved2: 0x00000000 | |
| reserved3: 0x00000000 | |
| - sectname: __stubs | |
| segname: __TEXT | |
| addr: 0x0000000100000F60 | |
| size: 18 | |
| offset: 0x00000F60 | |
| align: 1 | |
| reloff: 0x00000000 | |
| nreloc: 0 | |
| flags: 0x80000408 | |
| reserved1: 0x00000000 | |
| reserved2: 0x00000006 | |
| reserved3: 0x00000000 | |
| - sectname: __stub_helper | |
| segname: __TEXT | |
| addr: 0x0000000100000F74 | |
| size: 46 | |
| offset: 0x00000F74 | |
| align: 2 | |
| reloff: 0x00000000 | |
| nreloc: 0 | |
| flags: 0x80000400 | |
| reserved1: 0x00000000 | |
| reserved2: 0x00000000 | |
| reserved3: 0x00000000 | |
| - sectname: __swift5_typeref | |
| segname: __TEXT | |
| addr: 0x0000000100000FA2 | |
| size: 7 | |
| offset: 0x00000FA2 | |
| align: 1 | |
| reloff: 0x00000000 | |
| nreloc: 0 | |
| flags: 0x00000000 | |
| reserved1: 0x00000000 | |
| reserved2: 0x00000000 | |
| reserved3: 0x00000000 | |
| - sectname: __const | |
| segname: __TEXT | |
| addr: 0x0000000100000FAA | |
| size: 2 | |
| offset: 0x00000FAA | |
| align: 1 | |
| reloff: 0x00000000 | |
| nreloc: 0 | |
| flags: 0x00000000 | |
| reserved1: 0x00000000 | |
| reserved2: 0x00000000 | |
| reserved3: 0x00000000 | |
| - sectname: __unwind_info | |
| segname: __TEXT | |
| addr: 0x0000000100000FAC | |
| size: 80 | |
| offset: 0x00000FAC | |
| align: 2 | |
| reloff: 0x00000000 | |
| nreloc: 0 | |
| flags: 0x00000000 | |
| reserved1: 0x00000000 | |
| reserved2: 0x00000000 | |
| reserved3: 0x00000000 | |
| - cmd: LC_SEGMENT_64 | |
| cmdsize: 232 | |
| segname: __DATA_CONST | |
| vmaddr: 4294971392 | |
| vmsize: 4096 | |
| fileoff: 4096 | |
| filesize: 4096 | |
| maxprot: 3 | |
| initprot: 3 | |
| nsects: 2 | |
| flags: 16 | |
| Sections: | |
| - sectname: __got | |
| segname: __DATA_CONST | |
| addr: 0x0000000100001000 | |
| size: 8 | |
| offset: 0x00001000 | |
| align: 3 | |
| reloff: 0x00000000 | |
| nreloc: 0 | |
| flags: 0x00000006 | |
| reserved1: 0x00000003 | |
| reserved2: 0x00000000 | |
| reserved3: 0x00000000 | |
| - sectname: __objc_imageinfo | |
| segname: __DATA_CONST | |
| addr: 0x0000000100001008 | |
| size: 8 | |
| offset: 0x00001008 | |
| align: 2 | |
| reloff: 0x00000000 | |
| nreloc: 0 | |
| flags: 0x00000000 | |
| reserved1: 0x00000000 | |
| reserved2: 0x00000000 | |
| reserved3: 0x00000000 | |
| - cmd: LC_SEGMENT_64 | |
| cmdsize: 312 | |
| segname: __DATA | |
| vmaddr: 4294975488 | |
| vmsize: 4096 | |
| fileoff: 8192 | |
| filesize: 4096 | |
| maxprot: 3 | |
| initprot: 3 | |
| nsects: 3 | |
| flags: 0 | |
| Sections: | |
| - sectname: __la_symbol_ptr | |
| segname: __DATA | |
| addr: 0x0000000100002000 | |
| size: 24 | |
| offset: 0x00002000 | |
| align: 3 | |
| reloff: 0x00000000 | |
| nreloc: 0 | |
| flags: 0x00000007 | |
| reserved1: 0x00000004 | |
| reserved2: 0x00000000 | |
| reserved3: 0x00000000 | |
| - sectname: __data | |
| segname: __DATA | |
| addr: 0x0000000100002018 | |
| size: 16 | |
| offset: 0x00002018 | |
| align: 3 | |
| reloff: 0x00000000 | |
| nreloc: 0 | |
| flags: 0x00000000 | |
| reserved1: 0x00000000 | |
| reserved2: 0x00000000 | |
| reserved3: 0x00000000 | |
| - sectname: __common | |
| segname: __DATA | |
| addr: 0x0000000100002028 | |
| size: 16 | |
| offset: 0x00000000 | |
| align: 3 | |
| reloff: 0x00000000 | |
| nreloc: 0 | |
| flags: 0x00000001 | |
| reserved1: 0x00000000 | |
| reserved2: 0x00000000 | |
| reserved3: 0x00000000 | |
| - cmd: LC_SEGMENT_64 | |
| cmdsize: 72 | |
| segname: __LINKEDIT | |
| vmaddr: 4294979584 | |
| vmsize: 4096 | |
| fileoff: 12288 | |
| filesize: 1924 | |
| maxprot: 1 | |
| initprot: 1 | |
| nsects: 0 | |
| flags: 0 | |
| - cmd: LC_DYLD_INFO_ONLY | |
| cmdsize: 48 | |
| rebase_off: 12288 | |
| rebase_size: 8 | |
| bind_off: 12296 | |
| bind_size: 24 | |
| weak_bind_off: 0 | |
| weak_bind_size: 0 | |
| lazy_bind_off: 12320 | |
| lazy_bind_size: 96 | |
| export_off: 12416 | |
| export_size: 48 | |
| - cmd: LC_SYMTAB | |
| cmdsize: 24 | |
| symoff: 12472 | |
| nsyms: 41 | |
| stroff: 13156 | |
| strsize: 1056 | |
| - cmd: LC_DYSYMTAB | |
| cmdsize: 80 | |
| ilocalsym: 0 | |
| nlocalsym: 35 | |
| iextdefsym: 35 | |
| nextdefsym: 2 | |
| iundefsym: 37 | |
| nundefsym: 4 | |
| tocoff: 0 | |
| ntoc: 0 | |
| modtaboff: 0 | |
| nmodtab: 0 | |
| extrefsymoff: 0 | |
| nextrefsyms: 0 | |
| indirectsymoff: 13128 | |
| nindirectsyms: 7 | |
| extreloff: 0 | |
| nextrel: 0 | |
| locreloff: 0 | |
| nlocrel: 0 | |
| - cmd: LC_LOAD_DYLINKER | |
| cmdsize: 32 | |
| name: 12 | |
| Content: '/usr/lib/dyld' | |
| ZeroPadBytes: 7 | |
| - cmd: LC_UUID | |
| cmdsize: 24 | |
| uuid: A89F9D23-8190-3946-A70B-B8E833E68640 | |
| - cmd: LC_BUILD_VERSION | |
| cmdsize: 32 | |
| platform: 1 | |
| minos: 659200 | |
| sdk: 659200 | |
| ntools: 1 | |
| Tools: | |
| - tool: 3 | |
| version: 36176384 | |
| - cmd: LC_SOURCE_VERSION | |
| cmdsize: 16 | |
| version: 0 | |
| - cmd: LC_MAIN | |
| cmdsize: 24 | |
| entryoff: 3552 | |
| stacksize: 0 | |
| - cmd: LC_LOAD_DYLIB | |
| cmdsize: 56 | |
| dylib: | |
| name: 24 | |
| timestamp: 2 | |
| current_version: 14942208 | |
| compatibility_version: 65536 | |
| Content: '/usr/lib/libobjc.A.dylib' | |
| ZeroPadBytes: 8 | |
| - cmd: LC_LOAD_DYLIB | |
| cmdsize: 56 | |
| dylib: | |
| name: 24 | |
| timestamp: 2 | |
| current_version: 83951616 | |
| compatibility_version: 65536 | |
| Content: '/usr/lib/libSystem.B.dylib' | |
| ZeroPadBytes: 6 | |
| - cmd: LC_LOAD_DYLIB | |
| cmdsize: 64 | |
| dylib: | |
| name: 24 | |
| timestamp: 2 | |
| current_version: 0 | |
| compatibility_version: 65536 | |
| Content: '/usr/lib/swift/libswiftCore.dylib' | |
| ZeroPadBytes: 7 | |
| - cmd: LC_RPATH | |
| cmdsize: 136 | |
| path: 12 | |
| Content: '/Volumes/Jonas/internal-stable/build/Ninja-RelWithDebInfoAssert+stdlib-RelWithDebInfo/swift-macosx-x86_64/lib/swift/macosx' | |
| ZeroPadBytes: 2 | |
| - cmd: LC_RPATH | |
| cmdsize: 128 | |
| path: 12 | |
| Content: '/Applications/XcodeY.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/lib/swift' | |
| ZeroPadBytes: 2 | |
| - cmd: LC_FUNCTION_STARTS | |
| cmdsize: 16 | |
| dataoff: 12464 | |
| datasize: 8 | |
| - cmd: LC_DATA_IN_CODE | |
| cmdsize: 16 | |
| dataoff: 12472 | |
| datasize: 0 | |
| LinkEditData: | |
| RebaseOpcodes: | |
| - Opcode: REBASE_OPCODE_SET_TYPE_IMM | |
| Imm: 1 | |
| - Opcode: REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB | |
| Imm: 3 | |
| ExtraData: | |
| - 0x0000000000000000 | |
| - Opcode: REBASE_OPCODE_DO_REBASE_IMM_TIMES | |
| Imm: 3 | |
| - Opcode: REBASE_OPCODE_DONE | |
| Imm: 0 | |
| BindOpcodes: | |
| - Opcode: BIND_OPCODE_SET_DYLIB_ORDINAL_IMM | |
| Imm: 2 | |
| Symbol: '' | |
| - Opcode: BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM | |
| Imm: 0 | |
| Symbol: dyld_stub_binder | |
| - Opcode: BIND_OPCODE_SET_TYPE_IMM | |
| Imm: 1 | |
| Symbol: '' | |
| - Opcode: BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB | |
| Imm: 2 | |
| ULEBExtraData: | |
| - 0x0000000000000000 | |
| Symbol: '' | |
| - Opcode: BIND_OPCODE_DO_BIND | |
| Imm: 0 | |
| Symbol: '' | |
| - Opcode: BIND_OPCODE_DONE | |
| Imm: 0 | |
| Symbol: '' | |
| LazyBindOpcodes: | |
| - Opcode: BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB | |
| Imm: 3 | |
| ULEBExtraData: | |
| - 0x0000000000000000 | |
| Symbol: '' | |
| - Opcode: BIND_OPCODE_SET_DYLIB_ORDINAL_IMM | |
| Imm: 3 | |
| Symbol: '' | |
| - Opcode: BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM | |
| Imm: 0 | |
| Symbol: _swift_beginAccess | |
| - Opcode: BIND_OPCODE_DO_BIND | |
| Imm: 0 | |
| Symbol: '' | |
| - Opcode: BIND_OPCODE_DONE | |
| Imm: 0 | |
| Symbol: '' | |
| - Opcode: BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB | |
| Imm: 3 | |
| ULEBExtraData: | |
| - 0x0000000000000008 | |
| Symbol: '' | |
| - Opcode: BIND_OPCODE_SET_DYLIB_ORDINAL_IMM | |
| Imm: 3 | |
| Symbol: '' | |
| - Opcode: BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM | |
| Imm: 0 | |
| Symbol: _swift_endAccess | |
| - Opcode: BIND_OPCODE_DO_BIND | |
| Imm: 0 | |
| Symbol: '' | |
| - Opcode: BIND_OPCODE_DONE | |
| Imm: 0 | |
| Symbol: '' | |
| - Opcode: BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB | |
| Imm: 3 | |
| ULEBExtraData: | |
| - 0x0000000000000010 | |
| Symbol: '' | |
| - Opcode: BIND_OPCODE_SET_DYLIB_ORDINAL_IMM | |
| Imm: 3 | |
| Symbol: '' | |
| - Opcode: BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM | |
| Imm: 0 | |
| Symbol: _swift_getTypeByMangledNameInContext | |
| - Opcode: BIND_OPCODE_DO_BIND | |
| Imm: 0 | |
| Symbol: '' | |
| - Opcode: BIND_OPCODE_DONE | |
| Imm: 0 | |
| Symbol: '' | |
| - Opcode: BIND_OPCODE_DONE | |
| Imm: 0 | |
| Symbol: '' | |
| - Opcode: BIND_OPCODE_DONE | |
| Imm: 0 | |
| Symbol: '' | |
| - Opcode: BIND_OPCODE_DONE | |
| Imm: 0 | |
| Symbol: '' | |
| - Opcode: BIND_OPCODE_DONE | |
| Imm: 0 | |
| Symbol: '' | |
| - Opcode: BIND_OPCODE_DONE | |
| Imm: 0 | |
| Symbol: '' | |
| ExportTrie: | |
| TerminalSize: 0 | |
| NodeOffset: 0 | |
| Name: '' | |
| Flags: 0x0000000000000000 | |
| Address: 0x0000000000000000 | |
| Other: 0x0000000000000000 | |
| ImportName: '' | |
| Children: | |
| - TerminalSize: 0 | |
| NodeOffset: 5 | |
| Name: _ | |
| Flags: 0x0000000000000000 | |
| Address: 0x0000000000000000 | |
| Other: 0x0000000000000000 | |
| ImportName: '' | |
| Children: | |
| - TerminalSize: 2 | |
| NodeOffset: 33 | |
| Name: _mh_execute_header | |
| Flags: 0x0000000000000000 | |
| Address: 0x0000000000000000 | |
| Other: 0x0000000000000000 | |
| ImportName: '' | |
| - TerminalSize: 3 | |
| NodeOffset: 37 | |
| Name: main | |
| Flags: 0x0000000000000000 | |
| Address: 0x0000000000000DE0 | |
| Other: 0x0000000000000000 | |
| ImportName: '' | |
| NameList: | |
| - n_strx: 118 | |
| n_type: 0x1E | |
| n_sect: 1 | |
| n_desc: 0 | |
| n_value: 4294970976 | |
| - n_strx: 133 | |
| n_type: 0x1E | |
| n_sect: 1 | |
| n_desc: 0 | |
| n_value: 4294971008 | |
| - n_strx: 151 | |
| n_type: 0x1E | |
| n_sect: 1 | |
| n_desc: 128 | |
| n_value: 4294971104 | |
| - n_strx: 199 | |
| n_type: 0x1E | |
| n_sect: 4 | |
| n_desc: 128 | |
| n_value: 4294971298 | |
| - n_strx: 216 | |
| n_type: 0x1E | |
| n_sect: 5 | |
| n_desc: 128 | |
| n_value: 4294971306 | |
| - n_strx: 244 | |
| n_type: 0x0E | |
| n_sect: 10 | |
| n_desc: 0 | |
| n_value: 4294975512 | |
| - n_strx: 259 | |
| n_type: 0x1E | |
| n_sect: 10 | |
| n_desc: 128 | |
| n_value: 4294975520 | |
| - n_strx: 271 | |
| n_type: 0x1E | |
| n_sect: 11 | |
| n_desc: 0 | |
| n_value: 4294975528 | |
| - n_strx: 298 | |
| n_type: 0x1E | |
| n_sect: 11 | |
| n_desc: 0 | |
| n_value: 4294975536 | |
| - n_strx: 325 | |
| n_type: 0x32 | |
| n_sect: 0 | |
| n_desc: 0 | |
| n_value: 1570141141 | |
| - n_strx: 540 | |
| n_type: 0x64 | |
| n_sect: 0 | |
| n_desc: 0 | |
| n_value: 0 | |
| - n_strx: 633 | |
| n_type: 0x64 | |
| n_sect: 0 | |
| n_desc: 0 | |
| n_value: 0 | |
| - n_strx: 644 | |
| n_type: 0x66 | |
| n_sect: 3 | |
| n_desc: 1 | |
| n_value: 1570141203 | |
| - n_strx: 1 | |
| n_type: 0x2E | |
| n_sect: 1 | |
| n_desc: 0 | |
| n_value: 4294970848 | |
| - n_strx: 852 | |
| n_type: 0x24 | |
| n_sect: 1 | |
| n_desc: 0 | |
| n_value: 4294970848 | |
| - n_strx: 1 | |
| n_type: 0x24 | |
| n_sect: 0 | |
| n_desc: 0 | |
| n_value: 128 | |
| - n_strx: 1 | |
| n_type: 0x4E | |
| n_sect: 1 | |
| n_desc: 0 | |
| n_value: 128 | |
| - n_strx: 1 | |
| n_type: 0x2E | |
| n_sect: 1 | |
| n_desc: 0 | |
| n_value: 4294970976 | |
| - n_strx: 858 | |
| n_type: 0x24 | |
| n_sect: 1 | |
| n_desc: 0 | |
| n_value: 4294970976 | |
| - n_strx: 1 | |
| n_type: 0x24 | |
| n_sect: 0 | |
| n_desc: 0 | |
| n_value: 32 | |
| - n_strx: 1 | |
| n_type: 0x4E | |
| n_sect: 1 | |
| n_desc: 0 | |
| n_value: 32 | |
| - n_strx: 1 | |
| n_type: 0x2E | |
| n_sect: 1 | |
| n_desc: 0 | |
| n_value: 4294971008 | |
| - n_strx: 873 | |
| n_type: 0x24 | |
| n_sect: 1 | |
| n_desc: 0 | |
| n_value: 4294971008 | |
| - n_strx: 1 | |
| n_type: 0x24 | |
| n_sect: 0 | |
| n_desc: 0 | |
| n_value: 96 | |
| - n_strx: 1 | |
| n_type: 0x4E | |
| n_sect: 1 | |
| n_desc: 0 | |
| n_value: 96 | |
| - n_strx: 1 | |
| n_type: 0x2E | |
| n_sect: 1 | |
| n_desc: 0 | |
| n_value: 4294971104 | |
| - n_strx: 891 | |
| n_type: 0x24 | |
| n_sect: 1 | |
| n_desc: 0 | |
| n_value: 4294971104 | |
| - n_strx: 1 | |
| n_type: 0x24 | |
| n_sect: 0 | |
| n_desc: 0 | |
| n_value: 127 | |
| - n_strx: 1 | |
| n_type: 0x4E | |
| n_sect: 1 | |
| n_desc: 0 | |
| n_value: 127 | |
| - n_strx: 939 | |
| n_type: 0x20 | |
| n_sect: 0 | |
| n_desc: 0 | |
| n_value: 0 | |
| - n_strx: 956 | |
| n_type: 0x20 | |
| n_sect: 0 | |
| n_desc: 0 | |
| n_value: 0 | |
| - n_strx: 984 | |
| n_type: 0x20 | |
| n_sect: 0 | |
| n_desc: 0 | |
| n_value: 0 | |
| - n_strx: 996 | |
| n_type: 0x20 | |
| n_sect: 0 | |
| n_desc: 0 | |
| n_value: 0 | |
| - n_strx: 1023 | |
| n_type: 0x20 | |
| n_sect: 0 | |
| n_desc: 0 | |
| n_value: 0 | |
| - n_strx: 1 | |
| n_type: 0x64 | |
| n_sect: 1 | |
| n_desc: 0 | |
| n_value: 0 | |
| - n_strx: 2 | |
| n_type: 0x0F | |
| n_sect: 1 | |
| n_desc: 16 | |
| n_value: 4294967296 | |
| - n_strx: 22 | |
| n_type: 0x0F | |
| n_sect: 1 | |
| n_desc: 0 | |
| n_value: 4294970848 | |
| - n_strx: 28 | |
| n_type: 0x01 | |
| n_sect: 0 | |
| n_desc: 768 | |
| n_value: 0 | |
| - n_strx: 47 | |
| n_type: 0x01 | |
| n_sect: 0 | |
| n_desc: 768 | |
| n_value: 0 | |
| - n_strx: 64 | |
| n_type: 0x01 | |
| n_sect: 0 | |
| n_desc: 768 | |
| n_value: 0 | |
| - n_strx: 101 | |
| n_type: 0x01 | |
| n_sect: 0 | |
| n_desc: 512 | |
| n_value: 0 | |
| StringTable: | |
| - ' ' | |
| - __mh_execute_header | |
| - _main | |
| - _swift_beginAccess | |
| - _swift_endAccess | |
| - _swift_getTypeByMangledNameInContext | |
| - dyld_stub_binder | |
| - '_$s1a3useyyxlF' | |
| - '_$s1a1fyySi_SiztF' | |
| - ___swift_instantiateConcreteTypeFromMangledName | |
| - _symbolic Si_Sit | |
| - ___swift_reflection_version | |
| - __dyld_private | |
| - '_$sSi_SitMD' | |
| - '_$s1a15global_constantSivp' | |
| - '_$s1a15global_variableSivp' | |
| - '/Volumes/Jonas/internal-stable/build/Ninja-RelWithDebInfoAssert+stdlib-RelWithDebInfo/lldb-macosx-x86_64/lldb-test-build.noindex/lang/swift/variables/let/TestSwiftLetConstants.test_let_constants_dwarf/a.swiftmodule' | |
| - '/Volumes/Jonas/internal-stable/lldb/packages/Python/lldbsuite/test/lang/swift/variables/let/' | |
| - main.swift | |
| - '/Volumes/Jonas/internal-stable/build/Ninja-RelWithDebInfoAssert+stdlib-RelWithDebInfo/lldb-macosx-x86_64/lldb-test-build.noindex/lang/swift/variables/let/TestSwiftLetConstants.test_let_constants_dwarf/main.o' | |
| - _main | |
| - '_$s1a3useyyxlF' | |
| - '_$s1a1fyySi_SiztF' | |
| - ___swift_instantiateConcreteTypeFromMangledName | |
| - _symbolic Si_Sit | |
| - ___swift_reflection_version | |
| - '_$sSi_SitMD' | |
| - '_$s1a15global_constantSivp' | |
| - '_$s1a15global_variableSivp' | |
| - '' | |
| - '' | |
| - '' | |
| - '' | |
| - '' | |
| - '' | |
| ... |