X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fglobals.h;h=c9e8c8568b445ae6987e280eed894c2d1a288094;hb=3bb2fb5b9ecdeebecaded4ac6e5af0f653be8867;hp=e0ba45457433dff7d2eb62c776259efa1bfad020;hpb=a530bbe337109d898d5b4a001fc8f1afa3b5dc39;p=sbcl.git diff --git a/src/runtime/globals.h b/src/runtime/globals.h index e0ba454..c9e8c85 100644 --- a/src/runtime/globals.h +++ b/src/runtime/globals.h @@ -9,10 +9,6 @@ * files for more information. */ -/* - * $Header$ - */ - #if !defined(_INCLUDE_GLOBALS_H_) #define _INCLUDED_GLOBALS_H_ @@ -24,34 +20,26 @@ extern int foreign_function_call_active; extern lispobj *current_control_stack_pointer; extern lispobj *current_control_frame_pointer; -#if !defined(ibmrt) && !defined(__i386__) +#if !defined(__i386__) extern lispobj *current_binding_stack_pointer; #endif -extern lispobj *read_only_space; -extern lispobj *static_space; -extern lispobj *dynamic_0_space; -extern lispobj *dynamic_1_space; -extern lispobj *control_stack; -extern lispobj *binding_stack; -#ifdef __i386__ -extern lispobj *control_stack_end; -#endif -extern lispobj *current_dynamic_space; -#if !defined(ibmrt) && !defined(__i386__) -extern lispobj *current_dynamic_space_free_pointer; +#if !defined(__i386__) +/* FIXME: Why doesn't the x86 need this? */ +extern lispobj *dynamic_space_free_pointer; extern lispobj *current_auto_gc_trigger; #endif -extern void globals_init(void); +extern lispobj *current_dynamic_space; -#else LANGUAGE_ASSEMBLY +extern void globals_init(void); -/* These are needed by ./assem.s */ +#else /* LANGUAGE_ASSEMBLY */ #ifdef mips #define EXTERN(name,bytes) .extern name bytes #endif +/**/ #ifdef sparc #ifdef SVR4 #define EXTERN(name,bytes) .global name @@ -59,31 +47,42 @@ extern void globals_init(void); #define EXTERN(name,bytes) .global _ ## name #endif #endif -#ifdef ibmrt -#define EXTERN(name,bytes) .globl _/**/name +/**/ +#ifdef alpha +#ifdef __linux__ +#define EXTERN(name,bytes) .globl name +#endif +#endif +#ifdef ppc +#define EXTERN(name,bytes) .globl name #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 #endif #endif +/* FIXME : these sizes are, incidentally, bogus on Alpha. But the + * EXTERN macro doesn't use its second arg anyway, so no immediate harm + * done -dan 2002.05.07 + */ + 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(current_dynamic_space_free_pointer, 4) -#endif +EXTERN(dynamic_space_free_pointer, 4) +EXTERN(current_dynamic_space, 4) #ifdef mips EXTERN(current_flags_register, 4) #endif -#endif LANGUAGE_ASSEMBLY +#endif /* LANGUAGE_ASSEMBLY */ -#endif _INCLUDED_GLOBALS_H_ +#endif /* _INCLUDED_GLOBALS_H_ */