Recommit "rL366894: [yaml2obj] - Allow custom fields for the SHT_UNDEF sections."
[llvm-complete.git] / test / tools / llvm-readobj / elf-reloc-symbol-with-versioning.test
blob8fa191984d5383dbaf1695585394fb0e4d96ff07
1 # RUN: yaml2obj %s > %t.o
2 # RUN: llvm-readobj --demangle -r %t.o | FileCheck %s --check-prefix LLVM
3 # RUN: llvm-readelf --demangle -r %t.o | FileCheck %s --check-prefix GNU
5 # GNU:      Relocation section '.rela.plt' at offset {{.*}} contains 5 entries:
6 # GNU-NEXT:     Offset             Info             Type               Symbol's Value  Symbol's Name + Addend
7 # GNU-NEXT: 0000000000013018  0000000100000007 R_X86_64_JUMP_SLOT     0000000000000000 f1@v3 + 0
8 # GNU-NEXT: 0000000000013020  0000000200000007 R_X86_64_JUMP_SLOT     0000000000000000 f2@v2 + 0
9 # GNU-NEXT: 0000000000013028  0000000300000007 R_X86_64_JUMP_SLOT     0000000000000000 g1@v1 + 0
10 # GNU-NEXT: 0000000000013040  0000000400000007 R_X86_64_JUMP_SLOT     0000000000000000 f1()@v3 + 0
11 # GNU-NEXT: 0000000000013058  0000000500000007 R_X86_64_JUMP_SLOT     0000000000000000 f3 + 0
13 # LLVM:      Relocations [
14 # LLVM-NEXT:   Section (3) .rela.plt {
15 # LLVM-NEXT:     0x13018 R_X86_64_JUMP_SLOT f1@v3 0x0
16 # LLVM-NEXT:     0x13020 R_X86_64_JUMP_SLOT f2@v2 0x0
17 # LLVM-NEXT:     0x13028 R_X86_64_JUMP_SLOT g1@v1 0x0
18 # LLVM-NEXT:     0x13040 R_X86_64_JUMP_SLOT f1()@v3 0x0
19 # LLVM-NEXT:     0x13058 R_X86_64_JUMP_SLOT f3 0x0
20 # LLVM-NEXT:   }
21 # LLVM-NEXT: ]
23 --- !ELF
24 FileHeader:      
25   Class:           ELFCLASS64
26   Data:            ELFDATA2LSB
27   Type:            ET_EXEC
28   Machine:         EM_X86_64
29   Entry:           0x0000000000000000
30 Sections:        
31   - Name:            .gnu.version
32     Type:            SHT_GNU_versym
33     Flags:           [ SHF_ALLOC ]
34     Link:            .dynsym
35     AddressAlign:    0x0000000000000002
36     EntSize:         0x0000000000000002
37     Entries:         [ 0, 2, 3, 4, 2 ]
38   - Name:            .gnu.version_r
39     Type:            SHT_GNU_verneed
40     Flags:           [ SHF_ALLOC ]
41     Link:            .dynstr
42     AddressAlign:    0x0000000000000004
43     Info:            0x0000000000000002
44     Dependencies:    
45       - Version:         1
46         File:            verneed1.so.0
47         Entries:         
48           - Name:            v2
49             Hash:            1938
50             Flags:           0
51             Other:           3
52           - Name:            v3
53             Hash:            1939
54             Flags:           0
55             Other:           2
56       - Version:         1
57         File:            verneed2.so.0
58         Entries:         
59           - Name:            v1
60             Hash:            1937
61             Flags:           0
62             Other:           4
63   - Name:            .rela.plt
64     Type:            SHT_RELA
65     Flags:           [ SHF_ALLOC ]
66     Info:            0
67     Link:            7
68     AddressAlign:    0x0000000000000008
69     EntSize:         0x0000000000000018
70     Relocations:     
71       - Offset:          0x0000000000013018
72         Symbol:          f1
73         Type:            R_X86_64_JUMP_SLOT
74       - Offset:          0x0000000000013020
75         Symbol:          f2
76         Type:            R_X86_64_JUMP_SLOT
77       - Offset:          0x0000000000013028
78         Symbol:          g1
79         Type:            R_X86_64_JUMP_SLOT
80       - Offset:          0x0000000000013040
81         Symbol:          _Z2f1v
82         Type:            R_X86_64_JUMP_SLOT
83       - Offset:          0x0000000000013058
84         Symbol:          f3
85         Type:            R_X86_64_JUMP_SLOT
86 Symbols:
87   - Name:            f1
88     Binding:         STB_GLOBAL
89   - Name:            f2
90     Binding:         STB_GLOBAL
91   - Name:            g1
92     Binding:         STB_GLOBAL
93   - Name:            _Z2f1v
94     Binding:         STB_GLOBAL
95   - Name:            f3
96     Binding:         STB_GLOBAL
97 DynamicSymbols:  
98   - Name:            f1
99     Binding:         STB_GLOBAL
100   - Name:            f2
101     Binding:         STB_GLOBAL
102   - Name:            g1
103     Binding:         STB_GLOBAL
104   - Name:            _Z2f1v
105     Binding:         STB_GLOBAL
106   - Name:            f3
107     Binding:         STB_GLOBAL