1*9880d681SAndroid Build Coastguard Worker// Test that llvm-readobj dumps version info tags correctly. 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard WorkerRUN: llvm-readobj -dynamic-table -V %p/Inputs/verdef.elf-x86-64 | FileCheck %s 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard WorkerCHECK: 0x000000006FFFFFF0 VERSYM 0x24C 6*9880d681SAndroid Build Coastguard WorkerCHECK: 0x000000006FFFFFFC VERDEF 0x25C 7*9880d681SAndroid Build Coastguard WorkerCHECK: 0x000000006FFFFFFD VERDEFNUM 3 8*9880d681SAndroid Build Coastguard Worker 9*9880d681SAndroid Build Coastguard WorkerCHECK: Version symbols { 10*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Section Name: .gnu.version (20) 11*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Address: 0x24C 12*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Offset: 0x24C 13*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Link: 1 14*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Symbols [ 15*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Symbol { 16*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Version: 0 17*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Name: @ 18*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: } 19*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Symbol { 20*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Version: 1 21*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Name: _end@ 22*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: } 23*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Symbol { 24*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Version: 1 25*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Name: _edata@ 26*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: } 27*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Symbol { 28*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Version: 3 29*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Name: goo@@VERSION2 30*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: } 31*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Symbol { 32*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Version: 1 33*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Name: __bss_start@ 34*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: } 35*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Symbol { 36*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Version: 2 37*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Name: foo@@VERSION1 38*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: } 39*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Symbol { 40*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Version: 2 41*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Name: VERSION1@@VERSION1 42*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: } 43*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Symbol { 44*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Version: 3 45*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Name: VERSION2@@VERSION2 46*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: } 47*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: ] 48*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: } 49*9880d681SAndroid Build Coastguard Worker 50*9880d681SAndroid Build Coastguard WorkerCHECK: SHT_GNU_verdef { 51*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Definition { 52*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Version: 1 53*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Flags: Base (0x1) 54*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Index: 1 55*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Hash: 430712 56*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Name: blah 57*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: } 58*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Definition { 59*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Version: 1 60*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Flags: 0x0 61*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Index: 2 62*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Hash: 175630257 63*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Name: VERSION1 64*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: } 65*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Definition { 66*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Version: 1 67*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Flags: 0x0 68*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Index: 3 69*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Hash: 175630258 70*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Name: VERSION2 71*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Predecessor: VERSION1 72*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: } 73*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: } 74*9880d681SAndroid Build Coastguard Worker 75*9880d681SAndroid Build Coastguard WorkerRUN: llvm-readobj -V %p/Inputs/verneed.elf-x86-64 | FileCheck %s --check-prefix=VERNEED 76*9880d681SAndroid Build Coastguard Worker 77*9880d681SAndroid Build Coastguard WorkerVERNEED: SHT_GNU_verneed { 78*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: Dependency { 79*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: Version: 1 80*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: Count: 2 81*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: FileName: verneed1.so.0 82*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: Entry { 83*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: Hash: 1938 84*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: Flags: 0x0 85*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: Index: 3 86*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: Name: v2 87*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: } 88*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: Entry { 89*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: Hash: 1939 90*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: Flags: 0x0 91*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: Index: 2 92*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: Name: v3 93*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: } 94*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: } 95*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: Dependency { 96*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: Version: 1 97*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: Count: 1 98*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: FileName: verneed2.so.0 99*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: Entry { 100*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: Hash: 1937 101*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: Flags: 0x0 102*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: Index: 4 103*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: Name: v1 104*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: } 105*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: } 106*9880d681SAndroid Build Coastguard WorkerVERNEED-NEXT: } 107