[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [PATCH] silo: Add 64-bit support



Two more caveats in common/jmp.S..

    diff --git a/common/jmp.S b/common/jmp.S
    index 3bc8c94..a446d78 100644
    --- a/common/jmp.S
    +++ b/common/jmp.S
    @@ -18,7 +18,13 @@
        Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
        USA.  */
     
    -#define _SV save %sp, -0x40, %sp
    +#if __WORDSIZE == 32
    +# define STACK_BIAS 0
    +#else
    +# define STACK_BIAS 2047
    +#endif
    +
    +#define _SV save %sp, -STACK_BIAS-0x40, %sp
     #define _RV restore
     #define FLUSH_ALL_WINDOWS \
     	_SV; _SV; _SV; _SV; _SV; _SV; _SV; \
    @@ -46,7 +52,7 @@ __longjmp:
     	FLUSH_ALL_WINDOWS
        ld [%o0], %o7		/* Return PC.  */
     	ld [%o0 + 4], %fp	/* Saved SP.  */

#if __WORDSIZE == 32
        ld [%o0], %o7		/* Return PC.  */
     	ld [%o0 + 4], %fp	/* Saved SP.  */
#else
        ldx [%o0], %o7		/* Return PC.  */
     	ldx [%o0 + 8], %fp	/* Saved SP.  */
#endif

and also in the corresponding stores in setjmp:

#if __WORDSIZE == 32        
	st %o7, [%o0]
	st %sp, [%o0 + 4]
#else
        stx %o7, [%o0]
        stx %sp, [%o0 + 8]
#endif


Reply to: