configure: don't enable ASLR for --enable-debug Windows builds
Unlike other OSs it is not possible for gdb to temporarily disable ASLR when debugging executables on Windows which causes gdb to fail with memory access errors when trying to debug QEMU. Keep ASLR enabled by default on Windows via the --dynamicbase compiler flag except for --enable-debug builds when there is a clear expectation that a functioning gdb is expected at the cost of slightly less security. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Message-Id: <20201005133434.12614-1-mark.cave-ayland@ilande.co.uk> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
47b30835e4
commit
cb8baa7720
|
@ -5882,7 +5882,14 @@ fi
|
|||
|
||||
# Use ASLR, no-SEH and DEP if available
|
||||
if test "$mingw32" = "yes" ; then
|
||||
for flag in --dynamicbase --no-seh --nxcompat; do
|
||||
flags="--no-seh --nxcompat"
|
||||
|
||||
# Disable ASLR for debug builds to allow debugging with gdb
|
||||
if test "$debug" = "no" ; then
|
||||
flags="--dynamicbase $flags"
|
||||
fi
|
||||
|
||||
for flag in $flags; do
|
||||
if ld_has $flag ; then
|
||||
QEMU_LDFLAGS="-Wl,$flag $QEMU_LDFLAGS"
|
||||
fi
|
||||
|
|
Loading…
Reference in New Issue