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
Development Mailing List [email protected]
Automated List Manager [email protected]