From 1efd583085ffefb4d5d11e1e599e4123351df386 Mon Sep 17 00:00:00 2001 From: Andy Polyakov Date: Thu, 25 Oct 2012 12:07:32 +0000 Subject: SPARCv9 assembly pack: harmonize ABI handling (so that it's handled in one place at a time, by pre-processor in .S case and perl - in .s). --- crypto/sparc_arch.h | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'crypto/sparc_arch.h') diff --git a/crypto/sparc_arch.h b/crypto/sparc_arch.h index 1a8fca95b8..1afef4b8a4 100644 --- a/crypto/sparc_arch.h +++ b/crypto/sparc_arch.h @@ -32,6 +32,10 @@ # define __PIC__ #endif +#if defined(__SUNPRO_C) && defined(__sparcv9) && !defined(__arch64__) +# define __arch64__ +#endif + #define SPARC_PIC_THUNK(reg) \ .align 32; \ .Lpic_thunk: \ @@ -53,18 +57,23 @@ add %o7, reg, reg #endif -#if (defined(__GNUC__) && defined(__arch64__)) || \ - (defined(__SUNPRO_C) && defined(__sparcv9)) +#if defined(__arch64__) # define SPARC_LOAD_ADDRESS(SYM, reg) \ setx SYM, %o7, reg; -# define LDPTR ldx +# define LDPTR ldx +# define SIZE_T_CC %xcc +# define STACK_FRAME 192 +# define STACK_BIAS 2047 #else # define SPARC_LOAD_ADDRESS(SYM, reg) \ set SYM, reg; -# define LDPTR ld +# define LDPTR ld +# define SIZE_T_CC %icc +# define STACK_FRAME 112 +# define STACK_BIAS 0 # define SPARC_LOAD_ADDRESS_LEAF(SYM,reg,tmp) SPARC_LOAD_ADDRESS(SYM,reg) #endif -- cgit v1.2.3