X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fglobals.h;h=60480a7cc75563a93ef7a8e0a85a8c5108d90982;hb=b43b6e70ce48d959d77f7f56be9d11aa101fdd7d;hp=78590142887d0630557f19d87512e08b9d69a098;hpb=d8e682fdfb7e8ba067e15aea0f3d1f8d37ca9eb1;p=sbcl.git diff --git a/src/runtime/globals.h b/src/runtime/globals.h index 7859014..60480a7 100644 --- a/src/runtime/globals.h +++ b/src/runtime/globals.h @@ -24,6 +24,13 @@ extern int foreign_function_call_active; extern boolean stop_the_world; +#ifdef LISP_FEATURE_WIN32 +#define ENVIRON _environ +#else +#define ENVIRON environ +#endif +extern char **ENVIRON; + #if defined(LISP_FEATURE_SB_THREAD) extern pthread_key_t specials; #endif @@ -34,9 +41,18 @@ extern lispobj *current_control_frame_pointer; extern lispobj *current_binding_stack_pointer; # endif -# ifndef LISP_FEATURE_GENCGC -/* Beware! gencgc has also a (non-global) dynamic_space_free_pointer. */ +#if !defined(LISP_FEATURE_X86) && !defined(LISP_FEATURE_X86_64) +/* This is unused on X86 and X86_64, but is used as the global + * allocation pointer by the cheney GC, and, in some instances, as + * the global allocation pointer on PPC/GENCGC. This should probably + * be cleaned up such that it only needs to exist on cheney. At the + * moment, it is also used by the GENCGC, to hold the pseudo_atomic + * bits, and is tightly coupled to reg_ALLOC by the assembly + * routines. */ extern lispobj *dynamic_space_free_pointer; +#endif + +# ifndef LISP_FEATURE_GENCGC extern lispobj *current_auto_gc_trigger; # endif @@ -48,7 +64,7 @@ extern void globals_init(void); # ifdef LISP_FEATURE_MIPS # ifdef __linux__ -# define EXTERN(name,bytes) .globl name +# define EXTERN(name,bytes) .globl name # else # define EXTERN(name,bytes) .extern name bytes # endif @@ -64,7 +80,7 @@ extern void globals_init(void); /**/ # ifdef LISP_FEATURE_ALPHA # ifdef __linux__ -# define EXTERN(name,bytes) .globl name +# define EXTERN(name,bytes) .globl name # endif # endif /**/ @@ -72,7 +88,7 @@ extern void globals_init(void); # ifdef LISP_FEATURE_DARWIN # define EXTERN(name,bytes) .globl _/**/name # else -# define EXTERN(name,bytes) .globl name +# define EXTERN(name,bytes) .globl name # endif # endif /**/