92 lines · plain
1 2# RUN: llvm-mc -triple powerpc64-unknown-unknown -filetype=obj %s | \3# RUN: llvm-readobj -h -r --symbols - | FileCheck %s4# RUN: llvm-mc -triple powerpc64le-unknown-unknown -filetype=obj %s | \5# RUN: llvm-readobj -h -r --symbols - | FileCheck %s6 7 .type callee1, @function8callee1:9 nop10 nop11 .localentry callee1, .-callee112 nop13 nop14 .size callee1, .-callee115 16 .type callee2, @function17callee2:18 nop19 nop20 .size callee2, .-callee221 22 .type caller, @function23caller:24 bl callee125 nop26 bl callee227 nop28 .size caller, .-caller29 30 .section .text.other31caller_other:32 bl callee133 nop34 bl callee235 nop36 .size caller_other, .-caller_other37 38copy1 = callee139copy2 = callee240 41# Verify that use of .localentry implies ABI version 242# CHECK: ElfHeader {43# CHECK: Flags [ (0x2)44 45# Verify that fixups to local function symbols are performed only46# if the target symbol does not use .localentry47# CHECK: Relocations [48# CHECK: Section ({{[0-9]*}}) .rela.text {49# CHECK-NEXT: R_PPC64_REL24 callee150# CHECK-NEXT: }51# CHECK-NOT: R_PPC64_REL24 callee252# CHECK: Section ({{[0-9]*}}) .rela.text.other {53# CHECK-NEXT: R_PPC64_REL24 callee154# CHECK-NEXT: R_PPC64_REL24 .text55# CHECK-NEXT: }56 57# Verify that .localentry is encoded in the Other field.58# CHECK: Symbols [59# CHECK: Name: callee160# CHECK-NEXT: Value:61# CHECK-NEXT: Size: 1662# CHECK-NEXT: Binding: Local63# CHECK-NEXT: Type: Function64# CHECK-NEXT: Other [ (0x60)65# CHECK-NEXT: ]66# CHECK-NEXT: Section: .text67# CHECK: Name: callee268# CHECK-NEXT: Value:69# CHECK-NEXT: Size: 870# CHECK-NEXT: Binding: Local71# CHECK-NEXT: Type: Function72# CHECK-NEXT: Other: 073# CHECK-NEXT: Section: .text74 75# Verify that symbol assignment copies the Other bits.76# CHECK: Name: copy177# CHECK-NEXT: Value:78# CHECK-NEXT: Size: 1679# CHECK-NEXT: Binding: Local80# CHECK-NEXT: Type: Function81# CHECK-NEXT: Other [ (0x60)82# CHECK-NEXT: ]83# CHECK-NEXT: Section: .text84# CHECK: Name: copy285# CHECK-NEXT: Value:86# CHECK-NEXT: Size: 887# CHECK-NEXT: Binding: Local88# CHECK-NEXT: Type: Function89# CHECK-NEXT: Other: 090# CHECK-NEXT: Section: .text91 92