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