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