# Test handling of object files that have duplicate sections. This is legal,
# according to the System V ABI (Edition 4.1); see 4-20 where it says:
#
# Section names with a dot (.) prefix are reserved for the system,
# although applications may use these sections if their existing
# meanings are satisfactory. ... **An object file may have more than
# one section with the same name.**
#
# (See https://github.com/llvm/llvm-project/issues/88001)
# RUN: yaml2obj %s -o %t
# RUN: lldb-test symbols %t | FileCheck %s
# CHECK: 0x0000000000400010 {{.*}} my_function
# CHECK: 0x0000000000401020 {{.*}} my_other_function
!ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_EXEC
Machine: EM_X86_64
ProgramHeaders:
- Type: PT_LOAD
Flags: [ PF_X, PF_R ]
FirstSec: .text
LastSec: '.text (1)'
VAddr: 0x400000
Align: 0x1000
Offset: 0x0
Sections:
- Name: .text
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
Address: 0x400010
AddressAlign: 0x10
- Name: '.text (1)'
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC, SHF_EXECINSTR, SHF_GNU_RETAIN ]
Address: 0x401000
AddressAlign: 0x10
Symbols:
- Name: my_function
Section: .text
Value: 0x400010
- Name: my_other_function
Section: '.text (1)'
Value: 0x401020