aboutsummaryrefslogtreecommitdiff
path: root/libgo
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2012-02-10 15:52:37 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2012-02-10 15:52:37 +0000
commitc91e24907b9b9689c0af5d46b73e712d70f6994c (patch)
treec48d22fa4d8942eadd5537db1bdaed181969947f /libgo
parenta8fc98555231535e0208a2c9e190a03a9ba2ea3b (diff)
downloadgcc-c91e24907b9b9689c0af5d46b73e712d70f6994c.zip
gcc-c91e24907b9b9689c0af5d46b73e712d70f6994c.tar.gz
gcc-c91e24907b9b9689c0af5d46b73e712d70f6994c.tar.bz2
runtime: Save all registers on stack for GC scan.
From-SVN: r184098
Diffstat (limited to 'libgo')
-rw-r--r--libgo/runtime/mgc0.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libgo/runtime/mgc0.c b/libgo/runtime/mgc0.c
index bd634d5..73c399d 100644
--- a/libgo/runtime/mgc0.c
+++ b/libgo/runtime/mgc0.c
@@ -936,6 +936,10 @@ runtime_gc(int32 force)
const byte *p;
bool extra;
+ // Make sure all registers are saved on stack so that
+ // scanstack sees them.
+ __builtin_unwind_init();
+
// The gc is turned off (via enablegc) until
// the bootstrap has completed.
// Also, malloc gets called in the guts