[Bug binutils/19196] New: MinGW ld from msys2 crashes on Wine when linking MinGW xz
https://sourceware.org/bugzilla/show_bug.cgi?id=19196 Bug ID: 19196 Summary: MinGW ld from msys2 crashes on Wine when linking MinGW xz Product: binutils Version: 2.26 (HEAD) Status: NEW Severity: normal Priority: P2 Component: binutils Assignee: unassigned at sourceware dot org Reporter: fracting at gmail dot com Target Milestone: --- Hi, When compiling MinGW xz package on Wine, ld crashing while linking xzdec.exe Backtrace is like below: Backtrace: =>0 0xb74e1f83 (0x0122f928) 1 0x7fa9329f MSVCRT_fwrite+0x3d(ptr=, size=, nmemb=, file=) [/home/fracting/src/wine-patched-auto/dlls/msvcrt/file.c:3885] in msvcrt (0x0122f978) 2 0x0042d6c0 in ld (+0x2d6bf) (0x7fb12660) My MSYS2 version: $ uname -a MINGW32_NT-5.1 2.3.0(0.290/5/3) 2015-10-20 10:21 i686 Msys ld version: $ ld --version GNU ld (GNU Binutils) 2.25.2 Copyright (C) 2014 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or (at your option) a later version. This program has absolutely no warranty. This ld version is build on latest git source ( e01b05685cba63977cd76bed14399bd81f1289f4 ) from https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=shortlog;h=refs/heads/binutils-2_25-branch With 4 additional patches from https://github.com/Alexpux/MINGW-packages/tree/e59f73314e7d3eec75822eb4d342997217f2845a/mingw-w64-binutils-git Wine version: wine-1.7.53 (Staging) I'll start from a full reproducing steps from scratch, and then upload some binary test cases. -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug binutils/19196] MinGW ld from msys2 crashes on Wine when linking MinGW xz
https://sourceware.org/bugzilla/show_bug.cgi?id=19196 --- Comment #1 from Qian Hong --- Pre-request: *important*: Install latest Wine Staging (1.7.53) on Linux. I'm using 32bit Ubuntu 15.10 with Linux kernel 4.2.0-16-generic. Wine Staging is an official part of Wine, installation steps refer to https://github.com/wine-compholio/wine-staging/wiki/Installation Steps to reproduce: 1. Install MSYS2 on Wine 1) *important*: MSYS2's installer works mostly out of box on Wine Staging today, except a few workaround is needed: $ export STAGING_WRITECOPY=1 2) download MSYS2 installer from https://msys2.github.io/ http://repo.msys2.org/distrib/i686/msys2-i686-20150916.exe 3) install on Wine: $ mv ~/.wine ~/.wine.bak $ wine msys2-i686-20150916.exe The installer should work out of box just like on Windows. Refer to http://sourceforge.net/p/msys2/wiki/MSYS2%20installation/ for additional introduction for usage of MSYS2 on Windows, it is the same for Wine. 4) install toolchain on MSYS2: Start a MINGW32 shell: $ cd ~/.wine/drive_c/msys32/ $ wine start mingw32_shell.bat Inside the MINGW32 shell in mintty terminal: $ pacman -S --noconfirm base-devel mingw-w64-i686-toolchain This will install gcc / bintuils / make and other tools for compiling Win32 software. Refer to http://sourceforge.net/p/msys2/wiki/Contributing%20to%20MSYS2/ for additional information. Note that currently MSYS2 provides binary package for binutils 2.25.1, but I can also reproduce the same ld crashing bug with latest binutils compiled by myself. 2. Build MinGW xz package on MSYS2 (inside MINGW32 shell on Wine): 1) firstly clone MINGW packages PKGBUILD files: $ git clone https://github.com/Alexpux/MINGW-packages.git (If git is not installed, try `pacman -S git`) 2) cd to the directory of xz: $ xd MINGW-packages/mingw-w64-xz 3) use makepkg-mingw to compile xz package: $ makepkg-mingw -f -s --skippgpcheck --noconfirm This will download the xz source code and build dependencies for xz then build the xz package. Refer to http://sourceforge.net/p/msys2/wiki/Contributing%20to%20MSYS2/ for additional information. Expect result: Build the xz package successfully. Actual result: ld crashes when linking lzmadec.exe (sorry, my #comment 1 is wrong, not crashing for xzdec.exe, but for lzmadec.exe) collect2 reports: collect2.exe: error: ld returned 5 exit status Command line below: /bin/sh ../../libtool --tag=CC --mode=link i686-w64-mingw32-gcc -Wall -Wextra -Wvla -Wformat=2 -Winit-self -Wmissing-include-dirs -Wstrict-aliasing -Wfloat-equal -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wwrite-strings -Wlogical-op -Waggregate-return -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -Wmissing-declarations -Wmissing-noreturn -Wredundant-decls -march=i686 -mtune=generic -O2 -pipe -pipe -o lzmadec.exe lzmadec-xzdec.o lzmadec-tuklib_progname.o lzmadec-tuklib_exit.o lzmadec_w32res.o ../../src/liblzma/liblzma.la -L/mingw32/lib -lintl libtool: link: i686-w64-mingw32-gcc -Wall -Wextra -Wvla -Wformat=2 -Winit-self -Wmissing-include-dirs -Wstrict-aliasing -Wfloat-equal -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wwrite-strings -Wlogical-op -Waggregate-return -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -Wmissing-declarations -Wmissing-noreturn -Wredundant-decls -march=i686 -mtune=generic -O2 -pipe -pipe -o .libs/lzmadec.exe lzmadec-xzdec.o lzmadec-tuklib_progname.o lzmadec-tuklib_exit.o lzmadec_w32res.o ../../src/liblzma/.libs/liblzma.dll.a -L/mingw32/lib -lintl -L/mingw32/lib Backtrace below: (note I'm not sure I can reproduce this bug with debugging build of binutils, but I'll try harder again) Unhandled exception: page fault on read access to 0x013e0038 in 32-bit code (0xb744af83). Register dump: CS:0073 SS:007b DS:007b ES:007b FS:003b GS:0033 EIP:b744af83 ESP:0122f8d8 EBP:0122f928 EFLAGS:00010287( R- -- I S - -P-C) EAX:013df649 EBX:b74d8000 ECX:09ff EDX:00273129 ESI:0122f940 EDI: Stack dump: 0x0122f8d8: 7fb0a000 7fa9339c 00273129 013df649 0x0122f8e8: 09ff 7fa932d9 7fb0a000 09ff 0x0122f8f8: 0001 7fa8c6b3 09ff 7fb0a000 0x0122f908: 0122f958 7fa8c6b3 0023 7fb0a000 0x0122f918: 0122f958 0122f940 7fb0a000 0122f990 0x0122f928: 0122f978 7fa9329f 002c 00251518 Backtrace: =>0 0xb744af83 (0x0122f928) 1 0x7fa9329f MSVCRT_fwrite+0x3d(ptr=, size=, nmemb=, file=) [/home/fracting/src/wine-patched-auto/dlls/msvcrt/file.c:3885] in msvcrt (0x0122f978) 2 0x0042d6c0 in ld (+0x2d6bf) (0x7fb12660) 3 0x0042cc2f in ld (+0x2cc2e) (0x00251518) 4 0x00456354 in ld (+0x56353) (0x00251518) 5 0x00435f95 in ld (+0x35f94) (0x) 6 0x00450413 in ld (+0x50412) (0x0001) 7 0x00454b3d in ld (+0x54b3c) (0x) 8 0x00415363 in ld (+0x15362) (0x0122fd38) 9 0x004dea26 in ld (+0xdea25) (0x0122fd38) 10 0x004013e2 in ld (+0x13e1) (0x0122fe00) 11 0x7b869694 call_process_entry+0xb() in kernel32 (0x0122fe18) --- Comment #2 from Qian Hong --- Pre-request:
[Bug binutils/19196] MinGW ld from msys2 crashes on Wine when linking MinGW xz
https://sourceware.org/bugzilla/show_bug.cgi?id=19196 --- Comment #3 from Qian Hong --- Sorry for duplicate post, network problem due to evil China government firewall... (GFW: https://en.wikipedia.org/wiki/Great_Firewall) -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug binutils/19196] MinGW ld from msys2 crashes on Wine when linking MinGW xz
https://sourceware.org/bugzilla/show_bug.cgi?id=19196 --- Comment #4 from Qian Hong --- Bug report to Wine Staging, cross-reference: https://bugs.wine-staging.com/show_bug.cgi?id=591 -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug binutils/19196] MinGW ld from msys2 crashes on Wine when linking MinGW xz
https://sourceware.org/bugzilla/show_bug.cgi?id=19196 --- Comment #5 from Qian Hong --- Created attachment 8760 --> https://sourceware.org/bugzilla/attachment.cgi?id=8760&action=edit Backtrace: ld crashes, with debugging symbol, compile with -g -O2 -gdwarf2 -gstrict-dwarf Hi, this is a backtrace with debugging symbol, ld from git HEAD, compiled with "-g -O2 -dwarf2 -gstric-dwarf". I'll try further with a build of -O0, but I remember it doesn't crash last time when I was testing. Anyway it worth try again. -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug binutils/19196] MinGW ld from msys2 crashes on Wine when linking MinGW xz
https://sourceware.org/bugzilla/show_bug.cgi?id=19196 --- Comment #6 from Qian Hong --- I upload a compressed directory of xzdec/ , which includes all object files to reproduce this bug: https://drive.google.com/file/d/0BxjsxTbiBaUHYmtQQkdiZlp0T1U/view?usp=sharing I'll try to investigate how to reduce the test case size. -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug binutils/19196] MinGW ld from msys2 crashes on Wine when linking MinGW xz
https://sourceware.org/bugzilla/show_bug.cgi?id=19196 --- Comment #7 from Qian Hong --- When running ld on Wine with Valgrind, Valgrind reports some invalid read which seems related to this bug. Additional information here: https://sourceware.org/ml/binutils/2015-10/msg00058.html Once I can reproduce same valgrind error report with latest binutils, I'll copy them here. (No time right now, sorry) -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug binutils/19196] MinGW ld from msys2 crashes on Wine when linking MinGW xz
https://sourceware.org/bugzilla/show_bug.cgi?id=19196 --- Comment #8 from Qian Hong --- (In reply to Qian Hong from comment #7) > When running ld on Wine with Valgrind, Valgrind reports some invalid read > which seems related to this bug. Additional information here: > https://sourceware.org/ml/binutils/2015-10/msg00058.html > > Once I can reproduce same valgrind error report with latest binutils, I'll > copy them here. (No time right now, sorry) Update: this time valgrind doesn't report anything related to this bug for me. BTW, I'm @fracting in freenode #gdb irc channel, I'm glad to provide more information either here or at irc if required. I'm still hoping to reduce the size of test case, but no time to do that right now. -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils