X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fsparc-linux-os.h;h=5c02fc663de142d997e0926741260a45ad234160;hb=35ab27e7aab71c94aa6be12da15603c7fd87fca8;hp=f4f677c4967dcbc8f0cd27f4e8f6f5ecb9dd9922;hpb=503a50f07740b52908f630b0492cf56556f1a792;p=sbcl.git diff --git a/src/runtime/sparc-linux-os.h b/src/runtime/sparc-linux-os.h index f4f677c..5c02fc6 100644 --- a/src/runtime/sparc-linux-os.h +++ b/src/runtime/sparc-linux-os.h @@ -2,10 +2,12 @@ #define _SPARC_LINUX_OS_H typedef struct sigcontext os_context_t; +typedef unsigned long os_context_register_t; -static inline os_context_t *arch_os_get_context(void **void_context) { +static inline os_context_t *arch_os_get_context(void **void_context) +{ asm volatile ("ta 0x03"); /* ta ST_FLUSH_WINDOWS */ - return (os_context_t *) (void_context + 37); + return (os_context_t *) (*void_context); } unsigned long os_context_fp_control(os_context_t *context);