1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
|
Fails to start on Windows host without explicit --disable-pie
Since commit d2cd29e30736afd4a1e8cac3cf4da360bbc65978, which removed the x86 conditional around PIE, QEMU completely fails to start on a Windows host unless --disable-pie is explicitly given at build time. Even just requesting the help text doesn't work. To make testing easier, this can be replicated with Wine.
What compiler and toolchain are you using?
I'm using GCC 9.3.0 with mingw-w64 7.0.0, all built with Gentoo Linux's crossdev.
I didn't know whether PIE is generally supported on Windows or not. It was possible that Gentoo is just inadvertently disabling support for it. It did stem from a bug report though and reading around, others elsewhere have reported that PIE on Windows doesn't work.
It seems on some compilers the test can pass but still give you
broken binaries.
[AJB untested - please could windows users test]
Fixes: d2cd29e30736
Fixes: https://bugs.launchpad.net/qemu/+bug/1871798
Cc: Bug 1871798 <email address hidden>
Cc: James Le Cuirot <email address hidden>
Signed-off-by: Alex Bennée <email address hidden>
---
configure | 1 +
1 file changed, 1 insertion(+)
diff --git a/configure b/configure
index a207cce82bc..e9c5f630c14 100755
--- a/configure
+++ b/configure
@@ -807,6 +807,7 @@ MINGW32*)
audio_drv_list=""
fi
supported_os="yes"
+ pie="no"
;;
GNU/kFreeBSD)
bsd="yes"
--
2.20.1
On Thu, Apr 9, 2020 at 11:18 PM Alex Bennée <email address hidden> wrote:
> It seems on some compilers the test can pass but still give you
> broken binaries.
>
> [AJB untested - please could windows users test]
>
> Fixes: d2cd29e30736
> Fixes: https://bugs.launchpad.net/qemu/+bug/1871798
> Cc: Bug 1871798 <email address hidden>
> Cc: James Le Cuirot <email address hidden>
> Signed-off-by: Alex Bennée <email address hidden>
> ---
> configure | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/configure b/configure
> index a207cce82bc..e9c5f630c14 100755
> --- a/configure
> +++ b/configure
> @@ -807,6 +807,7 @@ MINGW32*)
> audio_drv_list=""
> fi
> supported_os="yes"
> + pie="no"
> ;;
> GNU/kFreeBSD)
> bsd="yes"
> --
> 2.20.1
>
Solves my issue! So,
Tested-by: Howard Spoelstra <email address hidden>
Tested and working. Thank you!
On 4/9/20 11:15 PM, Alex Bennée wrote:
> It seems on some compilers the test can pass but still give you
> broken binaries.
>
> [AJB untested - please could windows users test]
>
> Fixes: d2cd29e30736
> Fixes: https://bugs.launchpad.net/qemu/+bug/1871798
> Cc: Bug 1871798 <email address hidden>
> Cc: James Le Cuirot <email address hidden>
> Signed-off-by: Alex Bennée <email address hidden>
> ---
> configure | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/configure b/configure
> index a207cce82bc..e9c5f630c14 100755
> --- a/configure
> +++ b/configure
> @@ -807,6 +807,7 @@ MINGW32*)
> audio_drv_list=""
> fi
> supported_os="yes"
> + pie="no"
> ;;
> GNU/kFreeBSD)
> bsd="yes"
>
Reviewed-by: Philippe Mathieu-Daudé <email address hidden>
It seems on some compilers the test can pass but still give you
broken binaries.
Fixes: d2cd29e30736
Fixes: https://bugs.launchpad.net/qemu/+bug/1871798
Cc: Bug 1871798 <email address hidden>
Signed-off-by: Alex Bennée <email address hidden>
Tested-by: Howard Spoelstra <email address hidden>
Tested-by: James Le Cuirot <email address hidden>
Reviewed-by: Philippe Mathieu-Daudé <email address hidden>
Reviewed-by: Richard Henderson <email address hidden>
---
configure | 1 +
1 file changed, 1 insertion(+)
diff --git a/configure b/configure
index 25f7d915720..23b5e93752b 100755
--- a/configure
+++ b/configure
@@ -807,6 +807,7 @@ MINGW32*)
audio_drv_list=""
fi
supported_os="yes"
+ pie="no"
;;
GNU/kFreeBSD)
bsd="yes"
--
2.20.1
It seems on some compilers the test can pass but still give you
broken binaries.
Fixes: d2cd29e30736
Fixes: https://bugs.launchpad.net/qemu/+bug/1871798
Cc: Bug 1871798 <email address hidden>
Signed-off-by: Alex Bennée <email address hidden>
Tested-by: Howard Spoelstra <email address hidden>
Tested-by: James Le Cuirot <email address hidden>
Reviewed-by: Philippe Mathieu-Daudé <email address hidden>
Reviewed-by: Richard Henderson <email address hidden>
Message-Id: <email address hidden>
diff --git a/configure b/configure
index 25f7d915720..23b5e93752b 100755
--- a/configure
+++ b/configure
@@ -807,6 +807,7 @@ MINGW32*)
audio_drv_list=""
fi
supported_os="yes"
+ pie="no"
;;
GNU/kFreeBSD)
bsd="yes"
--
2.20.1
Fixed in commit 469a788cdd3c618ef1b8a23a339510082b3eeea7.
|