X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Fsparc_arch.h;h=c3843c01b8a363a41bc11e92f567620dc17fe078;hb=349e6b2b0aea737422fedfa28467bed5571ead2a;hp=1a8fca95b894c7a598b027084c6a3d8939cdd8f3;hpb=b460c8f89665d1207b3925b3646135d26466636d;p=oweals%2Fopenssl.git diff --git a/crypto/sparc_arch.h b/crypto/sparc_arch.h index 1a8fca95b8..c3843c01b8 100644 --- a/crypto/sparc_arch.h +++ b/crypto/sparc_arch.h @@ -9,6 +9,7 @@ #define SPARCV9_BLK (1<<5) /* VIS1 block copy */ #define SPARCV9_VIS3 (1<<6) #define SPARCV9_RANDOM (1<<7) +#define SPARCV9_64BIT_STACK (1<<8) /* * OPENSSL_sparcv9cap_P[1] is copy of Compatibility Feature Register, @@ -32,6 +33,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 +58,25 @@ 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 +# define STACK_7thARG (STACK_BIAS+176) #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 STACK_7thARG 92 # define SPARC_LOAD_ADDRESS_LEAF(SYM,reg,tmp) SPARC_LOAD_ADDRESS(SYM,reg) #endif