X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fglobals.h;h=5b451818c984ffc8b75d9b97e009404b5dc48940;hb=a4e7c6bc705d739360dfaa9c3c652fd4a05d6c06;hp=da9392f6d16a65c53888b5a88b723592cc13a04d;hpb=cea4896b2482b7b2b429c1631d774b4cfbc0efba;p=sbcl.git diff --git a/src/runtime/globals.h b/src/runtime/globals.h index da9392f..5b45181 100644 --- a/src/runtime/globals.h +++ b/src/runtime/globals.h @@ -25,19 +25,21 @@ extern lispobj *current_binding_stack_pointer; #endif #if !defined(ibmrt) && !defined(__i386__) +/* FIXME: Why doesn't the x86 need this? */ extern lispobj *dynamic_space_free_pointer; extern lispobj *current_auto_gc_trigger; #endif +extern lispobj *current_dynamic_space; + extern void globals_init(void); #else LANGUAGE_ASSEMBLY -/* These are needed by ./assem.s */ - #ifdef mips #define EXTERN(name,bytes) .extern name bytes #endif +/**/ #ifdef sparc #ifdef SVR4 #define EXTERN(name,bytes) .global name @@ -45,12 +47,20 @@ extern void globals_init(void); #define EXTERN(name,bytes) .global _ ## name #endif #endif +/**/ #ifdef ibmrt #define EXTERN(name,bytes) .globl _/**/name #endif - +/**/ +#ifdef alpha +#ifdef linux +#define EXTERN(name,bytes) .globl name +#endif +#endif #ifdef __i386__ #ifdef __linux__ +/* I'm very dubious about this. Linux hasn't used _ on external names + * since ELF became prevalent - i.e. about 1996, on x86 -dan 20010125 */ #define EXTERN(name,bytes) .globl _/**/name #else #define EXTERN(name,bytes) .global _ ## name @@ -61,10 +71,9 @@ EXTERN(foreign_function_call_active, 4) EXTERN(current_control_stack_pointer, 4) EXTERN(current_control_frame_pointer, 4) -#if !defined(ibmrt) && !defined(__i386__) EXTERN(current_binding_stack_pointer, 4) EXTERN(dynamic_space_free_pointer, 4) -#endif +EXTERN(current_dynamic_space, 4) #ifdef mips EXTERN(current_flags_register, 4)