Home | History | Annotate | Download | only in llvm-readobj
      1 # The binary blobs in this file were created like this:
      2 # llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu Inputs/elf-relr-relocs1.s -o - | obj2yaml | grep Content:
      3 
      4 # RUN: yaml2obj -docnum 1 %s \
      5 # RUN:   | llvm-readobj -elf-output-style=LLVM -relocations -raw-relr - \
      6 # RUN:   | FileCheck --check-prefix=RAW-LLVM1 %s
      7 # RAW-LLVM1:      Section (1) .relr.dyn {
      8 # RAW-LLVM1-NEXT:   0x10D60
      9 # RAW-LLVM1-NEXT:   0x103
     10 # RAW-LLVM1-NEXT:   0x20000
     11 # RAW-LLVM1-NEXT:   0xF0501
     12 # RAW-LLVM1-NEXT:   0xA700550400009
     13 # RAW-LLVM1-NEXT: }
     14 
     15 # RUN: yaml2obj -docnum 1 %s \
     16 # RUN:   | llvm-readobj -elf-output-style=LLVM -relocations - \
     17 # RUN:   | FileCheck --check-prefix=LLVM1 %s
     18 # LLVM1:      Section (1) .relr.dyn {
     19 # LLVM1-NEXT:   0x10D60 R_X86_64_RELATIVE - 0x0
     20 # LLVM1-NEXT:   0x10D68 R_X86_64_RELATIVE - 0x0
     21 # LLVM1-NEXT:   0x10DA0 R_X86_64_RELATIVE - 0x0
     22 # LLVM1-NEXT:   0x20000 R_X86_64_RELATIVE - 0x0
     23 # LLVM1-NEXT:   0x20040 R_X86_64_RELATIVE - 0x0
     24 # LLVM1-NEXT:   0x20050 R_X86_64_RELATIVE - 0x0
     25 # LLVM1-NEXT:   0x20080 R_X86_64_RELATIVE - 0x0
     26 # LLVM1-NEXT:   0x20088 R_X86_64_RELATIVE - 0x0
     27 # LLVM1-NEXT:   0x20090 R_X86_64_RELATIVE - 0x0
     28 # LLVM1-NEXT:   0x20098 R_X86_64_RELATIVE - 0x0
     29 # LLVM1-NEXT:   0x20210 R_X86_64_RELATIVE - 0x0
     30 # LLVM1-NEXT:   0x202A8 R_X86_64_RELATIVE - 0x0
     31 # LLVM1-NEXT:   0x202D8 R_X86_64_RELATIVE - 0x0
     32 # LLVM1-NEXT:   0x202E8 R_X86_64_RELATIVE - 0x0
     33 # LLVM1-NEXT:   0x202F8 R_X86_64_RELATIVE - 0x0
     34 # LLVM1-NEXT:   0x20308 R_X86_64_RELATIVE - 0x0
     35 # LLVM1-NEXT:   0x20358 R_X86_64_RELATIVE - 0x0
     36 # LLVM1-NEXT:   0x20360 R_X86_64_RELATIVE - 0x0
     37 # LLVM1-NEXT:   0x20368 R_X86_64_RELATIVE - 0x0
     38 # LLVM1-NEXT:   0x20380 R_X86_64_RELATIVE - 0x0
     39 # LLVM1-NEXT:   0x20390 R_X86_64_RELATIVE - 0x0
     40 # LLVM1-NEXT: }
     41 
     42 # RUN: yaml2obj -docnum 1 %s \
     43 # RUN:   | llvm-readobj -elf-output-style=GNU -relocations -raw-relr - \
     44 # RUN:   | FileCheck --check-prefix=RAW-GNU1 %s
     45 # RAW-GNU1:      Relocation section '.relr.dyn' at offset 0x180 contains 5 entries:
     46 # RAW-GNU1:      0000000000010d60
     47 # RAW-GNU1-NEXT: 0000000000000103
     48 # RAW-GNU1-NEXT: 0000000000020000
     49 # RAW-GNU1-NEXT: 00000000000f0501
     50 # RAW-GNU1-NEXT: 000a700550400009
     51 
     52 # RUN: yaml2obj -docnum 1 %s \
     53 # RUN:   | llvm-readobj -elf-output-style=GNU -relocations - \
     54 # RUN:   | FileCheck --check-prefix=GNU1 %s
     55 # GNU1:      Relocation section '.relr.dyn' at offset 0x180 contains 21 entries:
     56 # GNU1:      0000000000010d60  0000000000000008 R_X86_64_RELATIVE
     57 # GNU1-NEXT: 0000000000010d68  0000000000000008 R_X86_64_RELATIVE
     58 # GNU1-NEXT: 0000000000010da0  0000000000000008 R_X86_64_RELATIVE
     59 # GNU1-NEXT: 0000000000020000  0000000000000008 R_X86_64_RELATIVE
     60 # GNU1-NEXT: 0000000000020040  0000000000000008 R_X86_64_RELATIVE
     61 # GNU1-NEXT: 0000000000020050  0000000000000008 R_X86_64_RELATIVE
     62 # GNU1-NEXT: 0000000000020080  0000000000000008 R_X86_64_RELATIVE
     63 # GNU1-NEXT: 0000000000020088  0000000000000008 R_X86_64_RELATIVE
     64 # GNU1-NEXT: 0000000000020090  0000000000000008 R_X86_64_RELATIVE
     65 # GNU1-NEXT: 0000000000020098  0000000000000008 R_X86_64_RELATIVE
     66 # GNU1-NEXT: 0000000000020210  0000000000000008 R_X86_64_RELATIVE
     67 # GNU1-NEXT: 00000000000202a8  0000000000000008 R_X86_64_RELATIVE
     68 # GNU1-NEXT: 00000000000202d8  0000000000000008 R_X86_64_RELATIVE
     69 # GNU1-NEXT: 00000000000202e8  0000000000000008 R_X86_64_RELATIVE
     70 # GNU1-NEXT: 00000000000202f8  0000000000000008 R_X86_64_RELATIVE
     71 # GNU1-NEXT: 0000000000020308  0000000000000008 R_X86_64_RELATIVE
     72 # GNU1-NEXT: 0000000000020358  0000000000000008 R_X86_64_RELATIVE
     73 # GNU1-NEXT: 0000000000020360  0000000000000008 R_X86_64_RELATIVE
     74 # GNU1-NEXT: 0000000000020368  0000000000000008 R_X86_64_RELATIVE
     75 # GNU1-NEXT: 0000000000020380  0000000000000008 R_X86_64_RELATIVE
     76 # GNU1-NEXT: 0000000000020390  0000000000000008 R_X86_64_RELATIVE
     77 
     78 # elf-relr-relocs1.s
     79 --- !ELF
     80 FileHeader:
     81   Class:           ELFCLASS64
     82   Data:            ELFDATA2LSB
     83   Type:            ET_DYN
     84   Machine:         EM_X86_64
     85   Entry:           0x0000000000001000
     86 Sections:
     87   - Name:            .relr.dyn
     88     Type:            SHT_RELR
     89     Flags:           [ SHF_ALLOC ]
     90     Address:         0x00000000000001C8
     91     Link:            .symtab
     92     AddressAlign:    0x0000000000000001
     93     Content:         600D0100000000000301000000000000000002000000000001050F00000000000900405005700A00
     94 ...
     95 
     96 # RUN: yaml2obj -docnum 2 %s \
     97 # RUN:   | llvm-readobj -elf-output-style=LLVM -relocations -raw-relr - \
     98 # RUN:   | FileCheck --check-prefix=RAW-LLVM2 %s
     99 # RAW-LLVM2:      Section (1) .relr.dyn {
    100 # RAW-LLVM2-NEXT:   0x10D60
    101 # RAW-LLVM2-NEXT:   0x103
    102 # RAW-LLVM2-NEXT:   0x20000
    103 # RAW-LLVM2-NEXT:   0xF0501
    104 # RAW-LLVM2-NEXT:   0x50400009
    105 # RAW-LLVM2-NEXT: }
    106 
    107 # RUN: yaml2obj -docnum 2 %s \
    108 # RUN:   | llvm-readobj -elf-output-style=LLVM -relocations - \
    109 # RUN:   | FileCheck --check-prefix=LLVM2 %s
    110 # LLVM2:      Section (1) .relr.dyn {
    111 # LLVM2-NEXT:   0x10D60 R_386_RELATIVE - 0x0
    112 # LLVM2-NEXT:   0x10D64 R_386_RELATIVE - 0x0
    113 # LLVM2-NEXT:   0x10D80 R_386_RELATIVE - 0x0
    114 # LLVM2-NEXT:   0x20000 R_386_RELATIVE - 0x0
    115 # LLVM2-NEXT:   0x20020 R_386_RELATIVE - 0x0
    116 # LLVM2-NEXT:   0x20028 R_386_RELATIVE - 0x0
    117 # LLVM2-NEXT:   0x20040 R_386_RELATIVE - 0x0
    118 # LLVM2-NEXT:   0x20044 R_386_RELATIVE - 0x0
    119 # LLVM2-NEXT:   0x20048 R_386_RELATIVE - 0x0
    120 # LLVM2-NEXT:   0x2004C R_386_RELATIVE - 0x0
    121 # LLVM2-NEXT:   0x20088 R_386_RELATIVE - 0x0
    122 # LLVM2-NEXT:   0x200D4 R_386_RELATIVE - 0x0
    123 # LLVM2-NEXT:   0x200EC R_386_RELATIVE - 0x0
    124 # LLVM2-NEXT:   0x200F4 R_386_RELATIVE - 0x0
    125 # LLVM2-NEXT: }
    126 
    127 # RUN: yaml2obj -docnum 2 %s \
    128 # RUN:   | llvm-readobj -elf-output-style=GNU -relocations -raw-relr - \
    129 # RUN:   | FileCheck --check-prefix=RAW-GNU2 %s
    130 # RAW-GNU2:      Relocation section '.relr.dyn' at offset 0xfc contains 5 entries:
    131 # RAW-GNU2:      00010d60
    132 # RAW-GNU2-NEXT: 00000103
    133 # RAW-GNU2-NEXT: 00020000
    134 # RAW-GNU2-NEXT: 000f0501
    135 # RAW-GNU2-NEXT: 50400009
    136 
    137 # RUN: yaml2obj -docnum 2 %s \
    138 # RUN:   | llvm-readobj -elf-output-style=GNU -relocations - \
    139 # RUN:   | FileCheck --check-prefix=GNU2 %s
    140 # GNU2:      Relocation section '.relr.dyn' at offset 0xfc contains 14 entries:
    141 # GNU2:      00010d60  00000008 R_386_RELATIVE
    142 # GNU2-NEXT: 00010d64  00000008 R_386_RELATIVE
    143 # GNU2-NEXT: 00010d80  00000008 R_386_RELATIVE
    144 # GNU2-NEXT: 00020000  00000008 R_386_RELATIVE
    145 # GNU2-NEXT: 00020020  00000008 R_386_RELATIVE
    146 # GNU2-NEXT: 00020028  00000008 R_386_RELATIVE
    147 # GNU2-NEXT: 00020040  00000008 R_386_RELATIVE
    148 # GNU2-NEXT: 00020044  00000008 R_386_RELATIVE
    149 # GNU2-NEXT: 00020048  00000008 R_386_RELATIVE
    150 # GNU2-NEXT: 0002004c  00000008 R_386_RELATIVE
    151 # GNU2-NEXT: 00020088  00000008 R_386_RELATIVE
    152 # GNU2-NEXT: 000200d4  00000008 R_386_RELATIVE
    153 # GNU2-NEXT: 000200ec  00000008 R_386_RELATIVE
    154 # GNU2-NEXT: 000200f4  00000008 R_386_RELATIVE
    155 
    156 # elf-relr-relocs2.s
    157 --- !ELF
    158 FileHeader:
    159   Class:           ELFCLASS32
    160   Data:            ELFDATA2LSB
    161   Type:            ET_DYN
    162   Machine:         EM_386
    163   Entry:           0x00001000
    164 Sections:
    165   - Name:            .relr.dyn
    166     Type:            SHT_RELR
    167     Flags:           [ SHF_ALLOC ]
    168     Address:         0x000001C8
    169     Link:            .symtab
    170     AddressAlign:    0x00000001
    171     Content:         600D0100030100000000020001050F0009004050
    172 ...
    173