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" 
<openssl-users-boun...@openssl.org on behalf of ludwig.m...@siemens.com> wrote:

    > From: Michael Wojcik, Wednesday, November 08, 2017 7:03 AM
    > To: openssl-users@openssl.org
    > Subject: Re: [openssl-users] Help compiling on HPUX
    > 
    > > From: openssl-users [mailto:openssl-users-boun...@openssl.org] On Behalf
    > Of Dan Freed
    > > Sent: Tuesday, November 07, 2017 19:14
    > > To: openssl-users@openssl.org
    > > 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

Reply via email to