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