brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.2 KiB · f1f2be0 Raw
120 lines · yaml
1## Check how llvm-readobj/llvm-readelf tools dump the flags of SHT_GNU_verneed2## section entries.3 4# RUN: yaml2obj %s -o %t5# RUN: llvm-readobj -V %t | FileCheck %s --check-prefix=LLVM-VERDEF6# RUN: llvm-readelf -V %t | FileCheck %s --check-prefix=GNU-VERDEF7 8# LLVM-VERDEF:      VersionRequirements [9# LLVM-VERDEF-NEXT:   Dependency {10# LLVM-VERDEF-NEXT:     Version: 111# LLVM-VERDEF-NEXT:     Count: 612# LLVM-VERDEF-NEXT:     FileName: dso.so.013# LLVM-VERDEF-NEXT:     Entries [14# LLVM-VERDEF-NEXT:       Entry {15# LLVM-VERDEF-NEXT:         Hash: 016# LLVM-VERDEF-NEXT:         Flags [ (0x1)17# LLVM-VERDEF-NEXT:           Base (0x1)18# LLVM-VERDEF-NEXT:         ]19# LLVM-VERDEF-NEXT:         Index: 020# LLVM-VERDEF-NEXT:         Name: base21# LLVM-VERDEF-NEXT:       }22# LLVM-VERDEF-NEXT:       Entry {23# LLVM-VERDEF-NEXT:         Hash: 024# LLVM-VERDEF-NEXT:         Flags [ (0x2)25# LLVM-VERDEF-NEXT:           Weak (0x2)26# LLVM-VERDEF-NEXT:         ]27# LLVM-VERDEF-NEXT:         Index: 028# LLVM-VERDEF-NEXT:         Name: weak29# LLVM-VERDEF-NEXT:       }30# LLVM-VERDEF-NEXT:       Entry {31# LLVM-VERDEF-NEXT:         Hash: 032# LLVM-VERDEF-NEXT:         Flags [ (0x4)33# LLVM-VERDEF-NEXT:           Info (0x4)34# LLVM-VERDEF-NEXT:         ]35# LLVM-VERDEF-NEXT:         Index: 036# LLVM-VERDEF-NEXT:         Name: info37# LLVM-VERDEF-NEXT:       }38# LLVM-VERDEF-NEXT:       Entry {39# LLVM-VERDEF-NEXT:         Hash: 040# LLVM-VERDEF-NEXT:         Flags [ (0x7)41# LLVM-VERDEF-NEXT:           Base (0x1)42# LLVM-VERDEF-NEXT:           Info (0x4)43# LLVM-VERDEF-NEXT:           Weak (0x2)44# LLVM-VERDEF-NEXT:         ]45# LLVM-VERDEF-NEXT:         Index: 046# LLVM-VERDEF-NEXT:         Name: all47# LLVM-VERDEF-NEXT:       }48# LLVM-VERDEF-NEXT:       Entry {49# LLVM-VERDEF-NEXT:         Hash: 050# LLVM-VERDEF-NEXT:         Flags [ (0x8)51# LLVM-VERDEF-NEXT:         ]52# LLVM-VERDEF-NEXT:         Index: 053# LLVM-VERDEF-NEXT:         Name: unknown54# LLVM-VERDEF-NEXT:       }55# LLVM-VERDEF-NEXT:       Entry {56# LLVM-VERDEF-NEXT:         Hash: 057# LLVM-VERDEF-NEXT:         Flags [ (0xF)58# LLVM-VERDEF-NEXT:           Base (0x1)59# LLVM-VERDEF-NEXT:           Info (0x4)60# LLVM-VERDEF-NEXT:           Weak (0x2)61# LLVM-VERDEF-NEXT:         ]62# LLVM-VERDEF-NEXT:         Index: 063# LLVM-VERDEF-NEXT:         Name: all_and_unknown64# LLVM-VERDEF-NEXT:       }65# LLVM-VERDEF-NEXT:     ]66# LLVM-VERDEF-NEXT:   }67# LLVM-VERDEF-NEXT: ]68 69# GNU-VERDEF:      Version needs section '.gnu.version_r' contains 1 entries:70# GNU-VERDEF-NEXT:  Addr: 0000000000000000  Offset: 0x000040  Link: 3 (.dynstr)71# GNU-VERDEF-NEXT:   0x0000: Version: 1  File: dso.so.0  Cnt: 672# GNU-VERDEF-NEXT:   0x0010:   Name: base  Flags: BASE  Version: 073# GNU-VERDEF-NEXT:   0x0020:   Name: weak  Flags: WEAK  Version: 074# GNU-VERDEF-NEXT:   0x0030:   Name: info  Flags: INFO  Version: 075# GNU-VERDEF-NEXT:   0x0040:   Name: all  Flags: BASE | WEAK | INFO  Version: 076# GNU-VERDEF-NEXT:   0x0050:   Name: unknown  Flags: <unknown>  Version: 077# GNU-VERDEF-NEXT:   0x0060:   Name: all_and_unknown  Flags: BASE | WEAK | INFO | <unknown>  Version: 078 79--- !ELF80FileHeader:81  Class: ELFCLASS6482  Data:  ELFDATA2LSB83  Type:  ET_EXEC84  Entry: 0x000000000020100085Sections:86  - Name: .gnu.version_r87    Type: SHT_GNU_verneed88    Dependencies:89      - Version:         190        File:            dso.so.091        Entries:92          - Name:            base93            Hash:            094            Flags:           0x195            Other:           096          - Name:            weak97            Hash:            098            Flags:           0x299            Other:           0100          - Name:            info101            Hash:            0102            Flags:           0x4103            Other:           0104          - Name:            all105            Hash:            0106            Flags:           0x7107            Other:           0108          - Name:            unknown109            Hash:            0110            Flags:           0x8111            Other:           0112          - Name:            all_and_unknown113            Hash:            0114            Flags:           0xf115            Other:           0116## Needed to trigger .dynstr creation, which is required by .gnu.version_r117DynamicSymbols:118  - Name:    f1119    Binding: STB_GLOBAL120