brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.1 KiB · 68b3681 Raw
68 lines · plain
1// REQUIRES: arm2// RUN: llvm-mc -arm-add-build-attributes -filetype=obj -triple=thumbv7a-none-linux-gnueabi %s -o %t3// RUN: llvm-mc -arm-add-build-attributes -filetype=obj -triple=thumbv7a-none-linux-gnueabi %S/Inputs/far-arm-thumb-abs.s -o %tfar4// RUN: echo "SECTIONS { \5// RUN:          . = 0xb4; \6// RUN:          .callee1 : { *(.callee_low) } \7// RUN:          .caller : { *(.text) } \8// RUN:          .callee2 : { *(.callee_high) } } " > %t.script9// RUN: ld.lld --script %t.script %t %tfar -o %t210// RUN: llvm-objdump -d %t2 | FileCheck  %s11 12 .syntax unified13 .thumb14 .section .callee_low, "ax",%progbits15 .align 216 .type callee_low,%function17callee_low:18 bx lr19 20 .section .text, "ax",%progbits21 .globl _start22 .balign 0x1000023 .type _start,%function24_start:25 bl  callee_low26 b   callee_low27 beq callee_low28 bl  callee_high29 b   callee_high30 bne callee_high31 bl  far_uncond32 b   far_uncond33 bgt far_cond34 bx lr35 36 .section .callee_high, "ax",%progbits37 .align 238 .type callee_high,%function39callee_high:40 bx lr41 42// CHECK: Disassembly of section .callee1:43// CHECK-EMPTY:44// CHECK-NEXT: <callee_low>:45// CHECK-NEXT:      b4:       4770    bx      lr46// CHECK-EMPTY:47// CHECK-NEXT: Disassembly of section .caller:48// CHECK-EMPTY:49// CHECK-NEXT: <_start>:50// CHECK-NEXT:   10000:       f7f0 f858       bl      0xb4 <callee_low>51// CHECK-NEXT:   10004:       f7f0 b856       b.w     0xb4 <callee_low>52// CHECK-NEXT:   10008:       f430 a854       beq.w   0xb4 <callee_low>53// CHECK-NEXT:   1000c:       f000 f80c       bl      0x10028 <callee_high>54// CHECK-NEXT:   10010:       f000 b80a       b.w     0x10028 <callee_high>55// CHECK-NEXT:   10014:       f040 8008       bne.w   0x10028 <callee_high>56/// far_uncond = 0x101001b57// CHECK-NEXT:   10018:       f3ff d7ff       bl      0x101001a58// CHECK-NEXT:   1001c:       f3ff 97fd       b.w     0x101001a59/// far_cond = 0x11002360// CHECK-NEXT:   10020:       f33f afff       bgt.w   0x11002261// CHECK-NEXT:   10024:       4770    bx      lr62// CHECK-NEXT:   10026:63// CHECK-EMPTY:64// CHECK-NEXT: Disassembly of section .callee2:65// CHECK-EMPTY:66// CHECK-NEXT: <callee_high>:67// CHECK-NEXT:   10028:       4770    bx      lr68