File tree Expand file tree Collapse file tree 4 files changed +8
-8
lines changed Expand file tree Collapse file tree 4 files changed +8
-8
lines changed Original file line number Diff line number Diff line change 1
1
---
2
- refs/heads/master: 55f89dbed994fef53beeaec49b20d450ca9b72d4
2
+ refs/heads/master: 5559e149e492efadd803eb65f34c259a90c595e7
Original file line number Diff line number Diff line change @@ -67,7 +67,8 @@ RUNTIME_CS_$(1) := \
67
67
68
68
RUNTIME_S_$(1 ) := rt/arch/$$(HOST_$(1 ) ) /_context.S \
69
69
rt/arch/$$(HOST_$(1 ) ) /ccall.S \
70
- rt/arch/$$(HOST_$(1 ) ) /morestack.S
70
+ rt/arch/$$(HOST_$(1 ) ) /morestack.S \
71
+ rt/arch/$$(HOST_$(1 ) ) /record_sp.S
71
72
72
73
RUNTIME_HDR_$(1 ) := rt/globals.h \
73
74
rt/rust.h \
Original file line number Diff line number Diff line change @@ -106,18 +106,13 @@ L$bail:
106
106
107
107
#ifdef __APPLE__
108
108
109
- .section __IMPORT,__pointers,non_lazy_symbol_pointers
109
+ .section __IMPORT,__pointers,non_lazy_symbol_pointers
110
110
rust_new_stack_sym:
111
111
.indirect_symbol RUST_NEW_STACK
112
112
.long 0
113
113
rust_del_stack_sym:
114
114
.indirect_symbol RUST_DEL_STACK
115
115
.long 0
116
116
117
- #else
118
-
119
- rust_new_stack_sym:
120
- rust_del_stack_sym:
121
-
122
117
#endif
123
118
Original file line number Diff line number Diff line change @@ -13,6 +13,9 @@ DWORD rust_scheduler::task_key;
13
13
14
14
bool rust_scheduler::tls_initialized = false ;
15
15
16
+ // Defined in arch/*/record_sp.S.
17
+ extern " C" void rust_record_sp (uintptr_t sp);
18
+
16
19
rust_scheduler::rust_scheduler (rust_kernel *kernel,
17
20
rust_srv *srv,
18
21
int id) :
@@ -286,6 +289,7 @@ rust_scheduler::start_main_loop() {
286
289
scheduled_task->state ->name );
287
290
288
291
place_task_in_tls (scheduled_task);
292
+ rust_record_sp (scheduled_task->stk ->limit );
289
293
// pthread_setspecific(89, (void *)scheduled_task->stk->limit);
290
294
291
295
interrupt_flag = 0 ;
You can’t perform that action at this time.
0 commit comments