https://sourceware.org/bugzilla/show_bug.cgi?id=19196
--- Comment #1 from Qian Hong <fracting at gmail dot com> --- 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:000009ff EDX:00273129 ESI:0122f940 EDI:00000000 Stack dump: 0x0122f8d8: 7fb0a000 7fa9339c 00273129 013df649 0x0122f8e8: 000009ff 7fa932d9 7fb0a000 000009ff 0x0122f8f8: 00000001 7fa8c6b3 000009ff 7fb0a000 0x0122f908: 0122f958 7fa8c6b3 00000023 7fb0a000 0x0122f918: 0122f958 0122f940 7fb0a000 0122f990 0x0122f928: 0122f978 7fa9329f 0000002c 00251518 Backtrace: =>0 0xb744af83 (0x0122f928) 1 0x7fa9329f MSVCRT_fwrite+0x3d(ptr=<couldn't compute location>, size=<couldn't compute location>, nmemb=<couldn't compute location>, file=<couldn't compute location>) [/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) (0x00000000) 6 0x00450413 in ld (+0x50412) (0x00000001) 7 0x00454b3d in ld (+0x54b3c) (0x00000000) 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 <fracting at gmail dot com> --- 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:000009ff EDX:00273129 ESI:0122f940 EDI:00000000 Stack dump: 0x0122f8d8: 7fb0a000 7fa9339c 00273129 013df649 0x0122f8e8: 000009ff 7fa932d9 7fb0a000 000009ff 0x0122f8f8: 00000001 7fa8c6b3 000009ff 7fb0a000 0x0122f908: 0122f958 7fa8c6b3 00000023 7fb0a000 0x0122f918: 0122f958 0122f940 7fb0a000 0122f990 0x0122f928: 0122f978 7fa9329f 0000002c 00251518 Backtrace: =>0 0xb744af83 (0x0122f928) 1 0x7fa9329f MSVCRT_fwrite+0x3d(ptr=<couldn't compute location>, size=<couldn't compute location>, nmemb=<couldn't compute location>, file=<couldn't compute location>) [/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) (0x00000000) 6 0x00450413 in ld (+0x50412) (0x00000001) 7 0x00454b3d in ld (+0x54b3c) (0x00000000) 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) -- 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