1 .macro test_call,name 2 .set mips16 3 .text 4 .ent test_\name 5test_\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