Index: src/runtime/lookup-asm/lookup-asm-mips-elf.S ================================================================== --- src/runtime/lookup-asm/lookup-asm-mips-elf.S +++ src/runtime/lookup-asm/lookup-asm-mips-elf.S @@ -66,19 +66,19 @@ #else beqz $t0, \not_found #endif move $v0, $t0 - j $ra + jr $ra 0: #ifdef OF_PIC addiu $v0, $t9, nil_method-\name #else la $v0, nil_method #endif - j $ra + jr $ra #ifdef OF_PIC 1: lui $gp, %hi(_gp_disp) addiu $gp, $gp, %lo(_gp_disp) @@ -108,11 +108,11 @@ #ifdef OF_PIC addiu $v0, $t9, nil_method-\name #else la $v0, nil_method #endif - j $ra + jr $ra .type \name, %function .size \name, .-\name .endm generate_lookup objc_msg_lookup objc_method_not_found @@ -120,10 +120,10 @@ generate_lookup_super objc_msg_lookup_super objc_msg_lookup generate_lookup_super objc_msg_lookup_super_stret objc_msg_lookup_stret nil_method: move $v0, $zero - j $ra + jr $ra #ifdef OF_LINUX .section .note.GNU-stack, "", %progbits #endif Index: src/runtime/lookup-asm/lookup-asm-mips64-elf.S ================================================================== --- src/runtime/lookup-asm/lookup-asm-mips64-elf.S +++ src/runtime/lookup-asm/lookup-asm-mips64-elf.S @@ -62,33 +62,25 @@ ld $t0, 0($t0) beqz $t0, 1f move $v0, $t0 - j $ra + jr $ra 0: lui $v0, %hi(%neg(%gp_rel(\name))) daddu $v0, $v0, $t9 daddiu $v0, $v0, %lo(%neg(%gp_rel(\name))) ld $v0, %got_disp(nil_method)($v0) - j $ra + jr $ra 1: - daddiu $sp, $sp, -32 - sd $gp, 16($sp) - lui $gp, %hi(%neg(%gp_rel(\name))) - daddu $gp, $gp, $t9 - daddiu $gp, $gp, %lo(%neg(%gp_rel(\name))) - sd $ra, 24($sp) - - jal \not_found - - ld $ra, 24($sp) - ld $gp, 16($sp) - daddiu $sp, $sp, 32 - j $ra + lui $t0, %hi(%neg(%gp_rel(\name))) + daddu $t0, $t0, $t9 + daddiu $t0, $t0, %lo(%neg(%gp_rel(\name))) + ld $t9, %got_disp(\not_found)($t0) + jr $t9 .type \name, %function .size \name, .-\name .endm .macro generate_lookup_super name lookup @@ -106,11 +98,11 @@ 0: lui $v0, %hi(%neg(%gp_rel(\name))) daddu $v0, $v0, $t9 daddiu $v0, $v0, %lo(%neg(%gp_rel(\name))) ld $v0, %got_disp(nil_method)($v0) - j $ra + jr $ra .type \name, %function .size \name, .-\name .endm generate_lookup objc_msg_lookup objc_method_not_found @@ -118,10 +110,10 @@ generate_lookup_super objc_msg_lookup_super objc_msg_lookup generate_lookup_super objc_msg_lookup_super_stret objc_msg_lookup_stret nil_method: move $v0, $zero - j $ra + jr $ra #ifdef OF_LINUX .section .note.GNU-stack, "", %progbits #endif