fipsld, incore: switch to new cross-compile support [from HEAD].
This commit is contained in:
parent
68b2f55b90
commit
1562ce17cb
2 changed files with 19 additions and 12 deletions
28
fips/fipsld
28
fips/fipsld
|
@ -1,6 +1,6 @@
|
|||
#!/bin/sh -e
|
||||
#
|
||||
# Copyright (c) 2005-2007 The OpenSSL Project.
|
||||
# Copyright (c) 2005-2011 The OpenSSL Project.
|
||||
#
|
||||
# Depending on output file name, the script either embeds fingerprint
|
||||
# into libcrypto.so or static application. "Static" refers to static
|
||||
|
@ -127,12 +127,15 @@ lib*|*.dll) # must be linking a shared lib...
|
|||
"${PREMAIN_C}" \
|
||||
${_WL_PREMAIN} "$@"
|
||||
|
||||
# generate signature...
|
||||
if [ -z "${FIPS_SIG}" ]; then
|
||||
SIG=`"${PREMAIN_DSO}" "${TARGET}"`
|
||||
else
|
||||
SIG=`"${FIPS_SIG}" -dso "${TARGET}"`
|
||||
if [ "x${FIPS_SIG}" != "x" ]; then
|
||||
# embed signature
|
||||
"${FIPS_SIG}" "${TARGET}"
|
||||
[ $? -ne 42 ] && exit $?
|
||||
fi
|
||||
|
||||
# generate signature...
|
||||
SIG=`"${PREMAIN_DSO}" "${TARGET}"`
|
||||
|
||||
/bin/rm -f "${TARGET}"
|
||||
if [ -z "${SIG}" ]; then
|
||||
echo "unable to collect signature"; exit 1
|
||||
|
@ -172,12 +175,15 @@ lib*|*.dll) # must be linking a shared lib...
|
|||
"${PREMAIN_C}" \
|
||||
${_WL_PREMAIN} "$@"
|
||||
|
||||
# generate signature...
|
||||
if [ -z "${FIPS_SIG}" ]; then
|
||||
SIG=`"${TARGET}"`
|
||||
else
|
||||
SIG=`"${FIPS_SIG}" -exe "${TARGET}"`
|
||||
if [ "x${FIPS_SIG}" != "x" ]; then
|
||||
# embed signature
|
||||
"${FIPS_SIG}" "${TARGET}"
|
||||
[ $? -ne 42 ] && exit $?
|
||||
fi
|
||||
|
||||
# generate signature...
|
||||
SIG=`"${TARGET}"`
|
||||
|
||||
/bin/rm -f "${TARGET}"
|
||||
if [ -z "${SIG}" ]; then
|
||||
echo "unable to collect signature"; exit 1
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
@e_ident{magic,class,data,version,osabi,abiver,pad}=
|
||||
unpack("a4C*",$elf);
|
||||
|
||||
$!=42; # signal fipsld to revert to two-step link
|
||||
die "not ELF file" if ($e_ident{magic} ne chr(0177)."ELF");
|
||||
|
||||
my $elf_bits = $e_ident{class}*32; # 32 or 64
|
||||
|
@ -377,7 +378,7 @@ $FIPS_text_endX = $exe->Lookup("FIPS_text_endX");
|
|||
if (!$legacy_mode) {
|
||||
if (!$FIPS_text_startX || !$FIPS_text_endX) {
|
||||
print STDERR "@ARGV[$#ARGV] is not cross-compiler aware.\n";
|
||||
exit(1);
|
||||
exit(42); # signal fipsld to revert to two-step link
|
||||
}
|
||||
|
||||
$FINGERPRINT_ascii_value
|
||||
|
|
Loading…
Reference in a new issue