> Also, it seems that /POINTER_SIZE=64=ARGV isn't supported with HP C
> 7.1.  [...]

   I can believe that.  SYS$HELP:CC073.RELEASE_NOTES puts it under "5.2
Enhancements in V7.1", but SYS$HELP:CC071.RELEASE_NOTES doesn't mention
it.  Trust no one, I always say.

>    That's depressing.  My first impulse is to say that 64-bit pointers
> require a newer compiler.  It's possible that the "=ARGV" isn't really
> needed, but I thought that that was the cure for the "ACCVIO" in the
> subject line of this thread.  I'll go back and check, but I believe that
> without the "=ARGV", the libraries and shared images may be ok, but all
> the main programs (openssl itself, and some/all of the tests?) will
> explode when they start passing 32-bit argv[] pointers around to
> consumers who expect 64-bit pointers.  [...]

   Yup.  With /POINTER_SIZE = 64, but without the "= ARGV":

[...]
Compiling The OPENSSL.C File.

                ret=fp->func(Argc,Argv);
..................................^
%CC-W-PTRMISMATCH, In this statement, the referenced type of the pointer
 value "Argv" is "short pointer to char", which is not compatible with
 "long pointer to char".
at line number 302 in file
 IT$DKC0:[UTILITY.SOURCE.OPENSSL.openssl-1_0_0d.apps]openssl.c;6

                ret=do_cmd(prog,Argc,Argv);
.....................................^
%CC-W-PTRMISMATCH, In this statement, the referenced type of the pointer
 value "Argv" is "short pointer to char", which is not compatible with
 "long pointer to char".
at line number 312 in file
 IT$DKC0:[UTILITY.SOURCE.OPENSSL.openssl-1_0_0d.apps]openssl.c;6
[...]

And:

[...]
---> TEST_ENC
cat
%SYSTEM-F-ACCVIO, access violation, reason mask=00, virtual
 address=0078DD540078DD50, PC=0000000000271540, PS=0000001B

  Improperly handled condition, image exit forced.
    Signal arguments:   Number = 0000000000000005
                        Name   = 000000000000000C
[Blah, blah, blah, ...  (These dumps are very noisy on IA64.)]


   The 64-bit-pointer stuff wasn't my idea, and I have V7.3-xxx C
compilers on my systems, so it'd be ok with me to leave things as-are,
and demand a compiler which supports /POINTER_SIZE = 64 = ARGV, if the
victim wants 64-bit pointers.  But if someone thinks that it's worth
the effort, I could try to find an easy way to make everything work with
a pre-April-2007 compiler.

   SMS.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to