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
## Show that yaml2obj uses the correct set of symbols for relocation sections
## referencing the dynamic symbol table.

# RUN: yaml2obj %s -o %t
# RUN: llvm-readelf -r %t | FileCheck %s

# CHECK:      Relocation section '.rela.dyn' at offset {{.*}} contains 2 entries:
# CHECK-NEXT:     Offset             Info             Type      Symbol's Value  Symbol's Name
# CHECK-NEXT: 0000000000000000  0000000100000000 R_X86_64_NONE 0000000012345678 dynamic
# CHECK-NEXT: 0000000000000008  0000000200000000 R_X86_64_NONE 0000000087654321 both
# CHECK-EMPTY:
# CHECK-NEXT: Relocation section '.rela.data' at offset {{.*}} contains 2 entries:
# CHECK-NEXT:     Offset             Info             Type      Symbol's Value  Symbol's Name
# CHECK-NEXT: 0000000000000010  0000000200000000 R_X86_64_NONE 0000000011223344 static
# CHECK-NEXT: 0000000000000018  0000000100000000 R_X86_64_NONE 0000000088776655 both

!ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_DYN
  Machine: EM_X86_64
Sections:
  - Name: .data
    Type: SHT_PROGBITS
  - Name: .rela.dyn
    Type: SHT_REL
    Link: .dynsym
    Info: .data
    Relocations:
      - Offset: 0
        Type: R_X86_64_NONE
        Symbol: dynamic
      - Offset: 8
        Type: R_X86_64_NONE
        Symbol: both
  - Name: .rela.data
    Type: SHT_REL
    Link: .symtab
    Info: .data
    Relocations:
      - Offset: 16
        Type: R_X86_64_NONE
        Symbol: static
      - Offset: 24
        Type: R_X86_64_NONE
        Symbol: both
Symbols:
    - Name: both
      Section: .data
      Value: 0x88776655
      Binding: STB_GLOBAL
    - Name: static
      Section: .data
      Value: 0x11223344
      Binding: STB_GLOBAL
DynamicSymbols:
    - Name: dynamic
      Section: .data
      Value: 0x12345678
      Binding: STB_GLOBAL
    - Name: both
      Section: .data
      Value: 0x87654321
      Binding: STB_GLOBAL