Recommit "rL366894: [yaml2obj] - Allow custom fields for the SHT_UNDEF sections."
[llvm-complete.git] / test / tools / llvm-readobj / elf-relr-relocs.test
blobda1b6abe52c39281fae2b96dee5805a229c10a41
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:
4 # RUN: yaml2obj -docnum 1 %s \
5 # RUN:   | llvm-readobj --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: }
15 # RUN: yaml2obj -docnum 1 %s \
16 # RUN:   | llvm-readobj --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: }
42 # RUN: yaml2obj -docnum 1 %s \
43 # RUN:   | llvm-readelf -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
52 # RUN: yaml2obj -docnum 1 %s \
53 # RUN:   | llvm-readelf -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
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 ...
96 # RUN: yaml2obj -docnum 2 %s \
97 # RUN:   | llvm-readobj --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: }
107 # RUN: yaml2obj -docnum 2 %s \
108 # RUN:   | llvm-readobj --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: }
127 # RUN: yaml2obj -docnum 2 %s \
128 # RUN:   | llvm-readelf -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
137 # RUN: yaml2obj -docnum 2 %s \
138 # RUN:   | llvm-readelf -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
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