1
0
mirror of https://github.com/golang/go synced 2024-09-25 09:20:18 -06:00

runtime: teach softfloat interpreter about "add r11, pc, r11"

This is generated during fp code when -shared is active.

Change-Id: Ia1092299b9c3b63ff771ca4842158b42c34bd008
Reviewed-on: https://go-review.googlesource.com/14286
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Dave Cheney <dave@cheney.net>
This commit is contained in:
Michael Hudson-Doyle 2015-09-04 14:57:59 +12:00
parent 821e124c24
commit 40af15f28e

View File

@ -157,6 +157,17 @@ execute:
}
return 1
}
if i == 0xe08fb00b {
// add pc to r11
// might be part of a PIC floating point move
// (or might not, but again no harm done).
regs[11] += uint32(uintptr(unsafe.Pointer(pc))) + 8
if fptrace > 0 {
print("*** cpu R[11] += pc ", hex(regs[11]), "\n")
}
return 1
}
if i == 0xe08bb00d {
// add sp to r11.
// might be part of a large stack offset address