# Overlapping PT_LOAD and PT_TLS segments should be able to exist side by side. # RUN: yaml2obj %s -o %t # RUN: lldb-test object-file %t | FileCheck %s # RUN: %lldb %t -o "image lookup -a 0x1000" -b | FileCheck --check-prefix=LOOKUP %s # CHECK: Index: 0 # CHECK-NEXT: ID: 0xffffffffffffffff # CHECK-NEXT: Name: PT_LOAD[0] # CHECK-NEXT: Type: container # CHECK-NEXT: Permissions: rw- # CHECK-NEXT: Thread specific: no # CHECK-NEXT: VM address: 0x1000 # CHECK-NEXT: VM size: 16 # CHECK-NEXT: File size: 16 # CHECK-NEXT: Showing 1 subsections # CHECK: Index: 1 # CHECK-NEXT: ID: 0xfffffffffffffffe # CHECK-NEXT: Name: PT_TLS[0] # CHECK-NEXT: Type: container # CHECK-NEXT: Permissions: rw- # CHECK-NEXT: Thread specific: yes # CHECK-NEXT: VM address: 0x1000 # CHECK-NEXT: VM size: 16 # CHECK-NEXT: File size: 0 # CHECK-NEXT: Showing 1 subsections # LOOKUP-LABEL: image lookup -a 0x1000 # LOOKUP: Address: {{.*}}.PT_LOAD[0]..data + 0) !ELF FileHeader: Class: ELFCLASS32 Data: ELFDATA2LSB Type: ET_EXEC Machine: EM_ARM Sections: - Name: .data Type: SHT_PROGBITS Flags: [ SHF_ALLOC, SHF_WRITE ] Address: 0x1000 AddressAlign: 0x4 Size: 0x10 - Name: .tbss Type: SHT_NOBITS Flags: [ SHF_ALLOC, SHF_WRITE, SHF_TLS ] Address: 0x1000 AddressAlign: 0x4 Size: 0x10 ProgramHeaders: - Type: PT_LOAD Flags: [ PF_W, PF_R ] VAddr: 0x1000 Align: 0x4 FirstSec: .data LastSec: .data - Type: PT_TLS Flags: [ PF_R, PF_W ] VAddr: 0x1000 Align: 0x4 FirstSec: .tbss LastSec: .tbss