File: verneed-section.yaml

package info (click to toggle)
llvm-toolchain-15 1%3A15.0.6-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,554,644 kB
  • sloc: cpp: 5,922,452; ansic: 1,012,136; asm: 674,362; python: 191,568; objc: 73,855; f90: 42,327; lisp: 31,913; pascal: 11,973; javascript: 10,144; sh: 9,421; perl: 7,447; ml: 5,527; awk: 3,523; makefile: 2,520; xml: 885; cs: 573; fortran: 567
file content (75 lines) | stat: -rw-r--r-- 2,453 bytes parent folder | download | duplicates (25)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
## Check that we are able to yamalize the SHT_GNU_verneed section.
## Check we don't dump the `Info` field when its value
## is equal to the number of version dependencies.

# RUN: yaml2obj %s -o %t
# RUN: obj2yaml %t | FileCheck %s

# CHECK:      - Name:            .gnu.version_r
# CHECK-NEXT:   Type:            SHT_GNU_verneed
# CHECK-NEXT:   Flags:           [ SHF_ALLOC ]
# CHECK-NEXT:   Address:         0x200250
# CHECK-NEXT:   Link:            .dynstr
# CHECK-NEXT:   AddressAlign:    0x4
# INFO-NEXT:    Info:            0x3
# CHECK-NEXT:   Dependencies:
# CHECK-NEXT:     - Version:         1
# CHECK-NEXT:       File:            dso.so.0
# CHECK-NEXT:       Entries:
# CHECK-NEXT:         - Name:            v1
# CHECK-NEXT:           Hash:            1937
# CHECK-NEXT:           Flags:           10
# CHECK-NEXT:           Other:           3
# CHECK-NEXT:         - Name:            v2
# CHECK-NEXT:           Hash:            1938
# CHECK-NEXT:           Flags:           11
# CHECK-NEXT:           Other:           4
# CHECK-NEXT:     - Version:         1
# CHECK-NEXT:       File:            dso.so.1
# CHECK-NEXT:       Entries:
# CHECK-NEXT:         - Name:            v3
# CHECK-NEXT:           Hash:            1939
# CHECK-NEXT:           Flags:           12
# CHECK-NEXT:           Other:           2

--- !ELF
FileHeader:
  Class: ELFCLASS64
  Data:  ELFDATA2LSB
  Type:  ET_EXEC
  Entry: 0x0000000000201000
Sections:
  - Name:         .gnu.version_r
    Type:         SHT_GNU_verneed
    Flags:        [ SHF_ALLOC ]
    Address:      0x200250
    AddressAlign: 4
    Info:         [[INFO=<none>]]
    Dependencies:
      - Version:         1
        File:            dso.so.0
        Entries:
          - Name:            v1
            Hash:            1937
            Flags:           10
            Other:           3
          - Name:            v2
            Hash:            1938
            Flags:           11
            Other:           4
      - Version:         1
        File:            dso.so.1
        Entries:
          - Name:            v3
            Hash:            1939
            Flags:           12
            Other:           2
DynamicSymbols:
  - Name:    f1
    Binding: STB_GLOBAL

## Check we dump the `Info` field when its value
## is not equal to the number of version dependencies.

# RUN: yaml2obj %s -DINFO=0x3 -o %t.info
# RUN: obj2yaml %t.info | FileCheck %s --check-prefixes=CHECK,INFO