Explorar o código

fix dlsym asm for mips

saving the return address from the delay slot is not valid -- by the
time the instruction executes, the return address has already been
replaced.
Rich Felker %!s(int64=12) %!d(string=hai) anos
pai
achega
1e717ea3d2
Modificáronse 1 ficheiros con 2 adicións e 1 borrados
  1. 2 1
      src/ldso/mips/dlsym.s

+ 2 - 1
src/ldso/mips/dlsym.s

@@ -8,8 +8,9 @@ dlsym:
 	move $6, $ra
 	lw $25, %call16(__dlsym)($gp)
 	addiu $sp, $sp, -16
-	jalr $25
 	sw $ra, 12($sp)
+	jalr $25
+	nop
 	lw $ra, 12($sp)
 	jr $ra
 	addiu $sp, $sp, 16