]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/ELF/combrelocs.s
Vendor import of lld release_39 branch r276489:
[FreeBSD/FreeBSD.git] / test / ELF / combrelocs.s
1 # REQUIRES: x86
2
3 # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o
4 # RUN: ld.lld -shared %t.o -o %t.out
5 # RUN: llvm-readobj -r --expand-relocs --dynamic-table %t.out | FileCheck %s
6
7 # CHECK:      Relocations [
8 # CHECK-NEXT:   Section ({{.*}}) .rela.dyn {
9 # CHECK-NEXT:     Relocation {
10 # CHECK-NEXT:       Offset: 0x2000
11 # CHECK-NEXT:       Type: R_X86_64_64
12 # CHECK-NEXT:       Symbol: aaa (1)
13 # CHECK-NEXT:       Addend: 0x0
14 # CHECK-NEXT:     }
15 # CHECK-NEXT:     Relocation {
16 # CHECK-NEXT:       Offset: 0x2018
17 # CHECK-NEXT:       Type: R_X86_64_64
18 # CHECK-NEXT:       Symbol: aaa (1)
19 # CHECK-NEXT:       Addend: 0x0
20 # CHECK-NEXT:     }
21 # CHECK-NEXT:     Relocation {
22 # CHECK-NEXT:       Offset: 0x2010
23 # CHECK-NEXT:       Type: R_X86_64_64
24 # CHECK-NEXT:       Symbol: bbb (2)
25 # CHECK-NEXT:       Addend: 0x0
26 # CHECK-NEXT:     }
27 # CHECK-NEXT:     Relocation {
28 # CHECK-NEXT:       Offset: 0x2008
29 # CHECK-NEXT:       Type: R_X86_64_64
30 # CHECK-NEXT:       Symbol: ccc (3)
31 # CHECK-NEXT:       Addend: 0x0
32 # CHECK-NEXT:     }
33 # CHECK-NEXT:     Relocation {
34 # CHECK-NEXT:       Offset: 0x2020
35 # CHECK-NEXT:       Type: R_X86_64_64
36 # CHECK-NEXT:       Symbol: ddd (4)
37 # CHECK-NEXT:       Addend: 0x0
38 # CHECK-NEXT:     }
39 # CHECK-NEXT:   }
40 # CHECK-NEXT: ]
41 # CHECK:      DynamicSection [
42 # CHECK-NEXT:   Tag
43 # CHECK-NOT:    RELACOUNT
44
45 # RUN: ld.lld -z nocombreloc -shared %t.o -o %t.out
46 # RUN: llvm-readobj -r --expand-relocs --dynamic-table %t.out | \
47 # RUN:    FileCheck --check-prefix=NOCOMB %s
48
49 # NOCOMB:      Relocations [
50 # NOCOMB-NEXT:    Section ({{.*}}) .rela.dyn {
51 # NOCOMB-NEXT:     Relocation {
52 # NOCOMB-NEXT:       Offset: 0x2000
53 # NOCOMB-NEXT:       Type: R_X86_64_64
54 # NOCOMB-NEXT:       Symbol: aaa (1)
55 # NOCOMB-NEXT:       Addend: 0x0
56 # NOCOMB-NEXT:     }
57 # NOCOMB-NEXT:     Relocation {
58 # NOCOMB-NEXT:       Offset: 0x2008
59 # NOCOMB-NEXT:       Type: R_X86_64_64
60 # NOCOMB-NEXT:       Symbol: ccc (3)
61 # NOCOMB-NEXT:       Addend: 0x0
62 # NOCOMB-NEXT:     }
63 # NOCOMB-NEXT:     Relocation {
64 # NOCOMB-NEXT:       Offset: 0x2010
65 # NOCOMB-NEXT:       Type: R_X86_64_64
66 # NOCOMB-NEXT:       Symbol: bbb (2)
67 # NOCOMB-NEXT:       Addend: 0x0
68 # NOCOMB-NEXT:     }
69 # NOCOMB-NEXT:     Relocation {
70 # NOCOMB-NEXT:       Offset: 0x2018
71 # NOCOMB-NEXT:       Type: R_X86_64_64
72 # NOCOMB-NEXT:       Symbol: aaa (1)
73 # NOCOMB-NEXT:       Addend: 0x0
74 # NOCOMB-NEXT:     }
75 # NOCOMB-NEXT:     Relocation {
76 # NOCOMB-NEXT:       Offset: 0x2020
77 # NOCOMB-NEXT:       Type: R_X86_64_64
78 # NOCOMB-NEXT:       Symbol: ddd (4)
79 # NOCOMB-NEXT:       Addend: 0x0
80 # NOCOMB-NEXT:     }
81 # NOCOMB-NEXT:   }
82 # NOCOMB-NEXT:  ]
83 # NOCOMB:      DynamicSection [
84 # NOCOMB-NEXT:   Tag
85 # NOCOMB-NOT:    RELACOUNT
86
87 .data
88  .quad aaa
89  .quad ccc
90  .quad bbb
91  .quad aaa
92  .quad ddd