mirror of https://github.com/golang/go.git
runtime: load runtime.goarm as a byte, not a word
Fixes #6952. runtime.asminit was incorrectly loading runtime.goarm as a word, not a uint8 which made it subject to alignment issues on arm5 platforms. Alignment aside, this also meant that the top 3 bytes in R11 would have been garbage and could not be assumed to be setting up the FPU reliably. R=iant, minux.ma CC=golang-codereviews https://golang.org/cl/46240043
This commit is contained in:
parent
672525a56e
commit
d2fe44d568
|
|
@ -91,7 +91,7 @@ TEXT runtime·breakpoint(SB),NOSPLIT,$0-0
|
|||
|
||||
TEXT runtime·asminit(SB),NOSPLIT,$0-0
|
||||
// disable runfast (flush-to-zero) mode of vfp if runtime.goarm > 5
|
||||
MOVW runtime·goarm(SB), R11
|
||||
MOVB runtime·goarm(SB), R11
|
||||
CMP $5, R11
|
||||
BLE 4(PC)
|
||||
WORD $0xeef1ba10 // vmrs r11, fpscr
|
||||
|
|
|
|||
Loading…
Reference in New Issue