On Sat, Apr 23, 2022 at 5:09 PM Paolo Bonzini wrote:
> Signed-off-by: Paolo Bonzini
>
Reviewed-by: Marc-André Lureau
> ---
> v1->v2: fix get_option('optimization') comparison to use a string
>
> configure | 20
> meson.build | 8
> 2 files changed, 8 insertions(+), 20 deletions(-)
>
> diff --git a/configure b/configure
> index 0b236fda59..a6ba59cf6f 100755
> --- a/configure
> +++ b/configure
> @@ -224,10 +224,6 @@ glob() {
> eval test -z '"${1#'"$2"'}"'
> }
>
> -ld_has() {
> -$ld --help 2>/dev/null | grep ".$1" >/dev/null 2>&1
> -}
> -
> if printf %s\\n "$source_path" "$PWD" | grep -q "[[:space:]:]";
> then
>error_exit "main directory cannot contain spaces nor colons"
> @@ -2088,22 +2084,6 @@ if test "$solaris" = "no" && test "$tsan" = "no";
> then
> fi
> fi
>
> -# Use ASLR, no-SEH and DEP if available
> -if test "$mingw32" = "yes" ; then
> -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
> -done
> -fi
> -
> # Guest agent Windows MSI package
>
> if test "$QEMU_GA_MANUFACTURER" = ""; then
> diff --git a/meson.build b/meson.build
> index 1a9549d90c..d569c6e944 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -182,6 +182,14 @@ qemu_cxxflags = config_host['QEMU_CXXFLAGS'].split()
> qemu_objcflags = config_host['QEMU_OBJCFLAGS'].split()
> qemu_ldflags = config_host['QEMU_LDFLAGS'].split()
>
> +if targetos == 'windows'
> + qemu_ldflags += cc.get_supported_link_arguments('-Wl,--no-seh',
> '-Wl,--nxcompat')
> + # Disable ASLR for debug builds to allow debugging with gdb
> + if get_option('optimization') == '0'
> +qemu_ldflags += cc.get_supported_link_arguments('-Wl,--dynamicbase')
> + endif
> +endif
> +
> if get_option('gprof')
>qemu_cflags += ['-p']
>qemu_cxxflags += ['-p']
> --
> 2.35.1
>
>
>
>
--
Marc-André Lureau