[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Compilation error of coroutine-win32.c with gcc version
From: |
Roy Tam |
Subject: |
Re: [Qemu-devel] Compilation error of coroutine-win32.c with gcc version 3.4.5 (mingw-vista special r3) |
Date: |
Thu, 18 Aug 2011 11:36:16 +0800 |
2011/8/18 Blue Swirl <address@hidden>:
> On Tue, Aug 16, 2011 at 6:50 PM, Paolo Bonzini <address@hidden> wrote:
>> On 08/16/2011 05:45 AM, Stefan Hajnoczi wrote:
>>>
>>> Roy,
>>> This stack trace does not reveal much.
>>>
>>> Is there any MinGW gcc user that has successfully built and run
>>> qemu.git?
>>
>> I would be surprised if Stefan Weil hasn't.
>
> Builds and runs (under i386 chroot + Wine) here. It worked also in
> Windows the last time I tried (2010).
>
You may try running it in Windows.
>>> Which version/architecture of Windows and which MinGW
>>> version?
>
> Debian:
> $ i586-mingw32msvc-gcc -v
> Using built-in specs.
> Target: i586-mingw32msvc
> Configured with:
> /build/buildd-gcc-mingw32_4.4.4-0.1+b1-amd64-aFhFbL/gcc-mingw32-4.4.4/build-tree/gcc-4.4.4/configure
> --build=x86_64-linux-gnu --prefix=/usr --includedir='/usr/include'
> --mandir='/usr/share/man' --infodir='/usr/share/info'
> --sysconfdir=/etc --localstatedir=/var
> --libexecdir='/usr/lib/gcc-mingw32' --disable-multilib
> --enable-threads --enable-sjlj-exceptions
> --enable-version-specific-runtime-libs --disable-shared
> --target=i586-mingw32msvc --enable-languages=c,c++,fortran :
> (reconfigured)
> /build/buildd-gcc-mingw32_4.4.4-0.1+b1-amd64-aFhFbL/gcc-mingw32-4.4.4/build-tree/gcc-4.4.4/configure
> --build=x86_64-linux-gnu --prefix=/usr --includedir='/usr/include'
> --mandir='/usr/share/man' --infodir='/usr/share/info'
> --sysconfdir=/etc --localstatedir=/var
> --libexecdir='/usr/lib/gcc-mingw32' --disable-multilib
> --enable-threads --enable-sjlj-exceptions
> --enable-version-specific-runtime-libs --disable-shared
> --target=i586-mingw32msvc --enable-languages=c,c++,fortran
> Thread model: win32
> gcc version 4.4.4 (GCC)
>
> Compiled myself:
> $ i686-mingw32msvc-gcc -v
> Using built-in specs.
> COLLECT_GCC=i686-mingw32msvc-gcc
> COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/i686-mingw32msvc/4.6.0/lto-wrapper
> Target: i686-mingw32msvc
> Configured with: ../configure --target=i686-mingw32msvc
> --enable-targets=i686-mingw32msvc --disable-nls --disable-threads
> --enable-languages=c --disable-shared --disable-libssp
> --disable-multilib
> Thread model: single
> gcc version 4.6.0 20100925 (experimental) (GCC)
>
This is mine:
Host OS: Windows XP SP3
configure line: ./configure --target-list="i386-softmmu x86_64-softmmu
mips64el-softmmu" --audio-drv-list=sdl
--audio-card-list=ac97,sb16,adlib --disable-linux-aio
--enable-io-thread --enable-vnc-thread --disable-vnc-jpeg
--disable-vnc-png --disable-kvm
Install prefix c:/Program Files/Qemu
BIOS directory c:/Program Files/Qemu
binary directory c:/Program Files/Qemu
library directory c:/Program Files/Qemu/lib
include directory c:/Program Files/Qemu/include
config directory c:/Program Files/Qemu
Source path /usr/home/User/qemu
C compiler gcc
Host C compiler gcc
CFLAGS -O2 -g
QEMU_CFLAGS -m32 -D__USE_MINGW_ANSI_STDIO=1
-DWIN32_LEAN_AND_MEAN -DWINVER=0x501 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes
-Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes
-fno-strict-aliasing -fstack-protector-all -Wendif-labels
-Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security
-Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration
-Wold-style-definition -Wtype-limits
LDFLAGS -Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase
-Wl,--warn-common -m32 -g
make make
install install
python python
host CPU i386
host big endian no
target list i386-softmmu x86_64-softmmu mips64el-softmmu
tcg debug enabled no
Mon debug enabled no
gprof enabled no
sparse enabled no
strip binaries yes
profiler no
static build no
-Werror enabled no
SDL support yes
curses support no
curl support no
check support no
mingw32 support yes
Audio drivers sdl
Extra audio cards ac97 sb16 adlib
Block whitelist
Mixer emulation no
VNC support yes
VNC TLS support no
VNC SASL support no
VNC JPEG support no
VNC PNG support no
VNC thread yes
xen support no
brlapi support no
bluez support no
Documentation yes
NPTL support no
GUEST_BASE yes
PIE user targets no
vde support no
IO thread yes
Linux AIO support no
ATTR/XATTR support no
Install blobs yes
KVM support no
fdt support no
preadv support no
fdatasync no
madvise no
posix_madvise no
uuid support no
vhost-net support no
Trace backend nop
Trace output file trace-<pid>
spice support no
rbd support no
xfsctl support no
nss used no
usb net redir no
OpenGL support no
build guest agent no
qemu$ gcc -v
Using built-in specs.
COLLECT_GCC=c:\MinGW\bin\gcc.exe
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/i686-pc-mingw32/4.6.1/lto-wrapper.exe
Target: i686-pc-mingw32
Configured with: ../src/configure --prefix=/mingw_new
--build=i686-pc-mingw32 --target=i686-pc-mingw32
--with-sysroot=/mingw_new --with-build-sysroot=/mingw_new
--with-mpfr=/mingw_new/build_libs --with-gmp=/mingw_new/build_libs
--with-ppl=/mingw_new/build_libs --enable-cloog-backend=isl
--with-cloog=/mingw_new/build_libs --with-mpc=/mingw_new/build_libs
--with-host-libstdcxx='-lstdc++ -lsupc++ -lm'
--with-pkgversion='XvidVideo.RU - GCC 4.6.1 i686-pc-mingw32'
--with-system-zlib --enable-static --enable-threads=win32
--enable-languages=c,c++,fortran,lto,objc,obj-c++ --enable-targets=all
--enable-checking=release --enable-fully-dynamic-string
--enable-version-specific-runtime-libs --enable-libgomp
--disable-debug --disable-rpath --disable-shared --disable-nls
--disable-win32-registry --disable-werror --disable-bootstrap
Thread model: win32
gcc version 4.6.1 (XvidVideo.RU - GCC 4.6.1 i686-pc-mingw32)
qemu/i386-softmmu$ gdb --args qemu.exe -L ..\\pc-bios
GNU gdb (GDB) 7.0
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "mingw32".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from C:\msys\home\User\qemu\i386-softmmu/qemu.exe...done.
(gdb) run
Starting program: C:\msys\home\User\qemu\i386-softmmu/qemu.exe -L ..\\pc-bios
[New Thread 4596.0x10f4]
[New Thread 4596.0x278]
[New Thread 4596.0x93c]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 4596.0x93c]
0x77c0554a in msvcrt!_abnormal_termination ()
from C:\WINDOWS\system32\msvcrt.dll
(gdb) backtrace
#0 0x77c0554a in msvcrt!_abnormal_termination ()
from C:\WINDOWS\system32\msvcrt.dll
#1 0x77c09bc6 in strerror () from C:\WINDOWS\system32\msvcrt.dll
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb) thread 1
[Switching to thread 1 (Thread 4596.0x10f4)]#0 0x7c92e514 in
ntdll!LdrAccessResource () from C:\WINDOWS\system32\ntdll.dll
(gdb) backtrace
#0 0x7c92e514 in ntdll!LdrAccessResource ()
from C:\WINDOWS\system32\ntdll.dll
#1 0x7c92df5a in ntdll!ZwWaitForSingleObject ()
from C:\WINDOWS\system32\ntdll.dll
#2 0x7c939b23 in ntdll!RtlpWaitForCriticalSection ()
from C:\WINDOWS\system32\ntdll.dll
#3 0x7c921046 in ntdll!RtlEnumerateGenericTableLikeADirectory ()
from C:\WINDOWS\system32\ntdll.dll
(gdb) thread 2
[Switching to thread 2 (Thread 4596.0x278)]#0 0x7c92e514 in
ntdll!LdrAccessResource () from C:\WINDOWS\system32\ntdll.dll
(gdb) backtrace
#0 0x7c92e514 in ntdll!LdrAccessResource ()
from C:\WINDOWS\system32\ntdll.dll
#1 0x7c92df4a in ntdll!ZwWaitForMultipleObjects ()
from C:\WINDOWS\system32\ntdll.dll
#2 0x76b2aee9 in timeGetTime () from C:\WINDOWS\system32\winmm.dll
#3 0x7c80b729 in KERNEL32!GetModuleFileNameA ()
from C:\WINDOWS\system32\kernel32.dll
#4 0x00000000 in ?? ()
(gdb)
>> I'm trying to get rid of emutls, it is slow anyway and we'll likely want to
>> rely on TLS very liberally in the future. If it fixes the bug, we can
>> backport it to stable too.
>
> I don't know about Win32 TLS support, but at least OpenBSD/sparc64
> gcc/ld/ld.so/libc do not support __thread. According to manual, TLS is
> not available everywhere:
> http://gcc.gnu.org/onlinedocs/gcc-4.6.1/gcc/Thread_002dLocal.html#Thread_002dLocal
>
- [Qemu-devel] Compilation error of coroutine-win32.c with gcc version 3.4.5 (mingw-vista special r3), Roy Tam, 2011/08/07
- Re: [Qemu-devel] Compilation error of coroutine-win32.c with gcc version 3.4.5 (mingw-vista special r3), Stefan Hajnoczi, 2011/08/08
- Re: [Qemu-devel] Compilation error of coroutine-win32.c with gcc version 3.4.5 (mingw-vista special r3), Roy Tam, 2011/08/08
- Re: [Qemu-devel] Compilation error of coroutine-win32.c with gcc version 3.4.5 (mingw-vista special r3), Roy Tam, 2011/08/16
- Re: [Qemu-devel] Compilation error of coroutine-win32.c with gcc version 3.4.5 (mingw-vista special r3), Stefan Hajnoczi, 2011/08/16
- Re: [Qemu-devel] Compilation error of coroutine-win32.c with gcc version 3.4.5 (mingw-vista special r3), Paolo Bonzini, 2011/08/16
- Re: [Qemu-devel] Compilation error of coroutine-win32.c with gcc version 3.4.5 (mingw-vista special r3), Blue Swirl, 2011/08/17
- Re: [Qemu-devel] Compilation error of coroutine-win32.c with gcc version 3.4.5 (mingw-vista special r3), Stefan Hajnoczi, 2011/08/17
- Re: [Qemu-devel] Compilation error of coroutine-win32.c with gcc version 3.4.5 (mingw-vista special r3), Paolo Bonzini, 2011/08/17
- Re: [Qemu-devel] Compilation error of coroutine-win32.c with gcc version 3.4.5 (mingw-vista special r3),
Roy Tam <=
- Re: [Qemu-devel] Compilation error of coroutine-win32.c with gcc version 3.4.5 (mingw-vista special r3), Stefan Weil, 2011/08/20
- Re: [Qemu-devel] Compilation error of coroutine-win32.c with gcc version 3.4.5 (mingw-vista special r3), Roy Tam, 2011/08/23