# 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 PayloadString: '/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 PayloadString: '/usr/lib/libobjc.A.dylib' ZeroPadBytes: 8 - cmd: LC_LOAD_DYLIB cmdsize: 56 dylib: name: 24 timestamp: 2 current_version: 83951616 compatibility_version: 65536 PayloadString: '/usr/lib/libSystem.B.dylib' ZeroPadBytes: 6 - cmd: LC_LOAD_DYLIB cmdsize: 64 dylib: name: 24 timestamp: 2 current_version: 0 compatibility_version: 65536 PayloadString: '/usr/lib/swift/libswiftCore.dylib' ZeroPadBytes: 7 - cmd: LC_RPATH cmdsize: 136 path: 12 PayloadString: '/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 PayloadString: '/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' - '' - '' - '' - '' - '' - '' ...