All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] 64-bit build of qemu-system-arm with mingw-w64 not functional
@ 2015-04-07 21:21 Liviu Ionescu
  2015-04-07 21:30 ` Peter Maydell
  0 siblings, 1 reply; 23+ messages in thread
From: Liviu Ionescu @ 2015-04-07 21:21 UTC (permalink / raw)
  To: qemu-devel

I was too optimistic, my 64-bit Windows build of the ARM emulator is not functional. :-(

I also tested other 64-bit builds of qemu-system-arm made with mingw-w64 and they are also not functional, they generally crash with some nasty DLL errors when emulation is about to start (for example 0xc0000028, which is a stack error).

I tried the following:
- the 64-bit qemu-system-arm that comes with MSYS2 as a binary package, 
- a source build on Arch (Arch because it already has mingw-w64 packages for all needed libs) 
- my source build on Ubuntu 14 LTS, with all libraries built by my script and the result as static.

the result is the same, i.e. starting the program with -version works (so no missing DLLs), but when trying to start emulation, with -kernel test.elf, the program crashes.

for comparison, on the same machine, in the same testing conditions, with the same image, but executed with the 32-bit version of the emulator, everything works just fine.


I could not identify if the problem is within qemu or mingw-w64, but I would not rule out a problem in qemu. I would first suspect a customisation made especially for mingw-w32, which is not appropriate for the 64-bit version of mingw-w64.

unfortunately my testing capabilities on Windows are limited, and cannot go much further.


it would be great if someone could investigate this problem, mingw-w64 seems a promising building tool. as development platform I would recommend Arch for Linux users or MSYS2 for Windows users.


regards,

Liviu

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Qemu-devel] 64-bit build of qemu-system-arm with mingw-w64 not functional
  2015-04-07 21:21 [Qemu-devel] 64-bit build of qemu-system-arm with mingw-w64 not functional Liviu Ionescu
@ 2015-04-07 21:30 ` Peter Maydell
  2015-04-07 21:46   ` Liviu Ionescu
  0 siblings, 1 reply; 23+ messages in thread
From: Peter Maydell @ 2015-04-07 21:30 UTC (permalink / raw)
  To: Liviu Ionescu; +Cc: QEMU Developers

On 7 April 2015 at 22:21, Liviu Ionescu <ilg@livius.net> wrote:
> I could not identify if the problem is within qemu or mingw-w64,
> but I would not rule out a problem in qemu. I would first suspect
> a customisation made especially for mingw-w32, which is not
> appropriate for the 64-bit version of mingw-w64.

I have successfully run QEMU in the past built with the Ubuntu
gcc-mingw-w64 compiler. My guess is that it's more likely
that the runtime is picking up the wrong version of some mingw
runtime DLL (likely the threading related one), or possibly
that you compiled against the wrong threading DLL.

> unfortunately my testing capabilities on Windows are limited, and
> cannot go much further.

> it would be great if someone could investigate this problem,
> mingw-w64 seems a promising building tool. as development platform
> I would recommend Arch for Linux users or MSYS2 for Windows users.

Unfortunately most active QEMU developers care primarily
about Linux (and the few who do have some need for Windows
builds generally have a working toolchain setup, obviously).
If you want to see this fixed you're probably going to need
to investigate it yourself :-(

-- PMM

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Qemu-devel] 64-bit build of qemu-system-arm with mingw-w64 not functional
  2015-04-07 21:30 ` Peter Maydell
@ 2015-04-07 21:46   ` Liviu Ionescu
  2015-04-07 22:30     ` Liviu Ionescu
  2015-04-07 22:36     ` Peter Maydell
  0 siblings, 2 replies; 23+ messages in thread
From: Liviu Ionescu @ 2015-04-07 21:46 UTC (permalink / raw)
  To: Peter Maydell; +Cc: QEMU Developers


> On 08 Apr 2015, at 00:30, Peter Maydell <peter.maydell@linaro.org> wrote:
> 
> On 7 April 2015 at 22:21, Liviu Ionescu <ilg@livius.net> wrote:
>> I could not identify if the problem is within qemu or mingw-w64,
>> but I would not rule out a problem in qemu. I would first suspect
>> a customisation made especially for mingw-w32, which is not
>> appropriate for the 64-bit version of mingw-w64.
> 
> I have successfully run QEMU in the past built with the Ubuntu
> gcc-mingw-w64 compiler.

yes, if you compile the 32-bit version with the mingw-w64, it works.

problems occur only with the 64-bit version.

those interested can easily reproduce the problem, both on MSYS2 and Arch.

if your tests were indeed done with mingw-w64, the 64-bit toolchain, I guess it was an older version of qemu. all my tests were done with the latest git sources (2.2.92).

> My guess is that it's more likely
> that the runtime is picking up the wrong version of some mingw
> runtime DLL (likely the threading related one), or possibly
> that you compiled against the wrong threading DLL.

it's not only about my builds, the one included in MSYS2 has the same problem. those interested can also test it easily.

> ... and the few who do have some need for Windows
> builds generally have a working toolchain setup, obviously).

yes, the 64-bit Windows build prepared by Stefan Weil seems to be done with the old mingw-w32 on Windows, not mingw-w64.

> If you want to see this fixed you're probably going to need
> to investigate it yourself :-(

the chances of succeeding this on my Mac are slim...

regards,

Liviu

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Qemu-devel] 64-bit build of qemu-system-arm with mingw-w64 not functional
  2015-04-07 21:46   ` Liviu Ionescu
@ 2015-04-07 22:30     ` Liviu Ionescu
  2015-04-07 22:36     ` Peter Maydell
  1 sibling, 0 replies; 23+ messages in thread
From: Liviu Ionescu @ 2015-04-07 22:30 UTC (permalink / raw)
  To: Peter Maydell; +Cc: QEMU Developers


> On 08 Apr 2015, at 00:46, Liviu Ionescu <ilg@livius.net> wrote:
> 
> ... the 64-bit Windows build prepared by Stefan Weil seems to be done with the old mingw-w32 on Windows, not mingw-w64.

correction, I'm no longer convinced this is true, the build might be done with mingw-w64, but with a lot of extra options (that I could not find in the doc pages...)

regards,

Liviu

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Qemu-devel] 64-bit build of qemu-system-arm with mingw-w64 not functional
  2015-04-07 21:46   ` Liviu Ionescu
  2015-04-07 22:30     ` Liviu Ionescu
@ 2015-04-07 22:36     ` Peter Maydell
  2015-04-07 22:45       ` Liviu Ionescu
  1 sibling, 1 reply; 23+ messages in thread
From: Peter Maydell @ 2015-04-07 22:36 UTC (permalink / raw)
  To: Liviu Ionescu; +Cc: QEMU Developers

On 7 April 2015 at 22:46, Liviu Ionescu <ilg@livius.net> wrote:
>
>> On 08 Apr 2015, at 00:30, Peter Maydell <peter.maydell@linaro.org> wrote:
>>
>> On 7 April 2015 at 22:21, Liviu Ionescu <ilg@livius.net> wrote:
>>> I could not identify if the problem is within qemu or mingw-w64,
>>> but I would not rule out a problem in qemu. I would first suspect
>>> a customisation made especially for mingw-w32, which is not
>>> appropriate for the 64-bit version of mingw-w64.
>>
>> I have successfully run QEMU in the past built with the Ubuntu
>> gcc-mingw-w64 compiler.
>
> yes, if you compile the 32-bit version with the mingw-w64, it works.
>
> problems occur only with the 64-bit version.

No,  I built an actual 64 bit Windows binary and it worked.

> those interested can easily reproduce the problem, both on MSYS2 and Arch.
>
> if your tests were indeed done with mingw-w64, the 64-bit toolchain,
> I guess it was an older version of qemu. all my tests were done with
> the latest git sources (2.2.92).

It was a while back. So it could possibly be a newly added
issue. Or it could be that my setup and your setup are different.
In particular it would have been somewhere around commit
ff4873cb8c, because that is specifically fixing a bug which
meant that 64-bit Windows builds didn't work, and once that
was fixed they did work. You could see if that commit works
for you, and if it does then bisect.

-- PMM

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Qemu-devel] 64-bit build of qemu-system-arm with mingw-w64 not functional
  2015-04-07 22:36     ` Peter Maydell
@ 2015-04-07 22:45       ` Liviu Ionescu
  2015-04-07 23:10         ` Peter Maydell
  2015-04-08  6:20         ` Stefan Weil
  0 siblings, 2 replies; 23+ messages in thread
From: Liviu Ionescu @ 2015-04-07 22:45 UTC (permalink / raw)
  To: Peter Maydell; +Cc: QEMU Developers


> On 08 Apr 2015, at 01:36, Peter Maydell <peter.maydell@linaro.org> wrote:
> 
> No,  I built an actual 64 bit Windows binary and it worked.

ok, then it must be only a matter of configure, which does not detect running on mingw-w64 to set the required options (perhaps like -mthreads  -D_POSIX=1), and I need to set them manually.

I'll look at Stephen Weil's options and try again.

> ... somewhere around commit
> ff4873cb8c,

ok, thank you, I'll check it.


regards,

Liviu

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Qemu-devel] 64-bit build of qemu-system-arm with mingw-w64 not functional
  2015-04-07 22:45       ` Liviu Ionescu
@ 2015-04-07 23:10         ` Peter Maydell
  2015-04-08 14:13           ` Liviu Ionescu
  2015-04-08  6:20         ` Stefan Weil
  1 sibling, 1 reply; 23+ messages in thread
From: Peter Maydell @ 2015-04-07 23:10 UTC (permalink / raw)
  To: Liviu Ionescu; +Cc: QEMU Developers

On 7 April 2015 at 23:45, Liviu Ionescu <ilg@livius.net> wrote:
>> On 08 Apr 2015, at 01:36, Peter Maydell <peter.maydell@linaro.org> wrote:
>>
>> No,  I built an actual 64 bit Windows binary and it worked.
>
> ok, then it must be only a matter of configure, which does not
> detect running on mingw-w64 to set the required options
> (perhaps like -mthreads  -D_POSIX=1), and I need to set them
> manually.

I didn't need to set any odd configure options. I dug out my
notes on my setup at the time. There's stuff here about setting
up the 32-bit toolchain as well as the 64-bit one which I haven't
bothered to edit out; ignore the bits you don't care about.
I haven't checked if all the zipfile links are still valid;
but at the time (about June last year) this was a reproducible
recipe that other people were able to use to build working
w64 binaries.

My top two guesses for your situation would be:
(1) did you install the right libpthreads compile
time package on the build host, and copy its runtime
dlls across to the windows box?
(2) did you make sure that if the windows box had
any mingw install on it already that those directories
were removed from the %PATH% to ensure that Windows didn't
try to load bogus DLLs from them?

Notes below:

===begin===
My build machine was Ubuntu Raring. The Windows machine
I tested on ran Windows 7.

You need the following packages on your build host:
binutils-mingw-w64
gcc-mingw-w64
libpthreads-mingw-w64
mingw-w64-i686-dev
mingw-w64-x86-64-dev

(in addition to all the usual things you'd need for native QEMU builds).

These install cross tools from the 'mingw-w64' project for i686 and
x86-64 targets. Don't get confused and install any 'mingw32' tools:
that is a separate project, and at least in Ubuntu the compiler is
very old and doesn't support thread local storage, so trying to use
it results in a QEMU that crashes at startup.

You'll also need to get hold of the glib dev packages from
http://www.gtk.org/download/win32.php
http://www.gtk.org/download/win64.php

(the ones in the 'gtk+ 3.x' section of the page)

Specifically for win32 you need
http://win32builder.gnome.org/packages/3.6/gettext-dev_0.18.2.1-1_win32.zip
http://win32builder.gnome.org/packages/3.6/libpng-dev_1.5.14-1_win32.zip
http://win32builder.gnome.org/packages/3.6/zlib-dev_1.2.7-1_win32.zip
http://win32builder.gnome.org/packages/3.6/glib-dev_2.34.3-1_win32.zip
http://win32builder.gnome.org/packages/3.6/pixman-dev_0.26.0-1_win32.zip

and for win64 you need:
http://win32builder.gnome.org/packages/3.6/gettext-dev_0.18.2.1-1_win64.zip
http://win32builder.gnome.org/packages/3.6/libpng-dev_1.5.14-1_win64.zip
http://win32builder.gnome.org/packages/3.6/zlib-dev_1.2.7-1_win64.zip
http://win32builder.gnome.org/packages/3.6/glib-dev_2.34.3-1_win64.zip
http://win32builder.gnome.org/packages/3.6/pixman-dev_0.26.0-1_win64.zip

Create directories ~/my-mingw and ~/my-mingw64, and extract
the zipfiles into them (so you should end up with a ~/my-mingw/lib,
and a ~/my-mingw64/lib, and some other dirs).

Create the pkg-config scripts for the two toolchains:

/usr/local/bin/i686-w64-mingw32-pkg-config
===begin===
#!/bin/sh
prefix=/full/path/to/my-mingw
PKG_CONFIG_LIBDIR=$prefix/lib/pkgconfig
export PKG_CONFIG_LIBDIR
exec pkg-config --define-variable=prefix=$prefix $@
===endit===

/usr/local/bin/x86_64-w64-mingw32-pkg-config
===begin===
#!/bin/sh
prefix=/full/path/to/my-mingw64
PKG_CONFIG_LIBDIR=$prefix/lib/pkgconfig
export PKG_CONFIG_LIBDIR
exec pkg-config --define-variable=prefix=$prefix $@
===endit===

Adjust the prefix= setting appropriately in each case.

Now you can do a build. Adjust the paths to the mingw and mingw64
directories to suit.

mkdir build/w32-arm
(cd build/w32-arm && ../../configure --cross-prefix=i686-w64-mingw32-
'--extra-cflags=-I/path/to/my-mingw/include'
'--extra-ldflags=-L/path/to/my-mingw/lib'
'--target-list=aarch64-softmmu,arm-softmmu') && make -C build/w32-arm -j4

mkdir build/w64-arm
(cd build/w64-arm && ../../configure
--cross-prefix=x86_64-w64-mingw32-
'--extra-cflags=-I/path/to/my-mingw64/include'
'--extra-ldflags=-L/path/to/my-mingw64/lib'
'--target-list=aarch64-softmmu,arm-softmmu') && make -C build/w64-arm -j4

That should give you .exe files in the usual places:

build/w32-arm/aarch64-softmmu/qemu-system-aarch64.exe
build/w64-arm/aarch64-softmmu/qemu-system-aarch64.exe

Next up we need to copy those over to a Windows box, together with
all the DLLs needed at runtime. Create directories on the Windows
box, say winqemu\ and w64qemu\, and copy the corresponding exes into them.

Copy across from the source tree the pc-bios/keymaps/ tree, so that
it ends up as winqemu\keymaps\ and w64qemu\keymaps\.

1. MinGW runtime DLLs:
For winqemu:
/usr/lib/gcc/i686-w64-mingw32/4.6/*.dll
/usr/i686-w64-mingw32/lib/*.dll
For w64qemu:
/usr/lib/gcc/x86_64-w64-mingw32/4.6/*.dll
/usr/x86_64-w64-mingw32/lib/*.dll

2. glib etc runtime DLLs:
Grab the 'runtime' zip files corresponding to the dev packages above.
You also need the libiconv runtime:
http://win32builder.gnome.org/packages/3.6/glib_2.34.3-1_win64.zip
http://win32builder.gnome.org/packages/3.6/zlib_1.2.7-1_win64.zip
http://win32builder.gnome.org/packages/3.6/pixman_0.26.0-1_win64.zip
http://win32builder.gnome.org/packages/3.6/libpng_1.5.14-1_win64.zip
http://win32builder.gnome.org/packages/3.6/gettext_0.18.2.1-1_win64.zip
http://win32builder.gnome.org/packages/3.6/libiconv_1.13.1-1_win64.zip

Note that these zipfiles tend to have a bunch of runtime files and
a variety of directory structures inside them. All you want is to grab
all the .dll files and extract those to the top level winqemu\ or
w64qemu\ directories.

Similarly for win32.

If you happen to have a local mingw installation it's probably a good
idea to make sure it is *not* on your PATH, otherwise Windows will try
to fish DLLs out of there.
===endit===

-- PMM

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Qemu-devel] 64-bit build of qemu-system-arm with mingw-w64 not functional
  2015-04-07 22:45       ` Liviu Ionescu
  2015-04-07 23:10         ` Peter Maydell
@ 2015-04-08  6:20         ` Stefan Weil
  2015-04-08  6:38           ` Liviu Ionescu
                             ` (2 more replies)
  1 sibling, 3 replies; 23+ messages in thread
From: Stefan Weil @ 2015-04-08  6:20 UTC (permalink / raw)
  To: Liviu Ionescu; +Cc: Peter Maydell, QEMU Developers

Am 08.04.2015 um 00:45 schrieb Liviu Ionescu:
>> On 08 Apr 2015, at 01:36, Peter Maydell <peter.maydell@linaro.org> wrote:
>>
>> No,  I built an actual 64 bit Windows binary and it worked.
> ok, then it must be only a matter of configure, which does not detect running on mingw-w64 to set the required options (perhaps like -mthreads  -D_POSIX=1), and I need to set them manually.
>
> I'll look at Stephen Weil's options and try again.

Here they are:

../../../configure --cross-prefix=x86_64-w64-mingw32- 
--enable-trace-backend=stderr 
--extra-cflags=-Wno-missing-format-attribute && make

So you can see that I build in a subdirectory, enable a trace backend 
(no special reason
for that, just to cover more code during the build) and suppress a 
compiler warning.

And yes, I use mingw-w64.Here is my package list (from Debian Jessie):

ii  binutils-mingw-w64-i686 2.22-8+deb7u2+2+deb7u1        amd64        
Cross-binutils for Win32 (x86) using MinGW-w64
ii  binutils-mingw-w64-x86-64 2.22-8+deb7u2+2+deb7u1        amd64        
Cross-binutils for Win64 (x64) using MinGW-w64
ii  g++-mingw-w64 4.6.3-14+8                    all          GNU C++ 
compiler for MinGW-w64
ii  g++-mingw-w64-i686 4.6.3-14+8                    amd64        GNU 
C++ compiler for MinGW-w64 targeting Win32
ii  g++-mingw-w64-x86-64 4.6.3-14+8                    amd64        GNU 
C++ compiler for MinGW-w64 targeting Win64
ii  gcc-mingw-w64 4.6.3-14+8                    all          GNU C 
compiler for MinGW-w64
ii  gcc-mingw-w64-base 4.6.3-14+8                    amd64        GNU 
Compiler Collection for MinGW-w64 (base package)
ii  gcc-mingw-w64-i686 4.6.3-14+8                    amd64        GNU C 
compiler for MinGW-w64 targeting Win32
ii  gcc-mingw-w64-x86-64 4.6.3-14+8                    amd64        GNU 
C compiler for MinGW-w64 targeting Win64
ii  gdb-mingw-w64 7.4.1-1.1+5                   amd64        
Cross-debugger for Win32 and Win64 using MinGW-w64
ii  gdb-mingw-w64-target 7.4.1-1.1+5                   all          
Cross-debugger server for Win32 and Win64 using MinGW-w64
ii  gtk-mingw-w64-x86-64 3.6.4-20131201-2              all          
Converted tgz package
ii  gtk2.0-mingw-w64-i686 2.24.10-20120208-2            all          
Converted tgz package
ii  libfdt-mingw-w64-i686 1.4.0-2                       all          
Converted tgz package
ii  libfdt-mingw-w64-x86-64 1.4.0-2                       all          
Converted tgz package
ii  libpthreads-mingw-w64 2.9.1+dfsg-1                  all          
POSIX threads library for 32- and 64-bit Windows
ii  mingw-w64 2.0.3-1                       all          Development 
environment targetting 32- and 64-bit Windows
ii  mingw-w64-i686-dev 2.0.3-1                       all          
Development files for MinGW-w64 targeting Win32
ii  mingw-w64-tools 2.0.3-1                       amd64        
Development tools for 32- and 64-bit Windows
ii  mingw-w64-x86-64-dev 2.0.3-1                       all          
Development files for MinGW-w64 targeting Win64

The last time when I had to debug a crash on Windows, I used gdb to find 
the reason.

Regards
Stefan

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Qemu-devel] 64-bit build of qemu-system-arm with mingw-w64 not functional
  2015-04-08  6:20         ` Stefan Weil
@ 2015-04-08  6:38           ` Liviu Ionescu
  2015-04-08 12:51           ` Liviu Ionescu
  2015-04-08 20:27           ` Liviu Ionescu
  2 siblings, 0 replies; 23+ messages in thread
From: Liviu Ionescu @ 2015-04-08  6:38 UTC (permalink / raw)
  To: Stefan Weil; +Cc: Peter Maydell, QEMU Developers


> On 08 Apr 2015, at 09:20, Stefan Weil <sw@weilnetz.de> wrote:
> 
> ../../../configure --cross-prefix=x86_64-w64-mingw32- --enable-trace-backend=stderr --extra-cflags=-Wno-missing-format-attribute && make
> 
> ... mingw-w64.Here is my package list (from Debian Jessie):

ok

I'm just installing a new Win 8 virtual machine to be sure I do not mess any dlls and try again.

> The last time when I had to debug a crash on Windows, I used gdb to find the reason.

you mean you copied the mingw...-gdb.exe to windows and alone it was enough to debug? good to know it works.


thank you,

Liviu

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Qemu-devel] 64-bit build of qemu-system-arm with mingw-w64 not functional
  2015-04-08  6:20         ` Stefan Weil
  2015-04-08  6:38           ` Liviu Ionescu
@ 2015-04-08 12:51           ` Liviu Ionescu
  2015-04-08 20:27           ` Liviu Ionescu
  2 siblings, 0 replies; 23+ messages in thread
From: Liviu Ionescu @ 2015-04-08 12:51 UTC (permalink / raw)
  To: Stefan Weil; +Cc: Peter Maydell, QEMU Developers


> On 08 Apr 2015, at 09:20, Stefan Weil <sw@weilnetz.de> wrote:
> 
> ... Here is my package list (from Debian Jessie):
> 
> ii  binutils-mingw-w64-i686 2.22-8+deb7u2+2+deb7u1        amd64        Cross-binutils for Win32 (x86) using MinGW-w64
> ii  binutils-mingw-w64-x86-64 2.22-8+deb7u2+2+deb7u1        amd64        Cross-binutils for Win64 (x64) using MinGW-w64
> ii  g++-mingw-w64 4.6.3-14+8                    all          GNU C++ compiler for MinGW-w64
> ii  g++-mingw-w64-i686 4.6.3-14+8                    amd64        GNU C++ compiler for MinGW-w64 targeting Win32
> ii  g++-mingw-w64-x86-64 4.6.3-14+8                    amd64        GNU C++ compiler for MinGW-w64 targeting Win64
> ii  gcc-mingw-w64 4.6.3-14+8                    all          GNU C compiler for MinGW-w64
> ii  gcc-mingw-w64-base 4.6.3-14+8                    amd64        GNU Compiler Collection for MinGW-w64 (base package)
> ii  gcc-mingw-w64-i686 4.6.3-14+8                    amd64        GNU C compiler for MinGW-w64 targeting Win32
> ii  gcc-mingw-w64-x86-64 4.6.3-14+8                    amd64        GNU C compiler for MinGW-w64 targeting Win64
> ii  gdb-mingw-w64 7.4.1-1.1+5                   amd64        Cross-debugger for Win32 and Win64 using MinGW-w64
> ii  gdb-mingw-w64-target 7.4.1-1.1+5                   all          Cross-debugger server for Win32 and Win64 using MinGW-w64
> ii  gtk-mingw-w64-x86-64 3.6.4-20131201-2              all          Converted tgz package
> ii  gtk2.0-mingw-w64-i686 2.24.10-20120208-2            all          Converted tgz package
> ii  libfdt-mingw-w64-i686 1.4.0-2                       all          Converted tgz package
> ii  libfdt-mingw-w64-x86-64 1.4.0-2                       all          Converted tgz package
> ii  libpthreads-mingw-w64 2.9.1+dfsg-1                  all          POSIX threads library for 32- and 64-bit Windows
> ii  mingw-w64 2.0.3-1                       all          Development environment targetting 32- and 64-bit Windows
> ii  mingw-w64-i686-dev 2.0.3-1                       all          Development files for MinGW-w64 targeting Win32
> ii  mingw-w64-tools 2.0.3-1                       amd64        Development tools for 32- and 64-bit Windows
> ii  mingw-w64-x86-64-dev 2.0.3-1                       all          Development files for MinGW-w64 targeting Win64


Hallo Stefan, 

I'm trying to reproduce your build environment, but I'm only partly successful.

I got a fresh Debian 8 (in a virtual environment, but this should not matter):

  docker run --interactive --tty --name "deb8x64_mingw-w64" debian:8 /bin/bash

then, as usually recommended, I updated and upgraded it:

  apt-get -y update
  apt-get -y upgrade
  apt-get -y install lsb-release

after this, I have a confirmation that I have the expected version:

# lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 8.0 (jessie)
Release:	8.0
Codename:	jessie

so far, so good.

then I took your list of packages and first installed the following mingw-w64 packages:

# apt-get -y install \
binutils-mingw-w64-i686 \
binutils-mingw-w64-x86-64 \
g++-mingw-w64 \
g++-mingw-w64-i686 \
g++-mingw-w64-x86-64 \
gcc-mingw-w64 \
gcc-mingw-w64-base \
gcc-mingw-w64-i686 \
gcc-mingw-w64-x86-64 \
gdb-mingw-w64 \
gdb-mingw-w64-target \
mingw-w64 \
mingw-w64-i686-dev \
mingw-w64-tools \
mingw-w64-x86-64-dev \

the result is:

# dpkg -l | grep mingw
ii  binutils-mingw-w64-i686    2.25-5+5.2               amd64        Cross-binutils for Win32 (x86) using MinGW-w64
ii  binutils-mingw-w64-x86-64  2.25-5+5.2               amd64        Cross-binutils for Win64 (x64) using MinGW-w64
ii  g++-mingw-w64              4.9.1-19+14.3            all          GNU C++ compiler for MinGW-w64
ii  g++-mingw-w64-i686         4.9.1-19+14.3            amd64        GNU C++ compiler for MinGW-w64 targeting Win32
ii  g++-mingw-w64-x86-64       4.9.1-19+14.3            amd64        GNU C++ compiler for MinGW-w64 targeting Win64
ii  gcc-mingw-w64              4.9.1-19+14.3            all          GNU C compiler for MinGW-w64
ii  gcc-mingw-w64-base         4.9.1-19+14.3            amd64        GNU Compiler Collection for MinGW-w64 (base package)
ii  gcc-mingw-w64-i686         4.9.1-19+14.3            amd64        GNU C compiler for MinGW-w64 targeting Win32
ii  gcc-mingw-w64-x86-64       4.9.1-19+14.3            amd64        GNU C compiler for MinGW-w64 targeting Win64
ii  gdb-mingw-w64              7.6.2-1.1+9              amd64        Cross-debugger for Win32 and Win64 using MinGW-w64
ii  gdb-mingw-w64-target       7.6.2-1.1+9              all          Cross-debugger server for Win32 and Win64 using MinGW-w64
ii  gfortran-mingw-w64         4.9.1-19+14.3            all          GNU Fortran compiler for MinGW-w64
ii  gfortran-mingw-w64-i686    4.9.1-19+14.3            amd64        GNU Fortran compiler for MinGW-w64 targeting Win32
ii  gfortran-mingw-w64-x86-64  4.9.1-19+14.3            amd64        GNU Fortran compiler for MinGW-w64 targeting Win64
ii  gnat-mingw-w64             4.9.1-3+14               all          GNU Ada compiler for MinGW-w64
ii  gnat-mingw-w64-base        4.9.1-3+14               amd64        GNU Ada compiler for MinGW-w64 (base package)
ii  gnat-mingw-w64-i686        4.9.1-3+14               amd64        GNU Ada compiler for MinGW-w64 targeting Win32
ii  gnat-mingw-w64-x86-64      4.9.1-3+14               amd64        GNU Ada compiler for MinGW-w64 targeting Win64
ii  mingw-w64                  3.2.0-2                  all          Development environment targeting 32- and 64-bit Windows
ii  mingw-w64-common           3.2.0-2                  all          Common files for Mingw-w64
ii  mingw-w64-i686-dev         3.2.0-2                  all          Development files for MinGW-w64 targeting Win32
ii  mingw-w64-tools            3.2.0-2                  amd64        Development tools for 32- and 64-bit Windows
ii  mingw-w64-x86-64-dev       3.2.0-2                  all          Development files for MinGW-w64 targeting Win64


there are slightly more packages than you have, and some are newer, probably because I did the upgrade, but I hope this will not be a problem.


however, trying to bring the rest of the packages, with the libraries, failed:

# apt-get -y install \
> libpthreads-mingw-w64 \
> gtk-mingw-w64-x86-64 \
> gtk2.0-mingw-w64-i686 \
> libfdt-mingw-w64-i686 \
> libfdt-mingw-w64-x86-64 \
> 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package libpthreads-mingw-w64 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  mingw-w64-x86-64-dev mingw-w64-i686-dev

E: Package 'libpthreads-mingw-w64' has no installation candidate
E: Unable to locate package gtk-mingw-w64-x86-64
E: Unable to locate package gtk2.0-mingw-w64-i686
E: Couldn't find any package by regex 'gtk2.0-mingw-w64-i686'
E: Unable to locate package libfdt-mingw-w64-i686
E: Unable to locate package libfdt-mingw-w64-x86-64


can you be more specific how did you install those packages?

my first goal is to reproduce your build environment, and only then proceed with the builds. 

a secondary goal is to also have a clean, documented and reproducible procedure to create a Docker image that can be used for qemu builds (Docker is a great tool for such automated builds).


regards,

Liviu

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Qemu-devel] 64-bit build of qemu-system-arm with mingw-w64 not functional
  2015-04-07 23:10         ` Peter Maydell
@ 2015-04-08 14:13           ` Liviu Ionescu
  2015-04-08 14:39             ` Peter Maydell
  0 siblings, 1 reply; 23+ messages in thread
From: Liviu Ionescu @ 2015-04-08 14:13 UTC (permalink / raw)
  To: Peter Maydell; +Cc: QEMU Developers


> On 08 Apr 2015, at 02:10, Peter Maydell <peter.maydell@linaro.org> wrote:
> 
> ... I dug out my
> notes on my setup at the time. ...
> but at the time (about June last year) this was a reproducible
> recipe that other people were able to use to build working
> w64 binaries.

thank you, Peter, I'll first try to reproduce Stephen's environment, and then the build.

regards,

Liviu


p.s. I'm always amazed when for exact tasks, like complex builds, people prefer narrative recipes instead of ready to run scripts... 

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Qemu-devel] 64-bit build of qemu-system-arm with mingw-w64 not functional
  2015-04-08 14:13           ` Liviu Ionescu
@ 2015-04-08 14:39             ` Peter Maydell
  0 siblings, 0 replies; 23+ messages in thread
From: Peter Maydell @ 2015-04-08 14:39 UTC (permalink / raw)
  To: Liviu Ionescu; +Cc: QEMU Developers

On 8 April 2015 at 15:13, Liviu Ionescu <ilg@livius.net> wrote:
> p.s. I'm always amazed when for exact tasks, like complex
> builds, people prefer narrative recipes instead of ready
> to run scripts...

I agree generally, though this one is tedious because it
involves several different machines. The reason it ended
up as a narrative is because it's a one-time setup task
that required a bunch of exploration and trials to get
to something that worked. At that point it's in a state
which is "works for me" and it's less effort for me just
to cut-and-paste the notes I made in the exploration
process than to go back and write a script. If I ever
need to do the setup again myself, then I'll probably
script it in the course of doing that second run-through.
But so far I haven't needed to (and it's been nearly a year).

-- PMM

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Qemu-devel] 64-bit build of qemu-system-arm with mingw-w64 not functional
  2015-04-08  6:20         ` Stefan Weil
  2015-04-08  6:38           ` Liviu Ionescu
  2015-04-08 12:51           ` Liviu Ionescu
@ 2015-04-08 20:27           ` Liviu Ionescu
  2015-04-09  5:12             ` Stefan Weil
  2 siblings, 1 reply; 23+ messages in thread
From: Liviu Ionescu @ 2015-04-08 20:27 UTC (permalink / raw)
  To: Stefan Weil; +Cc: Peter Maydell, QEMU Developers


> On 08 Apr 2015, at 09:20, Stefan Weil <sw@weilnetz.de> wrote:
> 
> Here is my package list (from Debian Jessie):
> 
> ii  binutils-mingw-w64-i686 2.22-8+deb7u2+2+deb7u1        amd64        Cross-binutils for Win32 (x86) using MinGW-w64
> ii  binutils-mingw-w64-x86-64 2.22-8+deb7u2+2+deb7u1        amd64        Cross-binutils for Win64 (x64) using MinGW-w64
> ii  g++-mingw-w64 4.6.3-14+8                    all          GNU C++ compiler for MinGW-w64
> ii  g++-mingw-w64-i686 4.6.3-14+8                    amd64        GNU C++ compiler for MinGW-w64 targeting Win32
> ii  g++-mingw-w64-x86-64 4.6.3-14+8                    amd64        GNU C++ compiler for MinGW-w64 targeting Win64
> ii  gcc-mingw-w64 4.6.3-14+8                    all          GNU C compiler for MinGW-w64
> ii  gcc-mingw-w64-base 4.6.3-14+8                    amd64        GNU Compiler Collection for MinGW-w64 (base package)
> ii  gcc-mingw-w64-i686 4.6.3-14+8                    amd64        GNU C compiler for MinGW-w64 targeting Win32
> ii  gcc-mingw-w64-x86-64 4.6.3-14+8                    amd64        GNU C compiler for MinGW-w64 targeting Win64
> ii  gdb-mingw-w64 7.4.1-1.1+5                   amd64        Cross-debugger for Win32 and Win64 using MinGW-w64
> ii  gdb-mingw-w64-target 7.4.1-1.1+5                   all          Cross-debugger server for Win32 and Win64 using MinGW-w64
> ii  gtk-mingw-w64-x86-64 3.6.4-20131201-2              all          Converted tgz package
> ii  gtk2.0-mingw-w64-i686 2.24.10-20120208-2            all          Converted tgz package
> ii  libfdt-mingw-w64-i686 1.4.0-2                       all          Converted tgz package
> ii  libfdt-mingw-w64-x86-64 1.4.0-2                       all          Converted tgz package
> ii  libpthreads-mingw-w64 2.9.1+dfsg-1                  all          POSIX threads library for 32- and 64-bit Windows
> ii  mingw-w64 2.0.3-1                       all          Development environment targetting 32- and 64-bit Windows
> ii  mingw-w64-i686-dev 2.0.3-1                       all          Development files for MinGW-w64 targeting Win32
> ii  mingw-w64-tools 2.0.3-1                       amd64        Development tools for 32- and 64-bit Windows
> ii  mingw-w64-x86-64-dev 2.0.3-1                       all          Development files for MinGW-w64 targeting Win64
> 

Stefan,

I'm afraid there is a small misunderstanding here, I checked and even without upgrading the packages, the Debian 8 (Jessie) does not include the packages you are referring above, the actual versions I identified are:

# dpkg -l | grep mingw
ii  binutils-mingw-w64-i686    2.25-5+5.2               amd64        Cross-binutils for Win32 (x86) using MinGW-w64
ii  binutils-mingw-w64-x86-64  2.25-5+5.2               amd64        Cross-binutils for Win64 (x64) using MinGW-w64
ii  g++-mingw-w64              4.9.1-19+14.3            all          GNU C++ compiler for MinGW-w64
ii  g++-mingw-w64-i686         4.9.1-19+14.3            amd64        GNU C++ compiler for MinGW-w64 targeting Win32
ii  g++-mingw-w64-x86-64       4.9.1-19+14.3            amd64        GNU C++ compiler for MinGW-w64 targeting Win64
ii  gcc-mingw-w64              4.9.1-19+14.3            all          GNU C compiler for MinGW-w64
ii  gcc-mingw-w64-base         4.9.1-19+14.3            amd64        GNU Compiler Collection for MinGW-w64 (base package)
ii  gcc-mingw-w64-i686         4.9.1-19+14.3            amd64        GNU C compiler for MinGW-w64 targeting Win32
ii  gcc-mingw-w64-x86-64       4.9.1-19+14.3            amd64        GNU C compiler for MinGW-w64 targeting Win64
ii  gdb-mingw-w64              7.6.2-1.1+9              amd64        Cross-debugger for Win32 and Win64 using MinGW-w64
ii  gdb-mingw-w64-target       7.6.2-1.1+9              all          Cross-debugger server for Win32 and Win64 using MinGW-w64
ii  gfortran-mingw-w64         4.9.1-19+14.3            all          GNU Fortran compiler for MinGW-w64
ii  gfortran-mingw-w64-i686    4.9.1-19+14.3            amd64        GNU Fortran compiler for MinGW-w64 targeting Win32
ii  gfortran-mingw-w64-x86-64  4.9.1-19+14.3            amd64        GNU Fortran compiler for MinGW-w64 targeting Win64
ii  gnat-mingw-w64             4.9.1-3+14               all          GNU Ada compiler for MinGW-w64
ii  gnat-mingw-w64-base        4.9.1-3+14               amd64        GNU Ada compiler for MinGW-w64 (base package)
ii  gnat-mingw-w64-i686        4.9.1-3+14               amd64        GNU Ada compiler for MinGW-w64 targeting Win32
ii  gnat-mingw-w64-x86-64      4.9.1-3+14               amd64        GNU Ada compiler for MinGW-w64 targeting Win64
ii  mingw-w64                  3.2.0-2                  all          Development environment targeting 32- and 64-bit Windows
ii  mingw-w64-common           3.2.0-2                  all          Common files for Mingw-w64
ii  mingw-w64-i686-dev         3.2.0-2                  all          Development files for MinGW-w64 targeting Win32
ii  mingw-w64-tools            3.2.0-2                  amd64        Development tools for 32- and 64-bit Windows
ii  mingw-w64-x86-64-dev       3.2.0-2                  all          Development files for MinGW-w64 targeting Win64


the differences are major, mingw-w64 was upgraded from 2.0.3 to 3.2.0, the compiler from 4.6.3 to 4.9.1, and so on.

what are the recommended versions to correctly build qemu?

and the question from the previous message is still open, how did you install the following packages? the comment "Converted tgz package" is a good sign these are custom packages.

ii  gtk-mingw-w64-x86-64 3.6.4-20131201-2              all          Converted tgz package
ii  gtk2.0-mingw-w64-i686 2.24.10-20120208-2            all          Converted tgz package
ii  libfdt-mingw-w64-i686 1.4.0-2                       all          Converted tgz package
ii  libfdt-mingw-w64-x86-64 1.4.0-2                       all          Converted tgz package
ii  libpthreads-mingw-w64 2.9.1+dfsg-1                  all          POSIX threads library for 32- and 64-bit Windows


regards,

Liviu

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Qemu-devel] 64-bit build of qemu-system-arm with mingw-w64 not functional
  2015-04-08 20:27           ` Liviu Ionescu
@ 2015-04-09  5:12             ` Stefan Weil
  2015-04-09  7:40               ` Liviu Ionescu
  0 siblings, 1 reply; 23+ messages in thread
From: Stefan Weil @ 2015-04-09  5:12 UTC (permalink / raw)
  To: Liviu Ionescu; +Cc: Peter Maydell, QEMU Developers

Am 08.04.2015 um 22:27 schrieb Liviu Ionescu:
>> On 08 Apr 2015, at 09:20, Stefan Weil <sw@weilnetz.de> wrote:
>>
>> Here is my package list (from Debian Jessie):
>>
>> ii  binutils-mingw-w64-i686 2.22-8+deb7u2+2+deb7u1        amd64        Cross-binutils for Win32 (x86) using MinGW-w64
>> ii  binutils-mingw-w64-x86-64 2.22-8+deb7u2+2+deb7u1        amd64        Cross-binutils for Win64 (x64) using MinGW-w64
>> ii  g++-mingw-w64 4.6.3-14+8                    all          GNU C++ compiler for MinGW-w64
>> ii  g++-mingw-w64-i686 4.6.3-14+8                    amd64        GNU C++ compiler for MinGW-w64 targeting Win32
>> ii  g++-mingw-w64-x86-64 4.6.3-14+8                    amd64        GNU C++ compiler for MinGW-w64 targeting Win64
>> ii  gcc-mingw-w64 4.6.3-14+8                    all          GNU C compiler for MinGW-w64
>> ii  gcc-mingw-w64-base 4.6.3-14+8                    amd64        GNU Compiler Collection for MinGW-w64 (base package)
>> ii  gcc-mingw-w64-i686 4.6.3-14+8                    amd64        GNU C compiler for MinGW-w64 targeting Win32
>> ii  gcc-mingw-w64-x86-64 4.6.3-14+8                    amd64        GNU C compiler for MinGW-w64 targeting Win64
>> ii  gdb-mingw-w64 7.4.1-1.1+5                   amd64        Cross-debugger for Win32 and Win64 using MinGW-w64
>> ii  gdb-mingw-w64-target 7.4.1-1.1+5                   all          Cross-debugger server for Win32 and Win64 using MinGW-w64
>> ii  gtk-mingw-w64-x86-64 3.6.4-20131201-2              all          Converted tgz package
>> ii  gtk2.0-mingw-w64-i686 2.24.10-20120208-2            all          Converted tgz package
>> ii  libfdt-mingw-w64-i686 1.4.0-2                       all          Converted tgz package
>> ii  libfdt-mingw-w64-x86-64 1.4.0-2                       all          Converted tgz package
>> ii  libpthreads-mingw-w64 2.9.1+dfsg-1                  all          POSIX threads library for 32- and 64-bit Windows
>> ii  mingw-w64 2.0.3-1                       all          Development environment targetting 32- and 64-bit Windows
>> ii  mingw-w64-i686-dev 2.0.3-1                       all          Development files for MinGW-w64 targeting Win32
>> ii  mingw-w64-tools 2.0.3-1                       amd64        Development tools for 32- and 64-bit Windows
>> ii  mingw-w64-x86-64-dev 2.0.3-1                       all          Development files for MinGW-w64 targeting Win64
>>
> Stefan,
>
> I'm afraid there is a small misunderstanding here, I checked and even without upgrading the packages, the Debian 8 (Jessie) does not include the packages you are referring above, the actual versions I identified are:

You are right, I was wrong: my production server qemu.weilnetz.de uses 
Wheezy,
not Jessie, so my list was for Wheezy.

Here is the list for my Jessie system:

ii  binutils-mingw-w64-i686 2.25-5+5.2                          
amd64        Cross-binutils for Win32 (x86) using MinGW-w64
ii  binutils-mingw-w64-x86-64 2.25-5+5.2                          
amd64        Cross-binutils for Win64 (x64) using MinGW-w64
ii  g++-mingw-w64 4.9.1-19+14.3                       all          GNU 
C++ compiler for MinGW-w64
ii  g++-mingw-w64-i686 4.9.1-19+14.3                       amd64        
GNU C++ compiler for MinGW-w64 targeting Win32
ii  g++-mingw-w64-x86-64 4.9.1-19+14.3                       
amd64        GNU C++ compiler for MinGW-w64 targeting Win64
ii  gcc-mingw-w64 4.9.1-19+14.3                       all          GNU C 
compiler for MinGW-w64
ii  gcc-mingw-w64-base 4.9.1-19+14.3                       amd64        
GNU Compiler Collection for MinGW-w64 (base package)
ii  gcc-mingw-w64-i686 4.9.1-19+14.3                       amd64        
GNU C compiler for MinGW-w64 targeting Win32
ii  gcc-mingw-w64-x86-64 4.9.1-19+14.3                       
amd64        GNU C compiler for MinGW-w64 targeting Win64
ii  gtk-mingw-w64-x86-64 3.6.4-20131201-2                    
all          Converted tgz package
ii  gtk2.0-mingw-w64-i686 2.24.10-20120208-2                  
all          Converted tgz package
ii  libfdt-mingw-w64-i686 1.4.0-2                             
all          Converted tgz package
ii  libfdt-mingw-w64-x86-64 1.4.0-2                             
all          Converted tgz package
ii  mingw-w64 4.0~rc3-1                           all          
Development environment targeting 32- and 64-bit Windows
ii  mingw-w64-common 4.0~rc3-1                           all          
Common files for Mingw-w64
ii  mingw-w64-i686-dev 4.0~rc3-1                           all          
Development files for MinGW-w64 targeting Win32
ii  mingw-w64-x86-64-dev 4.0~rc3-1                           
all          Development files for MinGW-w64 targeting Win64

Both the Wheezy and the Jessie environment work.

> and the question from the previous message is still open, how did you install the following packages? the comment "Converted tgz package" is a good sign these are custom packages.
>
> ii  gtk-mingw-w64-x86-64 3.6.4-20131201-2              all          Converted tgz package
> ii  gtk2.0-mingw-w64-i686 2.24.10-20120208-2            all          Converted tgz package
> ii  libfdt-mingw-w64-i686 1.4.0-2                       all          Converted tgz package
> ii  libfdt-mingw-w64-x86-64 1.4.0-2                       all          Converted tgz package
> ii  libpthreads-mingw-w64 2.9.1+dfsg-1                  all          POSIX threads library for 32- and 64-bit Windows
>

The first four are custom packages, and you can get them from 
http://qemu.weilnetz.de/debian/.
The last one is Wheezy specific and not needed.

The gtk custom packages were made from gtk.org downloads 
(all-in-one-bundles, for example
from http://www.gtk.org/download/win64.php). That is the same source 
which Peter suggested.

The libfdt custom packages simple packed the results from a QEMU build 
with internal libfdt:
QEMU can be build without any external libfdt and will then compile it 
during the normal build.
As I run many builds and want to avoid this extra compilation step, I 
created that packages.

As you can see in the list above, all custom packages work for Wheezy 
and for Jessie.

Stefan

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Qemu-devel] 64-bit build of qemu-system-arm with mingw-w64 not functional
  2015-04-09  5:12             ` Stefan Weil
@ 2015-04-09  7:40               ` Liviu Ionescu
  2015-04-09 14:07                 ` Liviu Ionescu
  0 siblings, 1 reply; 23+ messages in thread
From: Liviu Ionescu @ 2015-04-09  7:40 UTC (permalink / raw)
  To: Stefan Weil; +Cc: Peter Maydell, QEMU Developers


> On 09 Apr 2015, at 08:12, Stefan Weil <sw@weilnetz.de> wrote:
> 
> The first four are custom packages, and you can get them from http://qemu.weilnetz.de/debian/.
> The last one is Wheezy specific and not needed.

ok, got them, installed them and got no errors, they are now listed by dpkg -l

> The gtk custom packages were made from gtk.org downloads (all-in-one-bundles, for example
> from http://www.gtk.org/download/win64.php). That is the same source which Peter suggested.
> 
> The libfdt custom packages simple packed the results from a QEMU build with internal libfdt:
> QEMU can be build without any external libfdt and will then compile it during the normal build.
> As I run many builds and want to avoid this extra compilation step, I created that packages.

ok, we'll return to the procedure you used to build them later, since I want to document it too.

> As you can see in the list above, all custom packages work for Wheezy and for Jessie.

not yet. the packages were installed correctly, I can see the files in the corresponding /usr/x86_64-w64-mingw32 folders, but when you built these packages, you did not update the prefix in the pkg-config files, and most read something like "prefix=/srv/win32builder/fixed_364/build/win64", which might exist on your machine, but does not exist on a clean machine.

I guess you either tweaked the pkg-config to find them, or you set some environment variables before configure.

with the default settings, configure produces:

CFLAGS            -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -mms-bitfields -I/srv/win32builder/fixed_364/build/win64/include/glib-2.0 -I/srv/win32builder/fixed_364/build/win64/lib/glib-2.0/include  -g 
QEMU_CFLAGS       -I/srv/win32builder/fixed_364/build/win64/include/pixman-1   -m64 -D__USE_MINGW_ANSI_STDIO=1 -DWIN32_LEAN_AND_MEAN -DWINVER=0x501 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wno-missing-format-attribute  -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 -fstack-protector-strong  -I/srv/win32builder/fixed_364/build/win64/include/libpng15 
LDFLAGS           -Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase -Wl,--warn-common -m64 -g 

which obviously breaks the make.

can you share these details too? I want to reproduce "exactly" your environment.


regards,

Liviu

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Qemu-devel] 64-bit build of qemu-system-arm with mingw-w64 not functional
  2015-04-09  7:40               ` Liviu Ionescu
@ 2015-04-09 14:07                 ` Liviu Ionescu
  2015-04-09 17:41                   ` Stefan Weil
  0 siblings, 1 reply; 23+ messages in thread
From: Liviu Ionescu @ 2015-04-09 14:07 UTC (permalink / raw)
  To: Stefan Weil; +Cc: Peter Maydell, QEMU Developers


> On 09 Apr 2015, at 10:40, Liviu Ionescu <ilg@livius.net> wrote:

> I guess you either tweaked the pkg-config to find them, or you set some environment variables before configure.
> ...
> can you share these details too? I want to reproduce "exactly" your environment.

the reason I ask for these details is that even after adding a x86_64-w64-mingw32-pkg-config, the configure still differs from yours.

among the differences I spotted were:

- no -mthreads -D_POSIX=1 
- no SDL support 

another problems are related to the setup:
- "make installer" did not pack any DLL inside the setup
- the setup insists on installing in C:\Program Files (x86), although it is not a 32-bit application

my feeling is that you still have additional libraries that you have difficulties to keep track, you possibly use environment variables, and the procedure to generate the setup is not the one in the Makefile.


I would appreciate your help in documenting all build details.

regards,

Liviu


mkdir -p /root/build
cd /root/build
PKG_CONFIG=/root/Host/Work/qemu/gnuarmeclipse-qemu.git/gnuarmeclipse/scripts/x86_64-w64-mingw32-pkg-config \
/root/qemu.git/configure --cross-prefix=x86_64-w64-mingw32- --enable-trace-backend=stderr --extra-cflags=-Wno-missing-format-attribute --target-list="arm-softmmu" | tee build.txt
make
make installer

CFLAGS            -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -mms-bitfields -I/usr/x86_64-w64-mingw32/include/glib-2.0 -I/usr/x86_64-w64-mingw32/lib/glib-2.0/include -g 
QEMU_CFLAGS       -I/usr/x86_64-w64-mingw32/include/pixman-1  -m64 -D__USE_MINGW_ANSI_STDIO=1 -DWIN32_LEAN_AND_MEAN -DWINVER=0x501 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wno-missing-format-attribute  -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 -fstack-protector-strong  -I/usr/x86_64-w64-mingw32/include/libpng15
LDFLAGS           -Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase -Wl,--warn-common -m64 -g 
make              make
install           install
python            python -B
smbd              /usr/sbin/smbd
module support    no
host CPU          x86_64
host big endian   no
target list       arm-softmmu
tcg debug enabled no
gprof enabled     no
sparse enabled    no
strip binaries    yes
profiler          no
static build      no
pixman            system
SDL support       no
GTK support       yes
VTE support       no
curses support    no
curl support      no
mingw32 support   yes
Audio drivers     winwave
Block whitelist (rw) 
Block whitelist (ro) 
VirtFS support    no
VNC support       yes
VNC TLS support   no
VNC SASL support  no
VNC JPEG support  yes
VNC PNG support   yes
VNC WS support    no
xen support       no
brlapi support    no
bluez  support    no
Documentation     yes
GUEST_BASE        yes
PIE               no
vde support       no
netmap support    no
Linux AIO support no
ATTR/XATTR support no
Install blobs     yes
KVM support       no
RDMA support      no
TCG interpreter   no
fdt support       yes
preadv support    no
fdatasync         no
madvise           no
posix_madvise     no
sigev_thread_id   no
uuid support      no
libcap-ng support no
vhost-net support no
vhost-scsi support no
Trace backends    stderr
spice support     no
rbd support       no
xfsctl support    no
nss used          no
libusb            no
usb net redir     no
OpenGL support    no
libiscsi support  no
libnfs support    no
build guest agent yes
QGA VSS support   no
seccomp support   no
coroutine backend win32
coroutine pool    yes
GlusterFS support no
Archipelago support no
gcov              gcov
gcov enabled      no
TPM support       yes
libssh2 support   no
TPM passthrough   no
QOM debugging     yes
vhdx              no
Quorum            no
lzo support       no
snappy support    no
bzip2 support     no
NUMA host support no

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Qemu-devel] 64-bit build of qemu-system-arm with mingw-w64 not functional
  2015-04-09 14:07                 ` Liviu Ionescu
@ 2015-04-09 17:41                   ` Stefan Weil
  2015-04-09 17:58                     ` Peter Maydell
  0 siblings, 1 reply; 23+ messages in thread
From: Stefan Weil @ 2015-04-09 17:41 UTC (permalink / raw)
  To: Liviu Ionescu; +Cc: Peter Maydell, QEMU Developers

Am 09.04.2015 um 16:07 schrieb Liviu Ionescu
>> On 09 Apr 2015, at 10:40, Liviu Ionescu <ilg@livius.net> wrote:
>> I guess you either tweaked the pkg-config to find them, or you set some environment variables before configure.
>> ...
>> can you share these details too? I want to reproduce "exactly" your environment.


Here is the template for all cross pkg-configs:
http://repo.or.cz/w/qemu/ar7.git/blob_plain/HEAD:/scripts/cross-pkg-config

See also http://patchwork.ozlabs.org/patch/114242/

Maybe I should resend that patch.

> the reason I ask for these details is that even after adding a x86_64-w64-mingw32-pkg-config, the configure still differs from yours.
>
> among the differences I spotted were:
>
> - no -mthreads -D_POSIX=1
> - no SDL support


I think -mthreads is essential (needed for thread local storage),
and -D_POSIX=1 is also needed for 64 bit builds.

Maybe you can try my QEMU fork from http://repo.or.cz/w/qemu/ar7.git
and see whether it works for you. My binaries are based on that code.
If it works, we have to look which patches are missing in the official
QEMU version.

SDL comes from a locally cross built libSDL. I never had time to put
it into a Debian package. Maybe it is better for your tests to build
without SDL support, because the SDL init code redirects stdin and
stdout to files which complicates things even when you run QEMU
with SDL disabled.
.


>   
>
> another problems are related to the setup:
> - "make installer" did not pack any DLL inside the setup

It has a built-in magic: all DLL files from $(SRC_PATH)/dll/w64 are
taken for the 64 bit build (w32 for 32 bit build).

Get a list of all needed DLL files either by try and error or by using
tools and copy them (or make symbolic links) to that directory.
Here are the files for 32 bit for my configuration:

dll/w32/freetype6.dll
dll/w32/pdcurses.dll
dll/w32/libgio-2.0-0.dll
dll/w32/libfontconfig-1.dll
dll/w32/libpangoft2-1.0-0.dll
dll/w32/libpangocairo-1.0-0.dll
dll/w32/libgtk-win32-2.0-0.dll
dll/w32/libatk-1.0-0.dll
dll/w32/libpangowin32-1.0-0.dll
dll/w32/intl.dll
dll/w32/libpango-1.0-0.dll
dll/w32/libgcc_s_sjlj-1.dll
dll/w32/libgdk_pixbuf-2.0-0.dll
dll/w32/libglib-2.0-0.dll
dll/w32/libssp-0.dll
dll/w32/zlib1.dll
dll/w32/libgmodule-2.0-0.dll
dll/w32/libcairo-2.dll
dll/w32/SDL.dll
dll/w32/libgthread-2.0-0.dll
dll/w32/libexpat-1.dll
dll/w32/libpng14-14.dll
dll/w32/libgobject-2.0-0.dll
dll/w32/libgdk-win32-2.0-0.dll
dll/w32/libstdc++-6.dll

> - the setup insists on installing in C:\Program Files (x86), although it is not a 32-bit application
>
> my feeling is that you still have additional libraries that you have difficulties to keep track, you possibly use environment variables, and the procedure to generate the setup is not the one in the Makefile.

There is an nsis macro W64 which switches the program directory (see 
qemu.nsi).
Are you using the packages from Debian (here those for Wheezy):

ii  nsis 2.46-7                        amd64        Nullsoft Scriptable 
Install System (modified for Debian)
ii  nsis-common 2.46-7                        all          Nullsoft 
Scriptable Install System stubs and plugins


Regards
Stefan

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Qemu-devel] 64-bit build of qemu-system-arm with mingw-w64 not functional
  2015-04-09 17:41                   ` Stefan Weil
@ 2015-04-09 17:58                     ` Peter Maydell
  2015-04-09 19:44                       ` Liviu Ionescu
  2015-04-09 20:51                       ` Liviu Ionescu
  0 siblings, 2 replies; 23+ messages in thread
From: Peter Maydell @ 2015-04-09 17:58 UTC (permalink / raw)
  To: Stefan Weil; +Cc: Liviu Ionescu, QEMU Developers

On 9 April 2015 at 18:41, Stefan Weil <sw@weilnetz.de> wrote:
> I think -mthreads is essential (needed for thread local storage),
> and -D_POSIX=1 is also needed for 64 bit builds.

My 64-bit builds worked without either of these things...

-- PMM

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Qemu-devel] 64-bit build of qemu-system-arm with mingw-w64 not functional
  2015-04-09 17:58                     ` Peter Maydell
@ 2015-04-09 19:44                       ` Liviu Ionescu
  2015-04-09 20:43                         ` Stefan Weil
  2015-04-09 20:51                       ` Liviu Ionescu
  1 sibling, 1 reply; 23+ messages in thread
From: Liviu Ionescu @ 2015-04-09 19:44 UTC (permalink / raw)
  To: Peter Maydell; +Cc: Stefan Weil, QEMU Developers


> On 09 Apr 2015, at 20:58, Peter Maydell <peter.maydell@linaro.org> wrote:
> 
> On 9 April 2015 at 18:41, Stefan Weil <sw@weilnetz.de> wrote:
>> I think -mthreads is essential (needed for thread local storage),
>> and -D_POSIX=1 is also needed for 64 bit builds.
> 
> My 64-bit builds worked without either of these things...

hmmm... things get complicated, even messier. :-(

first I was confident, I wrote my multi-platform build script that worked for all platforms, except win64; then I reverted, trying to build the official version, and since you remember having successful win64 builds, I took it as reference. unfortunately the build was not successful, due to the missing libraries; then I considered Stefan's binaries to be the 'official' QEMU releases for windows, just to find out that they are actually based on a fork, that I'm invited to check for differences...

it seems to never end...

the fact is: the public version from the project git, cross built for 64-bit on a fresh Debian 8, with the (old) packages from Stefan, and with the configuration you suggested, builds successfully, but... fails to run. the 32-bit version, built in the exactly the same conditions, is ok.


I don't exclude a systematic error that I made in my builds, but, from what I see, my tests are far more rigorous than what I found up to now, and I'd rather suspect the problem to be somewhere else.

it might very well be a problem with the treading support, slightly differently implemented on win64.

---

> SDL comes from a locally cross built libSDL. 

ok, I expected this. :-(

> Maybe it is better for your tests to build
without SDL support,

in GNU ARM Eclipse QEMU I do not use SDL, but I just wanted to reproduce the exact conditions you use for your builds.

> > - "make installer" did not pack any DLL inside the setup

> It has a built-in magic: all DLL files from $(SRC_PATH)/dll/w64 are
> taken for the 64 bit build (w32 for 32 bit build).

great, I like magic, but what I do not understand is why this magic is not in the public git, for us all to use it?

> Get a list of all needed DLL files either by try and error or by using
> tools and copy them (or make symbolic links) to that directory.

I did this for my builds, I just wanted to clarify things for the official build.

is it that complicated to share **all** build scripts and related details, preferably to contribute them back to the project?

> There is an nsis macro W64 which switches the program directory (see qemu.nsi).

I have a far more elaborate nsis configuration for my builds; the problem is that the official 'make install' does not generate a functional setup (the dlls are not there, and the setup does not write the program in the proper place), and since your setup seems functional, it would be great to update the project.

> Maybe you can try my QEMU fork from http://repo.or.cz/w/qemu/ar7.git
> and see whether it works for you.

are your actual build scripts in the repo? or in some public place?

all my scripts are in the GNU ARM Eclipse QEMU repo, and not only the build script is self contained, but all information necessary to run it is public.

even more, now I'm migrating the build processes to using Docker, which is an even more reproducible and scriptable solution, exactly to avoid this kind of embarrassing situation that we are now in, with the mysterious win64 build.


regards,

Liviu

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Qemu-devel] 64-bit build of qemu-system-arm with mingw-w64 not functional
  2015-04-09 19:44                       ` Liviu Ionescu
@ 2015-04-09 20:43                         ` Stefan Weil
  2015-04-09 20:53                           ` Peter Maydell
  2015-04-10 19:31                           ` Liviu Ionescu
  0 siblings, 2 replies; 23+ messages in thread
From: Stefan Weil @ 2015-04-09 20:43 UTC (permalink / raw)
  To: Liviu Ionescu; +Cc: Peter Maydell, QEMU Developers

Am 09.04.2015 um 21:44 schrieb Liviu Ionescu:
> hmmm... things get complicated, even messier. :-(

Windows support _is_ complicated, yes.

There is MinGW32, MinGW-w64, Cygwin, Cygwin64 (list incomplete).

And some versions of MinGW-w64 are incompatible because they
changed their name mangling, so there are pre-compiled libraries
with and without leading underscores in symbol names.

Different models for exception handling exist and require different
toolchains.

The dependencies required for QEMU must be collected from different
sources, and maybe they depend on different variants of zlib or libz.
Or you have to get the sources and build one after the other.

And all this runs on a closed source system which sometimes
remembers a black hole.

> first I was confident, I wrote my multi-platform build script that worked for all platforms, except win64; then I reverted, trying to build the official version, and since you remember having successful win64 builds, I took it as reference. unfortunately the build was not successful, due to the missing libraries; then I considered Stefan's binaries to be the 'official' QEMU releases for windows, just to find out that they are actually based on a fork, that I'm invited to check for differences...

I thought the documentation on my website were clear, but if it is not,
suggestions for improvement are welcome.

I try to keep my fork close to the official version. As this is voluntary
work done in my free time, there can be delays in the synchronization.
My fork also contains additional code which would need much work
to integrate it in the official QEMU (MIPS AR7 with WLAN router emulation,
Raspberry Pi emulation and other parts which are not always working).
I don't think those differences are important for your problem, but if
you would run a short test, we could be sure.

By the way: I still don't have your test setting, so I have no chance to
reproduce it. Is the test.elf which you use publicly available?

> it seems to never end...
>
> the fact is: the public version from the project git, cross built for 64-bit on a fresh Debian 8, with the (old) packages from Stefan, and with the configuration you suggested, builds successfully, but... fails to run. the 32-bit version, built in the exactly the same conditions, is ok.
>
> I don't exclude a systematic error that I made in my builds, but, from what I see, my tests are far more rigorous than what I found up to now, and I'd rather suspect the problem to be somewhere else.
>
> it might very well be a problem with the treading support, slightly differently implemented on win64.
>
> ---
>
>> SDL comes from a locally cross built libSDL.
> ok, I expected this. :-(

:-) (my binaries for SDL are online now, http://qemu.weilnetz.de/debian/)

>
>> Maybe it is better for your tests to build
> without SDL support,
>
> in GNU ARM Eclipse QEMU I do not use SDL, but I just wanted to reproduce the exact conditions you use for your builds.
>
>>> - "make installer" did not pack any DLL inside the setup
>> It has a built-in magic: all DLL files from $(SRC_PATH)/dll/w64 are
>> taken for the 64 bit build (w32 for 32 bit build).
> great, I like magic, but what I do not understand is why this magic is not in the public git, for us all to use it?

It is. Not many people want to build QEMU installers for Windows,
and those who do usually find a way how to do it.

As I said above: suggestions for improvement are welcome.


>
>> Get a list of all needed DLL files either by try and error or by using
>> tools and copy them (or make symbolic links) to that directory.
> I did this for my builds, I just wanted to clarify things for the official build.
>
> is it that complicated to share **all** build scripts and related details, preferably to contribute them back to the project?

As you see, I am willing to share any information which is needed.

>> There is an nsis macro W64 which switches the program directory (see qemu.nsi).
> I have a far more elaborate nsis configuration for my builds; the problem is that the official 'make install' does not generate a functional setup (the dlls are not there, and the setup does not write the program in the proper place), and since your setup seems functional, it would be great to update the project.

'make install' installs (in the wrong place). You are invited to fix it. 
I never use it.

'make installer' creates an installer.

>
>> Maybe you can try my QEMU fork from http://repo.or.cz/w/qemu/ar7.git
>> and see whether it works for you.
> are your actual build scripts in the repo? or in some public place?

I already told you my configure + make commands - nothing magic with them
and they create working binaries here.

> all my scripts are in the GNU ARM Eclipse QEMU repo, and not only the build script is self contained, but all information necessary to run it is public.
>
> even more, now I'm migrating the build processes to using Docker, which is an even more reproducible and scriptable solution, exactly to avoid this kind of embarrassing situation that we are now in, with the mysterious win64 build.

That's great.

Cheers
Stefan

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Qemu-devel] 64-bit build of qemu-system-arm with mingw-w64 not functional
  2015-04-09 17:58                     ` Peter Maydell
  2015-04-09 19:44                       ` Liviu Ionescu
@ 2015-04-09 20:51                       ` Liviu Ionescu
  1 sibling, 0 replies; 23+ messages in thread
From: Liviu Ionescu @ 2015-04-09 20:51 UTC (permalink / raw)
  To: Peter Maydell; +Cc: Stefan Weil, QEMU Developers


> On 09 Apr 2015, at 20:58, Peter Maydell <peter.maydell@linaro.org> wrote:
> 
> On 9 April 2015 at 18:41, Stefan Weil <sw@weilnetz.de> wrote:
>> I think -mthreads is essential (needed for thread local storage),
>> and -D_POSIX=1 is also needed for 64 bit builds.
> 
> My 64-bit builds worked without either of these things...

I tried with these settings and it still does not work.

> On 09 Apr 2015, at 20:41, Stefan Weil <sw@weilnetz.de> wrote:
> 
> Maybe you can try my QEMU fork from http://repo.or.cz/w/qemu/ar7.git
> and see whether it works for you. My binaries are based on that code.
> If it works, we have to look which patches are missing in the official
> QEMU version.

there are probably hundreds of differences between your fork ant the official branch.

in 'configure' too there are quite a lot of differences. apart from the above CFLAGS, I could not identify something special.


regards,

Liviu

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Qemu-devel] 64-bit build of qemu-system-arm with mingw-w64 not functional
  2015-04-09 20:43                         ` Stefan Weil
@ 2015-04-09 20:53                           ` Peter Maydell
  2015-04-10 19:31                           ` Liviu Ionescu
  1 sibling, 0 replies; 23+ messages in thread
From: Peter Maydell @ 2015-04-09 20:53 UTC (permalink / raw)
  To: Stefan Weil; +Cc: Liviu Ionescu, QEMU Developers

On 9 April 2015 at 21:43, Stefan Weil <sw@weilnetz.de> wrote:
> My fork also contains additional code which would need much work
> to integrate it in the official QEMU (MIPS AR7 with WLAN router emulation,
> Raspberry Pi emulation and other parts which are not always working).

As an aside, if you're interested in trying to get rpi support
upstream I'm happy to help -- we do seem to get a fair amount
of "how do I emulate rpi in QEMU" questions so it seems
worthwhile. If you don't want to (or if this is just somebody
else's project/patches you're carrying in your tree) I
understand that too -- I have a bunch of omap3 patches
out-of-tree I've never got round to upstreaming either...

-- PMM

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Qemu-devel] 64-bit build of qemu-system-arm with mingw-w64 not functional
  2015-04-09 20:43                         ` Stefan Weil
  2015-04-09 20:53                           ` Peter Maydell
@ 2015-04-10 19:31                           ` Liviu Ionescu
  1 sibling, 0 replies; 23+ messages in thread
From: Liviu Ionescu @ 2015-04-10 19:31 UTC (permalink / raw)
  To: Stefan Weil; +Cc: Peter Maydell, QEMU Developers


first of all, for those interested in a reproducible build procedure for Windows, I have a single and complete script, building the 32/64-bit versions from the original repository or from Stefan's repository.

the short story is:

- install Docker from Docker.com
- download the build script from https://sourceforge.net/p/gnuarmeclipse/qemu/ci/gnuarmeclipse-dev/tree/gnuarmeclipse/scripts/build-orig-qemu.sh (use the Download this file link)
- run the script with 

	$ bash build-orig-qemu.sh --orig --win64
	$ bash build-orig-qemu.sh --orig --win32
	$ bash build-orig-qemu.sh --stefan --win64

the script will leave the build results in ${HOME}/Work/orig-qemu or ${HOME}/Work/stefan-qemu.

(the 32-bit build with Stefan's repository failed).


at first run, the script will download the custom Debian 8 image from 

	https://registry.hub.docker.com/u/ilegeul/qemu-builds/

the image was prepared using the Dokerfile published on GitHub

	https://github.com/ilg-ul/docker/blob/master/builds/d8_x64_mingw/Dockerfile


the long story is documented in a wiki page

	http://gnuarmeclipse.livius.net/wiki/How_to_build_the_original_QEMU_binaries

-------------

after fixing the build details, I was able to further investigate the windows 64-bit failures, which are present on all builds (the original version and Stefan's fork and my fork).

the problem seems to be triggered by the use of SysTick.

I reached this conclusion after spliting my test in several simpler tests; after enabling the timer, the emulator crashes if built for 64-bit.

the public QEMU also crashes when semihosting is used, I guess semihosting support is incomplete because we no longer applied the patches related to the command line. in my fork, semihosting is fully functional, and uses -semihosting-cmdline.


I'll try to check the SysTick code, but I'm not sure when this will happen, since I lost quite a lot of time with these Windows builds.

if someone is interested in the the test images, I can make them public.


regards,

Liviu

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2015-04-10 19:32 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-07 21:21 [Qemu-devel] 64-bit build of qemu-system-arm with mingw-w64 not functional Liviu Ionescu
2015-04-07 21:30 ` Peter Maydell
2015-04-07 21:46   ` Liviu Ionescu
2015-04-07 22:30     ` Liviu Ionescu
2015-04-07 22:36     ` Peter Maydell
2015-04-07 22:45       ` Liviu Ionescu
2015-04-07 23:10         ` Peter Maydell
2015-04-08 14:13           ` Liviu Ionescu
2015-04-08 14:39             ` Peter Maydell
2015-04-08  6:20         ` Stefan Weil
2015-04-08  6:38           ` Liviu Ionescu
2015-04-08 12:51           ` Liviu Ionescu
2015-04-08 20:27           ` Liviu Ionescu
2015-04-09  5:12             ` Stefan Weil
2015-04-09  7:40               ` Liviu Ionescu
2015-04-09 14:07                 ` Liviu Ionescu
2015-04-09 17:41                   ` Stefan Weil
2015-04-09 17:58                     ` Peter Maydell
2015-04-09 19:44                       ` Liviu Ionescu
2015-04-09 20:43                         ` Stefan Weil
2015-04-09 20:53                           ` Peter Maydell
2015-04-10 19:31                           ` Liviu Ionescu
2015-04-09 20:51                       ` Liviu Ionescu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.