49 lines · plain
1# REQUIRES: ppc2# RUN: llvm-mc -filetype=obj -triple=powerpc %s -o %t.o3# RUN: ld.lld -pie %t.o -o %t4# RUN: llvm-readobj -r %t | FileCheck --check-prefix=RELOC %s5# RUN: llvm-readelf -s %t | FileCheck --check-prefix=SYM %s6# RUN: llvm-readelf -x .got2 %t | FileCheck --check-prefix=HEX %s7# RUN: llvm-objdump -d --no-show-raw-insn %t | FileCheck %s8 9# RUN: ld.lld -pie %t.o -o %t --apply-dynamic-relocs10# RUN: llvm-readelf -x .got2 %t | FileCheck --check-prefix=HEX2 %s11 12# RELOC: .rela.dyn {13# RELOC-NEXT: 0x3022C R_PPC_RELATIVE - 0x101A014# RELOC-NEXT: 0x30230 R_PPC_IRELATIVE - 0x1018815# RELOC-NEXT: }16 17# SYM: 000101a0 0 FUNC GLOBAL DEFAULT {{.*}} func18# HEX: Hex dump of section '.got2':19# HEX-NEXT: 0x0003022c 00000000 ....20 21# HEX2: Hex dump of section '.got2':22# HEX2-NEXT: 0x0003022c 000101a0 ....23 24.section .got2,"aw"25.long func26 27# CHECK: Disassembly of section .text:28# CHECK: <.text>:29# CHECK-NEXT: 10188: blr30# CHECK: <_start>:31# CHECK-NEXT: bl 0x1019032# CHECK-EMPTY:33# CHECK-NEXT: <00008000.got2.plt_pic32.func>:34## 0x10020114 = 65536*4098+27635# CHECK-NEXT: lwz 11, -32764(30)36# CHECK-NEXT: mtctr 1137# CHECK-NEXT: bctr38# CHECK-NEXT: nop39 40.text41.globl func42.type func, @gnu_indirect_function43func:44 blr45 46.globl _start47_start:48 bl func+0x8000@plt49