go/src
Russ Cox 2c98a3bc2e cmd/5l, runtime: fix divide for profiling tracebacks on ARM
Two bugs:
1. The first iteration of the traceback always uses LR when provided,
which it is (only) during a profiling signal, but in fact LR is correct
only if the stack frame has not been allocated yet. Otherwise an
intervening call may have changed LR, and the saved copy in the stack
frame should be used. Fix in traceback_arm.c.

2. The division runtime call adds 8 bytes to the stack. In order to
keep the traceback routines happy, it must copy the saved LR into
the new 0(SP). Change

        SUB $8, SP

into

        MOVW    0(SP), R11 // r11 is temporary, for use by linker
        MOVW.W  R11, -8(SP)

to update SP and 0(SP) atomically, so that the traceback always
sees a saved LR at 0(SP).

Fixes #6681.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/19910044
2013-10-31 18:15:55 +00:00
..
cmd cmd/5l, runtime: fix divide for profiling tracebacks on ARM 2013-10-31 18:15:55 +00:00
lib9 all: compiler/bootstrap for dragonfly/amd64 2013-08-24 01:18:04 +10:00
libbio build: more "undefined behavior" fixes 2013-09-10 14:54:55 -04:00
libmach libmach: accept OS X binary generated by external linker 2013-09-10 11:50:34 -07:00
pkg cmd/5l, runtime: fix divide for profiling tracebacks on ARM 2013-10-31 18:15:55 +00:00
Make.dist
all.bash
all.bat all.bat,make.bat,run.bat: make these work even when directory has space in it 2013-03-25 12:13:34 +11:00
all.rc
clean.bash
clean.bat
clean.rc
make.bash cmd/dist, build: support building statically linked toolchain 2013-10-01 23:44:20 -04:00
make.bat cmd/dist: fix windows build. 2013-08-02 14:29:04 -07:00
make.rc build: fix make.rc on Plan 9 2013-05-24 13:55:19 -07:00
race.bash race.bash, race.bat: build a race enabled cmd/cgo before trying to use it 2013-09-29 10:34:41 +10:00
race.bat race.bash, race.bat: build a race enabled cmd/cgo before trying to use it 2013-09-29 10:34:41 +10:00
run.bash cgo: enable cgo on dragonfly 2013-09-04 15:19:21 -07:00
run.bat runtime/race: add end-to-end test on windows 2013-08-15 12:13:00 +10:00
run.rc build: remove builder from test suite (fix build) 2013-08-01 13:49:00 +10:00
sudo.bash cmd/cov: delete 2013-05-24 11:06:06 -07:00