| # 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' |
| - '' |
| - '' |
| - '' |
| - '' |
| - '' |
| - '' |
| ... |