// Test that llvm-readobj dumps version info tags correctly.

RUN: llvm-readobj -dynamic-table -V %p/Inputs/verdef.elf-x86-64 | FileCheck %s --check-prefix=LLVM-VERDEF
RUN: llvm-readelf -dynamic-table -V %p/Inputs/verdef.elf-x86-64 | FileCheck %s --check-prefix=GNU-VERDEF

LLVM-VERDEF: 0x000000006FFFFFF0 VERSYM               0x24C
LLVM-VERDEF: 0x000000006FFFFFFC VERDEF               0x25C
LLVM-VERDEF: 0x000000006FFFFFFD VERDEFNUM            3

LLVM-VERDEF: Version symbols {
LLVM-VERDEF-NEXT:   Section Name: .gnu.version (20)
LLVM-VERDEF-NEXT:   Address: 0x24C
LLVM-VERDEF-NEXT:   Offset: 0x24C
LLVM-VERDEF-NEXT:   Link: 1
LLVM-VERDEF-NEXT:   Symbols [
LLVM-VERDEF-NEXT:     Symbol {
LLVM-VERDEF-NEXT:       Version: 0
LLVM-VERDEF-NEXT:       Name: {{$}}
LLVM-VERDEF-NEXT:     }
LLVM-VERDEF-NEXT:     Symbol {
LLVM-VERDEF-NEXT:       Version: 1
LLVM-VERDEF-NEXT:       Name: _end{{$}}
LLVM-VERDEF-NEXT:     }
LLVM-VERDEF-NEXT:     Symbol {
LLVM-VERDEF-NEXT:       Version: 1
LLVM-VERDEF-NEXT:       Name: _edata{{$}}
LLVM-VERDEF-NEXT:     }
LLVM-VERDEF-NEXT:     Symbol {
LLVM-VERDEF-NEXT:       Version: 3
LLVM-VERDEF-NEXT:       Name: goo@@VERSION2
LLVM-VERDEF-NEXT:     }
LLVM-VERDEF-NEXT:     Symbol {
LLVM-VERDEF-NEXT:       Version: 1
LLVM-VERDEF-NEXT:       Name: __bss_start{{$}}
LLVM-VERDEF-NEXT:     }
LLVM-VERDEF-NEXT:     Symbol {
LLVM-VERDEF-NEXT:       Version: 2
LLVM-VERDEF-NEXT:       Name: foo@@VERSION1
LLVM-VERDEF-NEXT:     }
LLVM-VERDEF-NEXT:     Symbol {
LLVM-VERDEF-NEXT:       Version: 2
LLVM-VERDEF-NEXT:       Name: VERSION1@@VERSION1
LLVM-VERDEF-NEXT:     }
LLVM-VERDEF-NEXT:     Symbol {
LLVM-VERDEF-NEXT:       Version: 3
LLVM-VERDEF-NEXT:       Name: VERSION2@@VERSION2
LLVM-VERDEF-NEXT:     }
LLVM-VERDEF-NEXT:   ]
LLVM-VERDEF-NEXT: }

LLVM-VERDEF:      SHT_GNU_verdef {
LLVM-VERDEF-NEXT:   Definition {
LLVM-VERDEF-NEXT:     Version: 1
LLVM-VERDEF-NEXT:     Flags: Base (0x1)
LLVM-VERDEF-NEXT:     Index: 1
LLVM-VERDEF-NEXT:     Hash: 430712
LLVM-VERDEF-NEXT:     Name: blah
LLVM-VERDEF-NEXT:   }
LLVM-VERDEF-NEXT:   Definition {
LLVM-VERDEF-NEXT:     Version: 1
LLVM-VERDEF-NEXT:     Flags: 0x0
LLVM-VERDEF-NEXT:     Index: 2
LLVM-VERDEF-NEXT:     Hash: 175630257
LLVM-VERDEF-NEXT:     Name: VERSION1
LLVM-VERDEF-NEXT:   }
LLVM-VERDEF-NEXT:   Definition {
LLVM-VERDEF-NEXT:     Version: 1
LLVM-VERDEF-NEXT:     Flags: 0x0
LLVM-VERDEF-NEXT:     Index: 3
LLVM-VERDEF-NEXT:     Hash: 175630258
LLVM-VERDEF-NEXT:     Name: VERSION2
LLVM-VERDEF-NEXT:     Predecessor: VERSION1
LLVM-VERDEF-NEXT:   }
LLVM-VERDEF-NEXT: }

GNU-VERDEF: 0x000000006ffffff0 VERSYM               0x24c
GNU-VERDEF: 0x000000006ffffffc VERDEF               0x25c
GNU-VERDEF: 0x000000006ffffffd VERDEFNUM            3

GNU-VERDEF:      Version symbols section '.gnu.version' contains 8 entries:
GNU-VERDEF-NEXT:  Addr: 000000000000024c  Offset: 0x00024c  Link: 1 (.dynsym)
GNU-VERDEF-NEXT:   000:   0 (*local*)       1 (*global*)      1 (*global*)      3 (VERSION2)
GNU-VERDEF-NEXT:   004:   1 (*global*)      2 (VERSION1)      2 (VERSION1)      3 (VERSION2)

GNU-VERDEF: Dumper for .gnu.version_d is not implemented

RUN: llvm-readobj -V %p/Inputs/verneed.elf-x86-64 | FileCheck %s --check-prefix=LLVM-VERNEED
RUN: llvm-readelf -V %p/Inputs/verneed.elf-x86-64 | FileCheck %s --check-prefix=GNU-VERNEED

LLVM-VERNEED:       SHT_GNU_verneed {
LLVM-VERNEED-NEXT:   Dependency {
LLVM-VERNEED-NEXT:     Version: 1
LLVM-VERNEED-NEXT:     Count: 2
LLVM-VERNEED-NEXT:     FileName: verneed1.so.0
LLVM-VERNEED-NEXT:     Entries [
LLVM-VERNEED-NEXT:       Entry {
LLVM-VERNEED-NEXT:         Hash: 1938
LLVM-VERNEED-NEXT:         Flags: 0x0
LLVM-VERNEED-NEXT:         Index: 3
LLVM-VERNEED-NEXT:         Name: v2
LLVM-VERNEED-NEXT:       }
LLVM-VERNEED-NEXT:       Entry {
LLVM-VERNEED-NEXT:         Hash: 1939
LLVM-VERNEED-NEXT:         Flags: 0x0
LLVM-VERNEED-NEXT:         Index: 2
LLVM-VERNEED-NEXT:         Name: v3
LLVM-VERNEED-NEXT:       }
LLVM-VERNEED-NEXT:     ]
LLVM-VERNEED-NEXT:   }
LLVM-VERNEED-NEXT:   Dependency {
LLVM-VERNEED-NEXT:     Version: 1
LLVM-VERNEED-NEXT:     Count: 1
LLVM-VERNEED-NEXT:     FileName: verneed2.so.0
LLVM-VERNEED-NEXT:     Entries [
LLVM-VERNEED-NEXT:       Entry {
LLVM-VERNEED-NEXT:         Hash: 1937
LLVM-VERNEED-NEXT:         Flags: 0x0
LLVM-VERNEED-NEXT:         Index: 4
LLVM-VERNEED-NEXT:         Name: v1
LLVM-VERNEED-NEXT:       }
LLVM-VERNEED-NEXT:     ]
LLVM-VERNEED-NEXT:   }
LLVM-VERNEED-NEXT: }

GNU-VERNEED:      Version symbols section '.gnu.version' contains 4 entries:
GNU-VERNEED-NEXT:  Addr: 0000000000010228  Offset: 0x000228  Link: 1 (.dynsym)
GNU-VERNEED-NEXT:   000:   0 (*local*)       2 (v3)            3 (v2)            4 (v1)

GNU-VERNEED: Dumper for .gnu.version_r is not implemented

