brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 529983d Raw
47 lines · plain
1# REQUIRES: arm2 3# RUN: rm -rf %t && split-file %s %t4# RUN: llvm-mc -filetype=obj -arm-add-build-attributes -triple=armv7a-none-linux-gnueabi %t/a.s -o %t1.o5# RUN: llvm-mc -filetype=obj -arm-add-build-attributes -triple=armv7a-none-linux-gnueabi %t/b.s -o %t2.o6# RUN: ld.lld -shared %t1.o %t2.o -o %t.so7# RUN: llvm-objdump -d %t.so | FileCheck %s8 9## Check that, when the input is a mixture of objects which can and cannot use10## the ARM ISA, we use the default ARM PLT sequences.11 12# CHECK:      <.plt>:13# CHECK-NEXT: e52de004      str     lr, [sp, #-0x4]!14# CHECK-NEXT: e28fe600      add     lr, pc, #0, #1215# CHECK-NEXT: e28eea20      add     lr, lr, #32, #2016# CHECK-NEXT: e5bef084      ldr     pc, [lr, #0x84]!17# CHECK-NEXT: d4 d4 d4 d4   .word   0xd4d4d4d418# CHECK-NEXT: d4 d4 d4 d4   .word   0xd4d4d4d419# CHECK-NEXT: d4 d4 d4 d4   .word   0xd4d4d4d420# CHECK-NEXT: d4 d4 d4 d4   .word   0xd4d4d4d421# CHECK-EMPTY:22# CHECK-NEXT: <bar@plt>:23# CHECK-NEXT: e28fc600      add     r12, pc, #0, #1224# CHECK-NEXT: e28cca20      add     r12, r12, #32, #2025# CHECK-NEXT: e5bcf06c      ldr     pc, [r12, #0x6c]!26# CHECK-NEXT: d4 d4 d4 d4   .word   0xd4d4d4d427 28#--- a.s29  .globl foo30  .type foo, %function31  .globl bar32  .type bar, %function33 34  .thumb35foo:36  bl bar37  bx lr38 39#--- b.s40  .eabi_attribute Tag_ARM_ISA_use, 041 42  .arm43  .globl bar44  .type bar, %function45bar:46  bx lr47