qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] meson: -display dbus and CFI are incompatible


From: Jason A. Donenfeld
Subject: Re: [PATCH] meson: -display dbus and CFI are incompatible
Date: Mon, 3 Oct 2022 13:01:13 +0200

On Fri, Sep 30, 2022 at 09:53:24AM +0200, Paolo Bonzini wrote:
> The generated skeletons for DBus call the finalize method of the parent
> type using code like
> 
>     G_OBJECT_CLASS 
> (qemu_dbus_display1_chardev_skeleton_parent_class)->finalize (object);
> 
> However, the finalize method is defined in a shared library that is not
> compiled with CFI.  Do not enable anything that uses gdbus-codegen if
> --enable-cfi was specified.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  meson.build | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/meson.build b/meson.build
> index f6962834a3..6106daf267 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -515,6 +515,7 @@ meson.override_dependency('glib-2.0', glib)
>  
>  gio = not_found
>  gdbus_codegen = not_found
> +gdbus_codegen_error = '@0@ requires gdbus-codegen, please install libgio'
>  if not get_option('gio').auto() or have_system
>    gio = dependency('gio-2.0', required: get_option('gio'),
>                     method: 'pkg-config', kwargs: static_kwargs)
> @@ -539,6 +540,10 @@ if not get_option('gio').auto() or have_system
>                               version: gio.version())
>    endif
>  endif
> +if gdbus_codegen.found() and get_option('cfi')
> +  gdbus_codegen = not_found
> +  gdbus_codegen_error = '@0@ uses gdbus-codegen, which does not support 
> control flow integrity')

FYI, you've got a trailing paren here that will break.

Jason



reply via email to

[Prev in Thread] Current Thread [Next in Thread]