Home | History | Annotate | Download | only in ld-mips-elf
      1 	.macro	test_call,name
      2 	.set	mips16
      3 	.text
      4 	.ent	test_\name
      5 test_\name:
      6 	jal	\name
      7 	.end	test_\name
      8 	.endm
      9 
     10 	.macro	call_stub,name
     11 	.set	nomips16
     12 	.section .mips16.call.\name, "ax", @progbits
     13 	.ent	__call_\name
     14 __call_\name:
     15 	la	$25,\name
     16 	jr	$25
     17 	mtc1	$4,$f12
     18 	.end	__call_\name
     19 
     20 	test_call \name
     21 	.endm
     22 
     23 	.macro	call_fp_stub,name
     24 	.set	nomips16
     25 	.section .mips16.call.fp.\name, "ax", @progbits
     26 	.ent	__call_fp_\name
     27 __call_fp_\name:
     28 	move	$18,$31
     29 	la	$25,\name
     30 	jalr	$25
     31 	mtc1	$4,$f12
     32 	mfc1	$2,$f0
     33 	jr	$18
     34 	nop
     35 	.end	__call_fp_\name
     36 
     37 	test_call \name
     38 	.endm
     39 
     40 	.macro	lstub,name,mode
     41 	.set	\mode
     42 	.text
     43 	.ent	\name
     44 \name:
     45 	jr	$31
     46 	nop
     47 	.end	\name
     48 	.endm
     49 
     50 	.macro	hstub,name,mode
     51 	.globl	\name
     52 	.hidden	\name
     53 	lstub	\name, \mode
     54 	.endm
     55 
     56 	.macro	gstub,name,mode
     57 	.globl	\name
     58 	lstub	\name, \mode
     59 	.endm
     60