Hi Kevin, I encountered this problem when compiling the 1.2.3 FIPS object module some time ago, with exactly the same compiler. After some experimentation I managed to get it to embed the fingerprint correctly using the following compiler options:
-fno-common -fdata-sections -ffunction-sections I also needed to change the INCORE_ADJUST setting to an 8 byte offset for my processor as follows: diff --git a/current/appfs/openssl-fips/incore b/current/appfs/openssl-fips/incore index 07df989..61f68b9 100755 (executable) --- a/current/appfs/openssl-fips/incore +++ b/current/appfs/openssl-fips/incore @@ -6,6 +6,7 @@ DEBUG= +CROSS_COMPILE=ppc_8xx- OBJCOPY=${CROSS_COMPILE}objcopy OBJDUMP=${CROSS_COMPILE}objdump @@ -58,6 +59,7 @@ if [ -z "$INCORE_ADJUST" ]; then elf64-x86-64) INCORE_ADJUST=4;; #elf32-littlearm|elf32-little|elf32-bigarm) INCORE_ADJUST="-36";; elf32-littlearm|elf32-little|elf32-bigarm) INCORE_ADJUST="-8";; + elf32-powerpc) INCORE_ADJUST=8;; esac fi I'm not really an expert in this area, but it worked for me, so give it a try. Regards, Harvey I am building a cross-compiled FIPS-capable libcrypto.so with the 1.0.1beta OpenSSL and 2.0 FIPS Object Module. The build is being done on a linux (CentOS) host for a PowerPC target running netbsd 1.6.2 (yes, I know, its old). gcc being used: $ ${CROSS_COMPILE}gcc -v gcc version 2.95.3 20010315 (release) (NetBSD nb3) (yes, I know, also old) I can successfully build fipscontainer.o, and then build fips_algvs, which runs successfuly on the target system. This made me think that the fingerprint was working correctly... Later (when building libcrypto.so) I realized I was using the native incore script instead of the cross-compile incore script. I switched to the cross-compile incore script, but that failed to embed a fingerprint in the (FIPS-capable) libcrypto.so. ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager majord...@openssl.org