diff options
| author | Brian Anderson <banderson@mozilla.com> | 2011-11-21 18:52:12 -0800 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2011-11-22 18:02:10 -0800 |
| commit | 6bdf347418d04e48ef0fbbe0f4b2e940e9a24782 (patch) | |
| tree | 9e3977e8dbf8d31415edba20a38904d7dfcf0247 /src/rt/rust_scheduler.cpp | |
| parent | a69c5617f02ff80dd7d39949004b386f9808b7d6 (diff) | |
| download | rust-6bdf347418d04e48ef0fbbe0f4b2e940e9a24782.tar.gz rust-6bdf347418d04e48ef0fbbe0f4b2e940e9a24782.zip | |
rt: Make __morestack (without unwinding) work on 32-bit linux
Diffstat (limited to 'src/rt/rust_scheduler.cpp')
| -rw-r--r-- | src/rt/rust_scheduler.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/rt/rust_scheduler.cpp b/src/rt/rust_scheduler.cpp index 26ceb3bccb3..d12f37107a4 100644 --- a/src/rt/rust_scheduler.cpp +++ b/src/rt/rust_scheduler.cpp @@ -367,10 +367,14 @@ rust_scheduler::init_tls() { tls_initialized = true; } +extern "C" CDECL void +record_sp(void *limit); + void rust_scheduler::place_task_in_tls(rust_task *task) { int result = pthread_setspecific(task_key, task); assert(!result && "Couldn't place the task in TLS!"); + record_sp(task->stk->data + RED_ZONE_SIZE); } rust_task * |
