summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2007-07-16 10:00:36 +0000
committerAndy Polyakov <appro@openssl.org>2007-07-16 10:00:36 +0000
commitd92b0efbb8204eb23f338befd66a54a5b006b7ca (patch)
treeae46890a5cb03807623fdfcdac3a3fe8207abe31
parentb329cc24102fb46abd0ce05baa0ab7b2a8ca3397 (diff)
Framework updates.
-rw-r--r--fips-1.0/fips_canister.c4
-rw-r--r--fips-1.0/fips_premain.c2
-rw-r--r--fips-1.0/fips_premain.c.sha12
-rwxr-xr-xfips-1.0/fipsld2
4 files changed, 7 insertions, 3 deletions
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" ;;