components/openssl/openssl-0.9.8-fips-140/patches/sparc-01-ccwrap.patch
author Melynda Hunter <melynda.hunter@oracle.com>
Tue, 12 Mar 2013 17:02:48 -0700
branchs11u1-sru
changeset 2522 494ab4b154c8
parent 363 9c0cad004039
permissions -rw-r--r--
Added tag 0.175.1.6.0.2.0 for changeset 2021fa9cf020

diff -ruN ../a/openssl-0.9.8k/fips/fipsld openssl-0.9.8k/fips/fipsld
--- ../a/openssl-0.9.8k/fips/fipsld	2008-09-16 12:12:10.000000000 +0200
+++ openssl-0.9.8k/fips/fipsld	2009-10-06 16:45:34.379991933 +0200
@@ -12,6 +12,14 @@
 
 #set -x
 
+# Solaris OpenSSL:
+# Wrap the calls to cc to remove the "-g" option when compiling
+# (SPARC only). If "-g" is used on SPARC to build libcrypto.so
+# the fingerprint will be incorrectly generated as "-g" promotes
+# static symbols to globals which then interacts with the linker to
+# produce a changed text section.
+CCWRAP=ccwrap
+
 CC=${FIPSLD_CC:-${CC}}
 [ -n "${CC}" ] || { echo '$CC is not defined'; exit 1; }
 
@@ -112,7 +120,7 @@
 	fi
 
 	/bin/rm -f "${TARGET}"
-	${CC}	${CANISTER_O_CMD:+"${CANISTER_O_CMD}"} \
+	${CCWRAP} ${CC}	${CANISTER_O_CMD:+"${CANISTER_O_CMD}"} \
 		"${PREMAIN_C}" \
 		${_WL_PREMAIN} "$@"
 
@@ -124,7 +132,7 @@
 	fi
 
 	# recompile with signature...
-	${CC}	${CANISTER_O_CMD:+"${CANISTER_O_CMD}"} \
+	${CCWRAP} ${CC}	${CANISTER_O_CMD:+"${CANISTER_O_CMD}"} \
 		-DHMAC_SHA1_SIG=\"${SIG}\" "${PREMAIN_C}" \
 		${_WL_PREMAIN} "$@"
 	;;
@@ -151,7 +159,7 @@
 	{ echo "${PREMAIN_C} fingerprint mismatch"; exit 1; }
 
 	/bin/rm -f "${TARGET}"
-	${CC}	${CANISTER_O_CMD:+"${CANISTER_O_CMD}"} \
+	${CCWRAP} ${CC}	${CANISTER_O_CMD:+"${CANISTER_O_CMD}"} \
 		"${PREMAIN_C}" \
 		${_WL_PREMAIN} "$@"
 
@@ -163,7 +171,7 @@
 	fi
 
 	# recompile with signature...
-	${CC}	${CANISTER_O_CMD:+"${CANISTER_O_CMD}"} \
+	${CCWRAP} ${CC}	${CANISTER_O_CMD:+"${CANISTER_O_CMD}"} \
 		-DHMAC_SHA1_SIG=\"${SIG}\" "${PREMAIN_C}" \
 		${_WL_PREMAIN} "$@"
 	;;