1*0a6a1f1dSLionel Sambuc// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -r -t | FileCheck %s 2*0a6a1f1dSLionel Sambuc 3*0a6a1f1dSLionel Sambucdefined1: 4*0a6a1f1dSLionel Sambucdefined2: 5*0a6a1f1dSLionel Sambucdefined3: 6*0a6a1f1dSLionel Sambuc .symver defined1, bar1@zed 7*0a6a1f1dSLionel Sambuc .symver undefined1, bar2@zed 8*0a6a1f1dSLionel Sambuc 9*0a6a1f1dSLionel Sambuc .symver defined2, bar3@@zed 10*0a6a1f1dSLionel Sambuc 11*0a6a1f1dSLionel Sambuc .symver defined3, bar5@@@zed 12*0a6a1f1dSLionel Sambuc .symver undefined3, bar6@@@zed 13*0a6a1f1dSLionel Sambuc 14*0a6a1f1dSLionel Sambuc .long defined1 15*0a6a1f1dSLionel Sambuc .long undefined1 16*0a6a1f1dSLionel Sambuc .long defined2 17*0a6a1f1dSLionel Sambuc .long defined3 18*0a6a1f1dSLionel Sambuc .long undefined3 19*0a6a1f1dSLionel Sambuc 20*0a6a1f1dSLionel Sambuc .global global1 21*0a6a1f1dSLionel Sambuc .symver global1, g1@@zed 22*0a6a1f1dSLionel Sambucglobal1: 23*0a6a1f1dSLionel Sambuc 24*0a6a1f1dSLionel Sambuc// CHECK: Relocations [ 25*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Section (2) .rela.text { 26*0a6a1f1dSLionel Sambuc// CHECK-NEXT: 0x0 R_X86_64_32 .text 0x0 27*0a6a1f1dSLionel Sambuc// CHECK-NEXT: 0x4 R_X86_64_32 bar2@zed 0x0 28*0a6a1f1dSLionel Sambuc// CHECK-NEXT: 0x8 R_X86_64_32 .text 0x0 29*0a6a1f1dSLionel Sambuc// CHECK-NEXT: 0xC R_X86_64_32 .text 0x0 30*0a6a1f1dSLionel Sambuc// CHECK-NEXT: 0x10 R_X86_64_32 bar6@zed 0x0 31*0a6a1f1dSLionel Sambuc// CHECK-NEXT: } 32*0a6a1f1dSLionel Sambuc// CHECK-NEXT: ] 33*0a6a1f1dSLionel Sambuc 34*0a6a1f1dSLionel Sambuc// CHECK: Symbol { 35*0a6a1f1dSLionel Sambuc// CHECK: Name: bar1@zed 36*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Value: 0x0 37*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Size: 0 38*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Binding: Local 39*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Type: None 40*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Other: 0 41*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Section: .text 42*0a6a1f1dSLionel Sambuc// CHECK-NEXT: } 43*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Symbol { 44*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Name: bar3@@zed 45*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Value: 0x0 46*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Size: 0 47*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Binding: Local 48*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Type: None 49*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Other: 0 50*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Section: .text 51*0a6a1f1dSLionel Sambuc// CHECK-NEXT: } 52*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Symbol { 53*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Name: bar5@@zed 54*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Value: 0x0 55*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Size: 0 56*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Binding: Local 57*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Type: None 58*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Other: 0 59*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Section: .text 60*0a6a1f1dSLionel Sambuc// CHECK-NEXT: } 61*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Symbol { 62*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Name: defined1 63*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Value: 0x0 64*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Size: 0 65*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Binding: Local 66*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Type: None 67*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Other: 0 68*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Section: .text 69*0a6a1f1dSLionel Sambuc// CHECK-NEXT: } 70*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Symbol { 71*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Name: defined2 72*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Value: 0x0 73*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Size: 0 74*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Binding: Local 75*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Type: None 76*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Other: 0 77*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Section: .text 78*0a6a1f1dSLionel Sambuc// CHECK-NEXT: } 79*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Symbol { 80*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Name: .text 81*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Value: 0x0 82*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Size: 0 83*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Binding: Local 84*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Type: Section 85*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Other: 0 86*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Section: .text 87*0a6a1f1dSLionel Sambuc// CHECK-NEXT: } 88*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Symbol { 89*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Name: .data 90*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Value: 0x0 91*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Size: 0 92*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Binding: Local 93*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Type: Section 94*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Other: 0 95*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Section: .data 96*0a6a1f1dSLionel Sambuc// CHECK-NEXT: } 97*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Symbol { 98*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Name: .bss 99*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Value: 0x0 100*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Size: 0 101*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Binding: Local 102*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Type: Section 103*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Other: 0 104*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Section: .bss 105*0a6a1f1dSLionel Sambuc// CHECK-NEXT: } 106*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Symbol { 107*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Name: g1@@zed 108*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Value: 0x14 109*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Size: 0 110*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Binding: Global 111*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Type: None 112*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Other: 0 113*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Section: .text 114*0a6a1f1dSLionel Sambuc// CHECK-NEXT: } 115*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Symbol { 116*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Name: global1 117*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Value: 0x14 118*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Size: 0 119*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Binding: Global 120*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Type: None 121*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Other: 0 122*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Section: .text 123*0a6a1f1dSLionel Sambuc// CHECK-NEXT: } 124*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Symbol { 125*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Name: bar2@zed 126*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Value: 0x0 127*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Size: 0 128*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Binding: Global 129*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Type: None 130*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Other: 0 131*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Section: Undefined 132*0a6a1f1dSLionel Sambuc// CHECK-NEXT: } 133*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Symbol { 134*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Name: bar6@zed 135*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Value: 0x0 136*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Size: 0 137*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Binding: Global 138*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Type: None 139*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Other: 0 140*0a6a1f1dSLionel Sambuc// CHECK-NEXT: Section: Undefined 141*0a6a1f1dSLionel Sambuc// CHECK-NEXT: } 142*0a6a1f1dSLionel Sambuc// CHECK-NEXT: ] 143