------- 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 <[email protected]>  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 <[email protected]> changed:
> 
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>                  CC|                            |[email protected]
> 
> 
> 
> 
> --- Comment #1 from Phil Pennock <[email protected]>  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

-- 
## List details at http://lists.exim.org/mailman/listinfo/exim-dev Exim details 
at http://www.exim.org/ ##

Reply via email to