xref: /llvm-project/lld/test/ELF/arm-thunk-section-too-large.s (revision 754b94638e8935e1c1ed6121e0037fdae8b3c63c)
1// REQUIRES: arm
2// This test intentionally checks for fatal errors, and fatal errors aren't supported for testing when main is run twice.
3// XFAIL: main-run-twice
4// RUN: llvm-mc %s -triple=armv7a-linux-gnueabihf -arm-add-build-attributes -filetype=obj -o %t.o
5// RUN: not ld.lld %t.o -o /dev/null 2>&1 | FileCheck %s
6
7// RUN: llvm-mc %s -triple=armv7aeb-linux-gnueabihf -arm-add-build-attributes -filetype=obj -mcpu=cortex-a8 -o %t.o
8// RUN: not ld.lld %t.o -o /dev/null 2>&1 | FileCheck %s
9// RUN: not ld.lld --be8 %t.o -o /dev/null 2>&1 | FileCheck %s
10
11// CHECK: InputSection too large for range extension thunk
12        .syntax unified
13        .thumb
14        .text
15        .globl _start
16        .type _start, %function
17_start:
18        .space 2 * 1024 * 1024
19        // conditional branch has range of 1 Mb expect error as we can't place
20        // a thunk in range of the branch.
21        beq target
22        .space 2 * 1024 * 1024
23
24        .section .text.2, "ax", %progbits
25        .globl target
26        .type target, %function
27target: bx lr
28