72 lines · plain
1# REQUIRES: ppc2# RUN: rm -rf %t && split-file %s %t && cd %t3# RUN: llvm-mc -filetype=obj -triple=powerpc -crel a.s -o a.o4# RUN: llvm-mc -filetype=obj -triple=powerpc -crel b.s -o b.o5# RUN: ld.lld -r b.o a.o -o out6# RUN: llvm-readobj -r out | FileCheck %s --check-prefixes=CHECK,CRELFOO7 8# RUN: llvm-mc -filetype=obj -triple=powerpc a.s -o a1.o9# RUN: ld.lld -r b.o a1.o -o out110# RUN: llvm-readobj -r out1 | FileCheck %s --check-prefixes=CHECK,RELAFOO11# RUN: ld.lld -r a1.o b.o -o out212# RUN: llvm-readobj -r out2 | FileCheck %s --check-prefixes=CHECK213 14# CHECK: Relocations [15# CHECK-NEXT: Section (2) .crel.text {16# CHECK-NEXT: 0x0 R_PPC_REL24 fb 0x017# CHECK-NEXT: 0x4 R_PPC_REL24 foo 0x018# CHECK-NEXT: 0x8 R_PPC_REL24 .text.foo 0x019# CHECK-NEXT: 0xE R_PPC_ADDR16_HA .rodata.str1.1 0x420# CHECK-NEXT: 0x12 R_PPC_ADDR16_LO .rodata.str1.1 0x421# CHECK-NEXT: 0x16 R_PPC_ADDR16_HA .rodata.str1.1 0x022# CHECK-NEXT: 0x1A R_PPC_ADDR16_LO .rodata.str1.1 0x023# CHECK-NEXT: }24# CRELFOO-NEXT: Section (4) .crel.text.foo {25# RELAFOO-NEXT: Section (4) .rela.text.foo {26# CHECK-NEXT: 0x0 R_PPC_REL24 g 0x027# CHECK-NEXT: 0x4 R_PPC_REL24 g 0x028# CHECK-NEXT: }29# CHECK-NEXT: ]30 31# CHECK2: Relocations [32# CHECK2-NEXT: Section (2) .crel.text {33# CHECK2-NEXT: 0x0 R_PPC_REL24 foo 0x034# CHECK2-NEXT: 0x4 R_PPC_REL24 .text.foo 0x035# CHECK2-NEXT: 0xA R_PPC_ADDR16_HA .rodata.str1.1 0x436# CHECK2-NEXT: 0xE R_PPC_ADDR16_LO .rodata.str1.1 0x437# CHECK2-NEXT: 0x12 R_PPC_ADDR16_HA .rodata.str1.1 0x038# CHECK2-NEXT: 0x16 R_PPC_ADDR16_LO .rodata.str1.1 0x039# CHECK2-NEXT: 0x18 R_PPC_REL24 fb 0x040# CHECK2-NEXT: }41# CHECK2-NEXT: Section (4) .rela.text.foo {42# CHECK2-NEXT: 0x0 R_PPC_REL24 g 0x043# CHECK2-NEXT: 0x4 R_PPC_REL24 g 0x044# CHECK2-NEXT: }45# CHECK2-NEXT: ]46 47#--- a.s48.global _start, foo49_start:50 bl foo51 bl .text.foo52 lis 3, .L.str@ha53 la 3, .L.str@l(3)54 lis 3, .L.str1@ha55 la 3, .L.str1@l(3)56 57.section .text.foo,"ax"58foo:59 bl g60 bl g61 62.section .rodata.str1.1,"aMS",@progbits,163.L.str:64 .asciz "abc"65.L.str1:66 .asciz "def"67 68#--- b.s69.globl fb70fb:71 bl fb72