+#endif
+
+#ifndef LISP_FEATURE_SB_THREAD
+ /* the tls-points-into-struct-thread trick is only good for threaded
+ * sbcl, because unithread sbcl doesn't have tls. So, we copy the
+ * appropriate values from struct thread here, and make sure that
+ * we use the appropriate SymbolValue macros to access any of the
+ * variable quantities from the C runtime. It's not quite OAOOM,
+ * it just feels like it */
+ SetSymbolValue(BINDING_STACK_START,th->binding_stack_start,th);
+ SetSymbolValue(CONTROL_STACK_START,th->control_stack_start,th);
+ SetSymbolValue(CONTROL_STACK_END,th->control_stack_end,th);
+#ifdef LISP_FEATURE_X86
+ SetSymbolValue(BINDING_STACK_POINTER,th->binding_stack_pointer,th);
+ SetSymbolValue(ALIEN_STACK,th->alien_stack_pointer,th);
+ SetSymbolValue(PSEUDO_ATOMIC_ATOMIC,th->pseudo_atomic_atomic,th);
+ SetSymbolValue(PSEUDO_ATOMIC_INTERRUPTED,th->pseudo_atomic_interrupted,th);
+#else
+ current_binding_stack_pointer=th->binding_stack_pointer;
+ current_control_stack_pointer=th->control_stack_start;
+#endif
+#endif