about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2011-11-16 18:33:00 -0800
committerBrian Anderson <banderson@mozilla.com>2011-11-16 18:33:00 -0800
commitda4b7da4e142a4c2119312c0e24b7c20bbe74e60 (patch)
tree35ab347a8c79605ea6f5604fe590897b4c5fdf93
parent68aff2ad6d55a051e9347aa38f945d114f282691 (diff)
downloadrust-da4b7da4e142a4c2119312c0e24b7c20bbe74e60.tar.gz
rust-da4b7da4e142a4c2119312c0e24b7c20bbe74e60.zip
rt: Make stack growth code build on Linux
-rw-r--r--mk/rt.mk3
-rw-r--r--src/rt/arch/i386/morestack.S7
-rw-r--r--src/rt/rust_scheduler.cpp4
3 files changed, 7 insertions, 7 deletions
diff --git a/mk/rt.mk b/mk/rt.mk
index 1d6634557d0..0208fe7ab55 100644
--- a/mk/rt.mk
+++ b/mk/rt.mk
@@ -67,8 +67,7 @@ RUNTIME_CS_$(1) := \
 
 RUNTIME_S_$(1) := rt/arch/$$(HOST_$(1))/_context.S \
                   rt/arch/$$(HOST_$(1))/ccall.S \
-                  rt/arch/$$(HOST_$(1))/morestack.S \
-                  rt/arch/$$(HOST_$(1))/record_sp.S
+                  rt/arch/$$(HOST_$(1))/morestack.S
 
 RUNTIME_HDR_$(1) := rt/globals.h \
                rt/rust.h \
diff --git a/src/rt/arch/i386/morestack.S b/src/rt/arch/i386/morestack.S
index ec356ea91c6..b8e14bdb579 100644
--- a/src/rt/arch/i386/morestack.S
+++ b/src/rt/arch/i386/morestack.S
@@ -106,7 +106,7 @@ L$bail:
 
 #ifdef __APPLE__
 
-	.section	__IMPORT,__pointers,non_lazy_symbol_pointers
+		.section	__IMPORT,__pointers,non_lazy_symbol_pointers
 rust_new_stack_sym:
     .indirect_symbol RUST_NEW_STACK
     .long 0
@@ -114,5 +114,10 @@ rust_del_stack_sym:
     .indirect_symbol RUST_DEL_STACK
     .long 0
 
+#else
+
+rust_new_stack_sym:
+rust_del_stack_sym:
+
 #endif
 
diff --git a/src/rt/rust_scheduler.cpp b/src/rt/rust_scheduler.cpp
index b17565dda46..cf6091818cc 100644
--- a/src/rt/rust_scheduler.cpp
+++ b/src/rt/rust_scheduler.cpp
@@ -13,9 +13,6 @@ DWORD rust_scheduler::task_key;
 
 bool rust_scheduler::tls_initialized = false;
 
-// Defined in arch/*/record_sp.S.
-extern "C" void rust_record_sp(uintptr_t sp);
-
 rust_scheduler::rust_scheduler(rust_kernel *kernel,
                                rust_srv *srv,
                                int id) :
@@ -289,7 +286,6 @@ rust_scheduler::start_main_loop() {
              scheduled_task->state->name);
 
         place_task_in_tls(scheduled_task);
-        rust_record_sp(scheduled_task->stk->limit);
         //pthread_setspecific(89, (void *)scheduled_task->stk->limit);
 
         interrupt_flag = 0;