reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    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
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60
   61
   62
   63
   64
   65
   66
   67
   68
   69
   70
   71
   72
   73
   74
   75
   76
   77
   78
   79
   80
   81
   82
   83
   84
   85
   86
   87
   88
   89
   90
   91
   92
   93
   94
   95
   96
   97
   98
   99
  100
  101
  102
  103
  104
  105
  106
  107
  108
  109
  110
  111
  112
  113
  114
  115
# RUN: yaml2obj --docnum=1 %s -o %t-i386.o
# RUN: llvm-readelf -S %t-i386.o | FileCheck %s -check-prefix ELF32

# ELF32:      There are 8 section headers, starting at offset 0x90:
# ELF32-EMPTY:
# ELF32-NEXT: Section Headers:
# ELF32-NEXT:   [Nr] Name              Type            Address  Off    Size   ES Flg Lk Inf Al
# ELF32-NEXT:   [ 0]                   NULL            00000000 000000 000000 00      0   0  0
# ELF32-NEXT:   [ 1] .text             PROGBITS        00000000 000034 000001 00  AX  0   0  4
# ELF32-NEXT:   [ 2] .rel.text         REL             00000000 000038 000000 08      5   1  4
# ELF32-NEXT:   [ 3] .data             PROGBITS        00000000 000038 000000 00  WA  0   0  4
# ELF32-NEXT:   [ 4] .bss              NOBITS          00000000 000038 000000 00  WA  0   0  4
# ELF32-NEXT:   [ 5] .symtab           SYMTAB          00000000 000038 000020 10      6   2  8
# ELF32-NEXT:   [ 6] .strtab           STRTAB          00000000 000058 000007 00      0   0  1
# ELF32-NEXT:   [ 7] .shstrtab         STRTAB          00000000 00005f 000030 00      0   0  1
# ELF32-NEXT: Key to Flags:
# ELF32-NEXT:   W (write), A (alloc), X (execute), M (merge), S (strings), l (large)
# ELF32-NEXT:   I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
# ELF32-NEXT:   O (extra OS processing required) o (OS specific), p (processor specific)

--- !ELF
FileHeader:
  Class:   ELFCLASS32
  Data:    ELFDATA2LSB
  OSABI:   ELFOSABI_GNU
  Type:    ET_REL
  Machine: EM_386
Sections:
  - Name:         .text
    Type:         SHT_PROGBITS
    Flags:        [ SHF_ALLOC, SHF_EXECINSTR ]
    AddressAlign: 0x0000000000000004
    Content:      00
  - Name:         .rel.text
    Type:         SHT_REL
    Link:         .symtab
    AddressAlign: 0x0000000000000004
    EntSize:      0x0000000000000008
    Info:         .text
    Relocations:
  - Name:         .data
    Type:         SHT_PROGBITS
    Flags:        [ SHF_WRITE, SHF_ALLOC ]
    AddressAlign: 0x0000000000000004
    Content:      ''
  - Name:         .bss
    Type:         SHT_NOBITS
    Flags:        [ SHF_WRITE, SHF_ALLOC ]
    AddressAlign: 0x0000000000000004
Symbols:
  - Name:         .text
    Type:         STT_SECTION
    Section:      .text

# RUN: yaml2obj --docnum=2 %s -o %t-x64.o
# RUN: llvm-readelf -S %t-x64.o | FileCheck %s -check-prefix ELF64

## Check that --wide is the same as -W and ignored and also
## that --section is the same as -S.
# RUN: llvm-readobj --wide --sections %t-x64.o --elf-output-style=GNU \
# RUN:   | FileCheck %s -check-prefix ELF64
# RUN: llvm-readobj -W --sections %t-x64.o --elf-output-style=GNU \
# RUN:   | FileCheck %s -check-prefix ELF64
# RUN: llvm-readelf -W -S %t-x64.o | FileCheck %s -check-prefix ELF64

# ELF64:      There are 8 section headers, starting at offset 0xb0:
# ELF64-EMPTY: 
# ELF64-NEXT: Section Headers:
# ELF64-NEXT:   [Nr] Name              Type            Address          Off    Size   ES Flg Lk Inf Al
# ELF64-NEXT:   [ 0]                   NULL            0000000000000000 000000 000000 00  0  0  0
# ELF64-NEXT:   [ 1] .text             PROGBITS        0000000000000000 000040 000001 00  AX 0   0  4
# ELF64-NEXT:   [ 2] .rela.text        RELA            0000000000000000 000048 000000 18  5  1  8
# ELF64-NEXT:   [ 3] .data             PROGBITS        0000000000000000 000048 000000 00  WA 0   0  4
# ELF64-NEXT:   [ 4] .bss              NOBITS          0000000000000000 000048 000000 00  WA 0   0  4
# ELF64-NEXT:   [ 5] .symtab           SYMTAB          0000000000000000 000048 000030 18  6  2  8
# ELF64-NEXT:   [ 6] .strtab           STRTAB          0000000000000000 000078 000007 00  0  0  1
# ELF64-NEXT:   [ 7] .shstrtab         STRTAB          0000000000000000 00007f 000031 00  0  0  1
# ELF64-NEXT: Key to Flags:
# ELF64-NEXT:   W (write), A (alloc), X (execute), M (merge), S (strings), l (large)
# ELF64-NEXT:   I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
# ELF64-NEXT:   O (extra OS processing required) o (OS specific), p (processor specific)

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  OSABI:   ELFOSABI_GNU
  Type:    ET_REL
  Machine: EM_X86_64
Sections:
  - Name:         .text
    Type:         SHT_PROGBITS
    Flags:        [ SHF_ALLOC, SHF_EXECINSTR ]
    AddressAlign: 0x0000000000000004
    Content:      00
  - Name:         .rela.text
    Type:         SHT_RELA
    Link:         .symtab
    AddressAlign: 0x0000000000000008
    EntSize:      0x0000000000000018
    Info:         .text
    Relocations:
  - Name:         .data
    Type:         SHT_PROGBITS
    Flags:        [ SHF_WRITE, SHF_ALLOC ]
    AddressAlign: 0x0000000000000004
    Content:      ''
  - Name:         .bss
    Type:         SHT_NOBITS
    Flags:        [ SHF_WRITE, SHF_ALLOC ]
    AddressAlign: 0x0000000000000004
Symbols:
  - Name:    .text
    Type:    STT_SECTION
    Section: .text