[Bug 43666] New: PuTTY crashes if compiled with 64-bit winegcc ( winegcc defines va_list incorrectly for Win64)

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Sep 6 21:12:10 CDT 2017


https://bugs.winehq.org/show_bug.cgi?id=43666

            Bug ID: 43666
           Summary: PuTTY crashes if compiled with 64-bit winegcc (winegcc
                    defines va_list incorrectly for Win64)
           Product: Wine
           Version: 2.16
          Hardware: x86
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: tools
          Assignee: wine-bugs at winehq.org
          Reporter: alexhenrie24 at gmail.com
      Distribution: ---

Created attachment 59112
  --> https://bugs.winehq.org/attachment.cgi?id=59112
backtrace

To reproduce this bug:

1. Clone PuTTY from https://git.tartarus.org/simon/putty.git

2. Run `./mkfiles.pl`

3. Run `make -C windows -f Makefile.mgw CC="winegcc -mno-cygwin"
COMPAT="-D__MINGW32__" RC=wrc`

4. Run `wine windows/putty.exe.so`

A backtrace is attached, but to save you some time, PuTTY is crashing in its
dupvprintf_inner function:

    va_list aq;
    va_copy(aq, ap);
    len = vsnprintf(buf + oldlen, size, fmt, aq);
    va_end(aq);

The problem is that va_list has one ABI on 32-bit Windows or Linux binaries and
another on 64-bit Windows binaries. I can work around the problem by adding
-m32 or -mabi=ms to the winegcc options. One solution might be to make winegcc
use -mabi=ms by default.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list