From: Andy Polyakov Date: Mon, 16 Jul 2007 10:00:36 +0000 (+0000) Subject: Framework updates. X-Git-Tag: FIPS_098_TEST_2~7 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=d92b0efbb8204eb23f338befd66a54a5b006b7ca;p=oweals%2Fopenssl.git Framework updates. --- diff --git a/fips-1.0/fips_canister.c b/fips-1.0/fips_canister.c index cbe47155db..64580694c4 100644 --- a/fips-1.0/fips_canister.c +++ b/fips-1.0/fips_canister.c @@ -95,6 +95,10 @@ static void *instruction_pointer(void) "mfspr %0,8\n\t" /* mflr ret */ "mtspr 8,%1" /* restore lr */ : "=r"(ret),"=r"(scratch) ); +# elif defined(__s390__) || defined(__s390x__) +# define INSTRUCTION_POINTER_IMPLEMENTED + __asm __volatile ( "bras %0,1f\n1:" : "=r"(ret) ); + ret = (void *)((size_t)ret&~3UL); # elif defined(__sparc) || defined(__sparc__) || defined(__sparcv9) # define INSTRUCTION_POINTER_IMPLEMENTED void *scratch; diff --git a/fips-1.0/fips_premain.c b/fips-1.0/fips_premain.c index 6a75d909eb..a39f976eca 100644 --- a/fips-1.0/fips_premain.c +++ b/fips-1.0/fips_premain.c @@ -79,7 +79,7 @@ extern unsigned int FIPS_incore_fingerprint(unsigned char *,unsigned int) */ void FINGERPRINT_premain(void) { unsigned char sig[sizeof(FIPS_signature)]; - const unsigned char *p=FINGERPRINT_ascii_value; + const unsigned char * volatile p=FINGERPRINT_ascii_value; unsigned int len=sizeof(sig),i; /* "volatilization" is done to disengage unwanted optimization... */ diff --git a/fips-1.0/fips_premain.c.sha1 b/fips-1.0/fips_premain.c.sha1 index 967ec89d98..a83f59346d 100644 --- a/fips-1.0/fips_premain.c.sha1 +++ b/fips-1.0/fips_premain.c.sha1 @@ -1 +1 @@ -HMAC-SHA1(fips_premain.c)= 6a08d15c578f1258246181bf52134ae974aa5a80 +HMAC-SHA1(fips_premain.c)= 6ea1418b49f4c9f2f76ca61e116f9d41e9b6a0e5 diff --git a/fips-1.0/fipsld b/fips-1.0/fipsld index fd31b2c019..863e3b3dcf 100755 --- a/fips-1.0/fipsld +++ b/fips-1.0/fipsld @@ -72,7 +72,7 @@ HMAC_KEY="etaonrishdlcupfm" case "`(uname -s) 2>/dev/null`" in OSF1|IRIX*) _WL_PREMAIN="-Wl,-init,FINGERPRINT_premain" ;; HP-UX) _WL_PREMAIN="-Wl,+init,FINGERPRINT_premain" ;; -AIX) _WL_PREMAIN="-Wl,-binitfini:FINGERPRINT_premain";; +AIX) _WL_PREMAIN="-Wl,-binitfini:FINGERPRINT_premain,-bnoobjreorder";; Darwin) ( while [ "x$1" != "x" -a "x$1" != "x-dynamiclib" ]; do shift; done; [ $# -ge 1 ] ) && _WL_PREMAIN="-Wl,-init,_FINGERPRINT_premain" ;;