On Fri, 2014 Sep 19 23:54+0200, Andy Polyakov via RT wrote:
> >
> > What system(s) are you testing on?
>
> We have discussed it earlier, 5.1. And was under impression that you
> target 5.1 too. You had older compiler, but system headers should have
> been same.

I have a 5.1 system too (though no access to it currently), but the goal
was to get things working on both 4.0 and 5.1 so that I can build
OpenSSH on both systems. If OpenSSL works on 4.0, then it will probably
also work on 5.1 (but not necessarily the other way around).

> > Mine is "Digital UNIX V4.0G (Rev. 1530)".
>
> Even more reason to resort additional argument. I mean if something is
> broken and/or is not up to contemporary standard, why is it source
> code that is expected to be twisted to accommodate outdated system?
> When it's possible to work around the problem without modifying code.

There's a difference between modifying code, and modifying the auto-
configuration. OpenSSL supports systems that don't have IPv6, so that is
all that is needed in code. The problem is in detecting whether or not
IPv6 is available. And yes, you can work around the problem by giving an
argument, but the reason for having all that cpp logic in e_os.h is so
that this isn't necessary.

(As for outdated systems, how about NEXTSTEP? :-)

> Works for me with C V6.5. inline is part of C99, so that if compiler
> accepts -c99 and fails to compile recognize inline as keyword, it's
> formally a bug. So that guarding with __DECC alone is still formally
> inappropriate.

Okay, then do you have a better idea? Getting a bug-fix from Compaq is
not possible.

Here is some information on the compiler version:

    $ cc -V
    cc  (cc)
            Digital UNIX Compiler Driver 3.11
    Compaq C V6.1-119 on Digital UNIX V4.0G (Rev. 1530)

    $ echo __DECC __DECC_VER >ver.c
    $ cc -E ver.c 
    # 1 "ver.c"
    1 60190119

> And you still don't provide coherent problem description. I mean last
> time it was "problem with non-specified argument on 5.1", now "it's on
> 4.". There is no place for guessing and implying in bug reports.

I apologize for not specifying the non-default arguments I used earlier,
because I thought the new build error was more interesting. Yes, that
prevents you from reproducing the error, and that is not helpful.

For now, however, I am testing with a plain, default build, because if
that kind of build gives errors then it is a particularly bad problem. I
want OpenSSL to build cleanly on 4.0 and 5.1, and it is almost there.

> Well, formally speaking defining _XOPEN_SOURCE in the middle is
> inappropriate. Such macros should be defined first... But it wasn't me
> who added it, so I don't know the rationale...

I think someone did it this way because OPENSSL_SYS_VXWORKS is
#defined in e_os2.h, which is obtained via e_os.h. They didn't realize
that _XOPEN_SOURCE is useless if a system header has already been seen.

Maybe if the conditional were moved up and changed to use
OPENSSL_SYSNAME_VXWORKS? Isn't that supposed to be #defined on the
compiler command line? (Or maybe use some compiler built-in symbol, like
__VXWORKS__)


--Daniel


-- 
Daniel Richard G. || sk...@iskunk.org
My ASCII-art .sig got a bad case of Times New Roman.


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

Reply via email to