All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: Yonggang Luo <luoyonggang@gmail.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	qemu-devel@nongnu.org
Subject: Re: [PATCH v3 4/6] plugin: define QEMU_PLUGIN_API_IMPLEMENTATION first
Date: Mon, 05 Oct 2020 11:44:38 +0100	[thread overview]
Message-ID: <87sgat2bqh.fsf@linaro.org> (raw)
In-Reply-To: <20201001163429.1348-5-luoyonggang@gmail.com>


Yonggang Luo <luoyonggang@gmail.com> writes:

> This is used to distinguish from the qemu and plugin in
> header qemu-plugin.h
>
> Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
> ---
>  plugins/api.c  | 1 +
>  plugins/core.c | 1 +
>  2 files changed, 2 insertions(+)
>
> diff --git a/plugins/api.c b/plugins/api.c
> index bbdc5a4eb4..f16922ca8b 100644
> --- a/plugins/api.c
> +++ b/plugins/api.c
> @@ -35,6 +35,7 @@
>   */
>  
>  #include "qemu/osdep.h"
> +#define QEMU_PLUGIN_API_IMPLEMENTATION
>  #include "qemu/plugin.h"

This doesn't do anything in this patch. You should split the special
handling in the plugin header and combine it in this patch. Also I'm not
quite sure of the logic you are trying to achieve later on:

  #if !defined(QEMU_PLUGIN_API_IMPLEMENTATION)
  #if defined(QEMU_PLUGIN_IMPLEMENTATION)
  #define QEMU_PLUGIN_EXTERN
  #else
  #define QEMU_PLUGIN_EXTERN extern
  #endif

It seems to me you could get away with only one symbol - ideally just
defined in plugins/api.c so you don't need to churn the plugins with
changes, e.g.

  #ifdef QEMU_PLUGIN_API_IMPLEMENTATION
  #define QEMU_PLUGIN_EXTERN
  #else
  #define QEMU_PLUGIN_EXTERN extern
  #endif

But I'd still like to have a better answer as to why we need the extern?
Is this a limitation of the mingw compiler or some windows special?

>  #include "cpu.h"
>  #include "sysemu/sysemu.h"
> diff --git a/plugins/core.c b/plugins/core.c
> index 51bfc94787..7a79ea4179 100644
> --- a/plugins/core.c
> +++ b/plugins/core.c
> @@ -12,6 +12,7 @@
>   * SPDX-License-Identifier: GPL-2.0-or-later
>   */
>  #include "qemu/osdep.h"
> +#define QEMU_PLUGIN_API_IMPLEMENTATION
>  #include "qemu/error-report.h"
>  #include "qemu/config-file.h"
>  #include "qapi/error.h"

I don't think we include qemu/plugin.h from this file although it does
raise the question of what happens when other parts of QEMU include the
internal qemu/plugins.h header.

-- 
Alex Bennée


  reply	other threads:[~2020-10-05 10:45 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-01 16:34 [PATCH v3 0/6] Enable plugin support on msys2/mingw Yonggang Luo
2020-10-01 16:34 ` [PATCH v3 1/6] plugins: Fixes a issue when dlsym failed, the handle not closed Yonggang Luo
2020-10-05  9:59   ` Alex Bennée
2020-10-01 16:34 ` [PATCH v3 2/6] plugin: Fixes compiling errors on msys2/mingw Yonggang Luo
2020-10-05 10:00   ` Alex Bennée
2020-10-01 16:34 ` [PATCH v3 3/6] cirrus: Enable plugin in cirrus for windows Yonggang Luo
2020-10-05 10:17   ` Alex Bennée
2020-10-01 16:34 ` [PATCH v3 4/6] plugin: define QEMU_PLUGIN_API_IMPLEMENTATION first Yonggang Luo
2020-10-05 10:44   ` Alex Bennée [this message]
2020-10-05 15:58     ` 罗勇刚(Yonggang Luo)
2020-10-01 16:34 ` [PATCH v3 5/6] plugin: getting qemu_plugin_get_hwaddr only expose one function prototype Yonggang Luo
2020-10-05 10:48   ` Alex Bennée
2020-10-05 15:34     ` 罗勇刚(Yonggang Luo)
2020-10-05 15:46       ` Alex Bennée
2020-10-01 16:34 ` [PATCH v3 6/6] plugin: Getting qemu-plugin works under win32 Yonggang Luo
2020-10-06 11:29   ` Alex Bennée
2020-10-06 12:08     ` 罗勇刚(Yonggang Luo)
2020-10-06 11:35 ` [PATCH v3 0/6] Enable plugin support on msys2/mingw Alex Bennée
2021-01-27  3:52   ` 罗勇刚(Yonggang Luo)
2021-02-10 15:10     ` Alex Bennée

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87sgat2bqh.fsf@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=luoyonggang@gmail.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.