1// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -r -t | FileCheck %s 2 3// Test that this produces a R_X86_64_PLT32 with bar. 4 5 .globl foo 6foo: 7bar = foo 8 .section zed, "", @progbits 9 call bar@PLT 10 11 12// Test that this produres a relocation with bar2 13 14 .weak foo2 15foo2: 16 .weak bar2 17 .set bar2,foo2 18 .quad bar2 19 20// CHECK: Relocations [ 21// CHECK-NEXT: Section ({{[0-9]+}}) .relazed { 22// CHECK-NEXT: 0x1 R_X86_64_PLT32 bar 0xFFFFFFFFFFFFFFFC 23// CHECK-NEXT: 0x5 R_X86_64_64 bar2 0x0 24// CHECK-NEXT: } 25// CHECK-NEXT: ] 26 27// CHECK: Symbols [ 28// CHECK-NEXT: Symbol { 29// CHECK-NEXT: Name: (0) 30// CHECK-NEXT: Value: 0x0 31// CHECK-NEXT: Size: 0 32// CHECK-NEXT: Binding: Local (0x0) 33// CHECK-NEXT: Type: None (0x0) 34// CHECK-NEXT: Other: 0 35// CHECK-NEXT: Section: Undefined (0x0) 36// CHECK-NEXT: } 37// CHECK-NEXT: Symbol { 38// CHECK-NEXT: Name: bar 39// CHECK-NEXT: Value: 0x0 40// CHECK-NEXT: Size: 0 41// CHECK-NEXT: Binding: Local 42// CHECK-NEXT: Type: None 43// CHECK-NEXT: Other: 0 44// CHECK-NEXT: Section: .text 45// CHECK-NEXT: } 46 47// CHECK: Symbol { 48// CHECK: Name: bar2 49// CHECK-NEXT: Value: 0x5 50// CHECK-NEXT: Size: 0 51// CHECK-NEXT: Binding: Weak 52// CHECK-NEXT: Type: None 53// CHECK-NEXT: Other: 0 54// CHECK-NEXT: Section: zed 55// CHECK-NEXT: } 56