#include "sbcl.h"
+/* Currently threads live only on x86oid platforms, but this thing
+ * cannot ever work with threads, so... */
+#if !defined(LISP_FEATURE_SB_THREAD) && !defined(LISP_FEATURE_X86) && !defined(LISP_FEATURE_X86_64)
+#define FOREIGN_FUNCTION_CALL_FLAG
+#endif
+
#ifndef LANGUAGE_ASSEMBLY
+
+#ifdef FOREIGN_FUNCTION_CALL_FLAG
extern int foreign_function_call_active;
-extern boolean stop_the_world;
+#endif
+
+extern size_t dynamic_space_size;
+extern size_t thread_control_stack_size;
-#if defined(LISP_FEATURE_SB_THREAD)
+extern struct runtime_options *runtime_options;
+
+#ifdef LISP_FEATURE_WIN32
+#define ENVIRON _environ
+#else
+#define ENVIRON environ
+#endif
+extern char **ENVIRON;
+
+#if defined(LISP_FEATURE_SB_THREAD) && !defined(LISP_FEATURE_GCC_TLS)
extern pthread_key_t specials;
#endif
/**/
# ifdef LISP_FEATURE_PPC
# ifdef LISP_FEATURE_DARWIN
-# define EXTERN(name,bytes) .globl _/**/name
+# define EXTERN(name,bytes) .globl _ ## name
# else
# define EXTERN(name,bytes) .globl name
# endif
# define POINTERSIZE 4
# endif
+#ifdef FOREIGN_FUNCTION_CALL_FLAG
EXTERN(foreign_function_call_active, 4)
+#endif
EXTERN(current_control_stack_pointer, POINTERSIZE)
EXTERN(current_control_frame_pointer, POINTERSIZE)