[gn] port afa8aeeeec (RISCVGenExegesis.inc)
[llvm-project.git] / lld / test / ELF / linkerscript / thunk-gen-mips.s
blobaa74164b15688240ca3e8ced3c0fe71a20725e5f
1 # REQUIRES: mips
2 # RUN: llvm-mc -filetype=obj -defsym=MAIN=1 -triple=mips-unknown-freebsd %s -o %t
3 # RUN: llvm-mc -filetype=obj -defsym=TARGET=1 -triple=mips-unknown-freebsd %s -o %t1
5 # SECTIONS command with the first pattern that does not match.
6 # Linking a PIC and non-PIC object files triggers the LA25 thunk generation.
7 # RUN: echo 'SECTIONS { \
8 # RUN: .text : { \
9 # RUN: *(.nomatch) \
10 # RUN: "%t"(.text) \
11 # RUN: . = . + 0x100000 ; \
12 # RUN: "%t1"(.text) \
13 # RUN: } \
14 # RUN: }' > %t.script
15 # RUN: ld.lld -o %t.exe --script %t.script %t %t1
16 # RUN: llvm-objdump -t %t.exe | FileCheck %s
17 # CHECK: SYMBOL TABLE:
18 # CHECK-DAG: [[#%x, START_ADDR:]] g .text 00000000 _start
19 # CHECK-DAG: {{0*}}[[#THUNK_ADDR:START_ADDR+0x100000+12]] l F .text 00000010 __LA25Thunk_too_far
20 # CHECK-DAG: {{0*}}[[#THUNK_ADDR+20]] g F .text 0000000c too_far
22 .ifdef MAIN
23 .global _start
24 _start:
25 j too_far
26 nop
27 .endif
29 .ifdef TARGET
30 .text
31 .abicalls
32 .set noreorder
33 .globl too_far
34 .ent too_far
35 too_far:
36 nop
37 jr $ra
38 nop
39 .end too_far
40 .endif