I can confirm that I can compile with no-asm. That’s a good thing.
I cannot however get any level of optimizations to compile correctly. This may
not be a problem for my use case, but it may be for others.
If I update Configurations/10-main.conf for hpux64-ia64-cc to use +O0, +O1, or
+O2 (+O3 was the default) it will trigger the issue.
"hpux64-ia64-cc" => {
inherit_from => [ "BASE_unix", asm("ia64_asm") ],
cc => "cc",
cflags => combine(picker(default => "-Ae +DD64 +Olit=all -z
-DB_ENDIAN",
debug => "+O0 +d -g",
release => "+O0"), #### I changed
the value here!
This is also shown in the CFLAGS in the summary output from Configure:
Configuring for hpux64-ia64-cc
CC =cc
CFLAG =-Ae +DD64 +Olit=all -z -DB_ENDIAN +O0 -D_REENTRANT
While I can proceed with my project using no-asm, I am willing to try other
changes to help the OpenSSL project out to see if the problem is just around
one function that cannot be optimized, etc if anyone has any suggestions.
I'm not sure if the git-hub bug moderators are on this list, so I'll update the
bug report there with this new info.
-Dan
On 11/8/17, 7:33 AM, "openssl-users on behalf of Ludwig, Mark"
<[email protected] on behalf of [email protected]> wrote:
> From: Michael Wojcik, Wednesday, November 08, 2017 7:03 AM
> To: [email protected]
> Subject: Re: [openssl-users] Help compiling on HPUX
>
> > From: openssl-users [mailto:[email protected]] On Behalf
> Of Dan Freed
> > Sent: Tuesday, November 07, 2017 19:14
> > To: [email protected]
> > Subject: [openssl-users] Help compiling on HPUX
>
> > I see that there are a few posts about compiling openssl on HP-UX, so
I’m
> hopeful that someone can help me out.
>
> My initial suspect is the assembly modules. I suggest configuring with
no-asm,
> and if that works and you really want the assembly code for performance,
then
> investigate further.
>
> Another possibility is optimization. We had issues building OpenSSL for
HP-UX
> (PA-RISC and Itanium) with +O4, which is what Configure specifies for at
least
> some HP-UX builds. We backed it off to +O1 (by editing Configure; we
actually
> use our own Configure script, and merge in changes from the official one
each
> time we update to a new OpenSSL release).
Dan, you did not specify the platform. I have not built on RISC since
OpenSSL 0.9.8.
I have built OpenSSL 1.0.2k on Itanium as follows. I mostly agree with
Michael,
but have not backed off optimization quite as far. Note that my use cases
do not
include encrypting/decrypting large payloads, so can get away with reduced
performance to get correct results (i.e., pass the tests).
I had to edit util/selftest.pl for the compiler's identification output
and because the ar(1) command will not accept /dev/null as an input file.
I also eliminated a lot of the tests in test/cms-tests, because we do not
use the
modules being tested. (They were failing.) I can believe these might work
with
lower optimization such as Michael recommends.
Below is the Configure output. Hope this helps.
Configuring for hpux64-ia64-cc
no-asm [option] OPENSSL_NO_ASM
no-dso [option]
no-ec_nistp_64_gcc_128 [default] OPENSSL_NO_EC_NISTP_64_GCC_128 (skip
dir)
no-gmp [default] OPENSSL_NO_GMP (skip dir)
no-jpake [experimental] OPENSSL_NO_JPAKE (skip dir)
no-krb5 [krb5-flavor not specified] OPENSSL_NO_KRB5
no-libunbound [experimental] OPENSSL_NO_LIBUNBOUND (skip dir)
no-md2 [default] OPENSSL_NO_MD2 (skip dir)
no-rc5 [default] OPENSSL_NO_RC5 (skip dir)
no-rfc3779 [default] OPENSSL_NO_RFC3779 (skip dir)
no-sctp [default] OPENSSL_NO_SCTP (skip dir)
no-ssl-trace [default] OPENSSL_NO_SSL_TRACE (skip dir)
no-ssl2 [default] OPENSSL_NO_SSL2 (skip dir)
no-store [experimental] OPENSSL_NO_STORE (skip dir)
no-unit-test [default] OPENSSL_NO_UNIT_TEST (skip dir)
no-weak-ssl-ciphers [default] OPENSSL_NO_WEAK_SSL_CIPHERS (skip dir)
no-zlib [default]
no-zlib-dynamic [default]
IsMK1MF=0
CC =cc
CFLAG =+Z -DOPENSSL_PIC -DOPENSSL_THREADS -Ae +DD64 +O3 +Olit=all
-z -DB_ENDIAN -D_REENTRANT
EX_LIBS =-ldl
CPUID_OBJ =mem_clr.o
BN_ASM =bn_asm.o
EC_ASM =
DES_ENC =des_enc.o fcrypt_b.o
AES_ENC =aes_core.o aes_cbc.o
BF_ENC =bf_enc.o
CAST_ENC =c_enc.o
RC4_ENC =rc4_enc.o rc4_skey.o
RC5_ENC =rc5_enc.o
MD5_OBJ_ASM =
SHA1_OBJ_ASM =
RMD160_OBJ_ASM=
CMLL_ENC =camellia.o cmll_misc.o cmll_cbc.o
MODES_OBJ =
ENGINES_OBJ =
PROCESSOR =
RANLIB =/usr/ccs/bin/ranlib
ARFLAGS =
PERL =/usr/local/smd/bin/perl
SIXTY_FOUR_BIT_LONG mode
DES_RISC1 used
DES_UNROLL used
DES_INT used
RC4_INDEX mode
RC4_CHUNK is undefined
MD2 uses uchar
>
> --
> Michael Wojcik
> Distinguished Engineer, Micro Focus
>
>
> --
> openssl-users mailing list
> To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users