# Test behavior on strange (invalid?) elf files where the sections cross segment # boundary. The test input was generated from this yaml file, but the program # header was modified by hand, so this input is here for reference only. # # Right now lldb shortens sections to make sure every section is fully contained # within a segment, but other behaviors are possible too (including outright # rejecting such files). # RUN: lldb-test object-file %S/Inputs/PT_LOAD-overlap-section.elf | FileCheck %s # CHECK: Index: 0 # CHECK-NEXT: ID: 0xffffffffffffffff # CHECK-NEXT: Name: PT_LOAD[0] # CHECK-NEXT: Type: container # CHECK-NEXT: Permissions: rwx # CHECK-NEXT: Thread specific: no # CHECK-NEXT: VM address: 0x1006 # CHECK-NEXT: VM size: 8 # CHECK-NEXT: File size: 8 # CHECK-NEXT: Showing 1 subsections # CHECK-NEXT: Index: 0 # CHECK-NEXT: ID: 0x2 # CHECK-NEXT: Name: .text # CHECK-NEXT: Type: code # CHECK-NEXT: Permissions: r-x # CHECK-NEXT: Thread specific: no # CHECK-NEXT: VM address: 0x1008 # CHECK-NEXT: VM size: 6 # CHECK-NEXT: File size: 8 # CHECK: Index: 1 # CHECK-NEXT: ID: 0x1 # CHECK-NEXT: Name: .interp # CHECK-NEXT: Type: regular # CHECK-NEXT: Permissions: r-- # CHECK-NEXT: Thread specific: no # CHECK-NEXT: VM address: 0x1000 # CHECK-NEXT: VM size: 6 # CHECK-NEXT: File size: 8 !ELF FileHeader: Class: ELFCLASS32 Data: ELFDATA2LSB Type: ET_EXEC Machine: EM_ARM Sections: - Name: .interp Type: SHT_PROGBITS Flags: [ SHF_ALLOC ] Address: 0x1000 AddressAlign: 0x4 Content: DEADBEEFBAADF00D - Name: .text Type: SHT_PROGBITS Flags: [ SHF_ALLOC, SHF_EXECINSTR ] Address: 0x1008 AddressAlign: 0x4 Content: DEADBEEFBAADF00D ProgramHeaders: - Type: PT_LOAD Flags: [ PF_X, PF_W, PF_R ] VAddr: 0x1008 # Modified by hand to start at 0x1006 Align: 0x4 FirstSec: .text LastSec: .text