[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Bugs when cross-compiling qemu for Windows with mingw 8
From: |
Stefan Weil |
Subject: |
Re: [Qemu-devel] Bugs when cross-compiling qemu for Windows with mingw 8.1, executable doesn't run |
Date: |
Mon, 20 Aug 2018 21:41:16 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 |
> Am 18.07.2018 um 08:33 schrieb Howard Spoelstra:
> [...]> Issue 2: once strncpy has been replaced with memcpy in these two
>> instances, I can successfully compile, but the executable doesn't run
>> in Windows.
>> I tried to debug, and this is what gdb told me:
>>
>> (gdb) run
>> Starting program: c:\qemu-fedora29beta\qemu-system-ppc-debug.exe -L
>> c:\qemu-fedora29beta\pc-bios -boot c -m 256 -M "mac99,via=pmu"
>> -prom-env "boot-args=-v" -prom-env "auto-boot?=true" -prom-env
>> "vga-ndrv?=true" -hda c:\Mac-disks\9.2.qcow2 -netdev
>> "user,id=network01" -device "sungem,netdev=network01" -sdl -d int
>> [New Thread 948.0x6d8]
>> [New Thread 948.0x2778]
>> [New Thread 948.0x286c]
>> [New Thread 948.0x3d0]
>>
>> Program received signal SIGSEGV, Segmentation fault.
>> getpagesize () at util/oslib-win32.c:535
>> 535 util/oslib-win32.c: No such file or directory.
That's a problem triggered by gcc 8 for Mingw-w64 with compiler options
-fstack-protector-all and -fstack-protector-strong. With any of those
options this simple test program also fails with SIGSEGV:
#include <windows.h>
int main(void) {
SYSTEM_INFO system_info;
GetSystemInfo(&system_info);
return system_info.dwPageSize;
}
With configure option --disable-stack-protector, the resulting binary
should work.
Regards
Stefan