tsun - plan9port - [fork] Plan 9 from user space
 (HTM) git clone git://src.adamsgaard.dk/plan9port
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit d08f40666b32fd5bce69f1b40ea18d2e52e97a26
 (DIR) parent 0e4068e8c46ae0b45616fe13ac01a449b68fbc06
 (HTM) Author: rsc <devnull@localhost>
       Date:   Wed, 27 Jul 2005 13:06:50 +0000
       
       sun
       
       Diffstat:
         M include/u.h                         |      10 ++++++++--
         M src/libthread/thread.c              |       2 +-
       
       2 files changed, 9 insertions(+), 3 deletions(-)
       ---
 (DIR) diff --git a/include/u.h b/include/u.h
       t@@ -5,8 +5,14 @@ extern "C" {
        #endif
        
        #define __BSD_VISIBLE 1 /* FreeBSD 5.x */
       -#define __EXTENSIONS__ 1 /* SunOS */
       -/* NOT USING #define __MAKECONTEXT_V2_SOURCE 1 / * SunOS */
       +#if defined(__sun__)
       +#        define __EXTENSIONS__ 1 /* SunOS */
       +#        if defined(__SunOS5_6__) || defined(__SunOS5_7__) || defined(__SunOS5_8__)
       +                /* NOT USING #define __MAKECONTEXT_V2_SOURCE 1 / * SunOS */
       +#        else
       +#                define __MAKECONTEXT_V2_SOURCE 1
       +#        endif
       +#endif
        #define _BSD_SOURCE 1
        #define _NETBSD_SOURCE 1        /* NetBSD */
        #define _SVID_SOURCE 1
 (DIR) diff --git a/src/libthread/thread.c b/src/libthread/thread.c
       t@@ -126,7 +126,7 @@ threadalloc(void (*fn)(void*), void *arg, uint stack)
                /* leave a few words open on both ends */
                t->context.uc.uc_stack.ss_sp = t->stk+8;
                t->context.uc.uc_stack.ss_size = t->stksize-64;
       -#ifdef __sun__                /* sigh */
       +#if defined(__sun__) && !defined(__MAKECONTEXT_V2_SOURCE)                /* sigh */
                /* can avoid this with __MAKECONTEXT_V2_SOURCE but only on SunOS 5.9 */
                t->context.uc.uc_stack.ss_sp = 
                        (char*)t->context.uc.uc_stack.ss_sp