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