[exim-dev] [Bug 1050] Compilation of exim 4.72 on HPUX 11.11…

Top Page
Delete this message
Reply to this message
Author: Steen Hammerum
Date:  
To: exim-dev
Subject: [exim-dev] [Bug 1050] Compilation of exim 4.72 on HPUX 11.11 fails (similar probl w 4.73_RC1)
------- You are receiving this mail because: -------
You are on the CC list for the bug.

http://bugs.exim.org/show_bug.cgi?id=1050




--- Comment #2 from Steen Hammerum <steen@???> 2010-12-27 10:41:41 ---
Phil -

> ------- You are receiving this mail because: -------
> You reported the bug.
>
> http://bugs.exim.org/show_bug.cgi?id=1050
>
> Phil Pennock <pdp@???> changed:
>
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>                  CC|                            |pdp@???

>
>
>
>
> --- Comment #1 from Phil Pennock <pdp@???> 2010-12-27 05:10:11 ---
> This appears to be caused by the stdargs usage, which was introduced, IIRC, so
> that EXPN would work over TLS instead of trying to output in plaintext.
> However, stdargs is used in various places in Exim already. Notably, the same
> va_list-as-param style is used in string_vformat(), so any issues should have
> been flushed out long ago.


[disclaimer: I am not a programmer, but a chemist pinch hitting as a
postmaster] Trying to trace the source of the problem, it seems to me
that the absence of va_copy under HP-UX C is the culprit, but the
workaround provided (macros.h) appears not to agree with the compiler.
The hint provided in that file suggests that memcpy might be used instead,
but I have no idea if that would work properly.

> Some searching suggests issues with stdargs with HP-UX and some "sensitivity"
> here. Apparently the native compiler has an "old C" mode and an ANSI C mode?
> Can you ensure that you're using ANSI C mode? Apparently, this is the "-Ae"
> option to the compiler. Perhaps we should add this to the commented-out form
> for HP-UX CC in Makefile-HP-UX.
> [http://docs.hp.com/en/B3901-90013/ch09s01.html]


The ANSI C mode is the default, and indeed, adding the -Ae option
does not change the outcome.

> We do declare smtp_vprintf() before calling it, so the types should be fine;
> exim.h pulls in stdarg.h before stdio.h, so the problems described at
> [http://my.opera.com/EinSascha/blog/va-list-and-nonconforming-implementations]
> shouldn't apply.
>
> So I'm at a loss. Have you tried building with gcc?


gcc is not available on the HP machinery in question.

> If HP-UX CC in ANSI C mode doesn't work and gcc isn't available, then we're
> going to need help from someone who understands the peculiarities of your
> platform (*every* platform has peculiarities) to track this down further, I
> think.
>
>
> --
> Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email


Thanks for taking the time to look into this.

Best wishes,
Steen


--
Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email