summaryrefslogtreecommitdiff
path: root/lldb/test/Shell/ObjectFile/ELF/section-types-edgecases.yaml
blob: 4a08e6bfce14cfcb69f6e65ea8fc35e574751e7d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# This test doesn't attempt to mandate a specific section classification. It is
# here to document the existing behavior and to make sure we don't do something
# completely crazy (like crashing).

# RUN: yaml2obj %s -o %t
# RUN: lldb-test object-file %t | FileCheck %s

# The section is called .data, but it has the SHF_EXECINSTR flag set. Have
# the flag take precedence over the name.
# CHECK-LABEL: Name: .data
# CHECK-NEXT: Type: code

# Section type (SHT_SYMTAB) takes precedence over name-based deduction.
# CHECK-LABEL: Name: .text
# CHECK-NEXT: Type: elf-symbol-table

--- !ELF
FileHeader:
  Class:           ELFCLASS64
  Data:            ELFDATA2LSB
  Type:            ET_DYN
  Machine:         EM_X86_64
  Entry:           0x00000000000007A0
Sections:
  - Name:            .data
    Type:            SHT_PROGBITS
    Flags:           [ SHF_EXECINSTR, SHF_ALLOC ]
    AddressAlign:    0x0000000000000004
    Content:         DEADBEEFBAADF00D
  - Name:            .text
    Type:            SHT_SYMTAB
    Flags:           [ ]
    Link:            0
    AddressAlign:    0x0000000000000004
    Content:         DEADBEEFBAADF00D
...