diff mbox

[V2,for-2.0] vl.c: Fix OpenBSD compilation issue due to namespace collisions

Message ID 1395156395-24747-1-git-send-email-marcel.a@redhat.com
State New
Headers show

Commit Message

Marcel Apfelbaum March 18, 2014, 3:26 p.m. UTC
Machine rewriting added MACHINE macro which is
already in use by other OpenBSD library.
Since qemu/sockets.h exposes the OpenBSD namespace,
the minimalistic approach is to add it as the first QEMU include.

Reported-by: Brad Smith <brad@comstyle.com>
Signed-off-by: Marcel Apfelbaum <marcel.a@redhat.com>
---
V1 -> V2
 #undef MACHINE to avoid introducing warnings for redefining the macro.

 include/hw/boards.h | 1 +
 vl.c                | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

Comments

Andreas Färber March 19, 2014, 1:38 p.m. UTC | #1
Am 18.03.2014 16:26, schrieb Marcel Apfelbaum:
> Machine rewriting added MACHINE macro which is
> already in use by other OpenBSD library.
> Since qemu/sockets.h exposes the OpenBSD namespace,
> the minimalistic approach is to add it as the first QEMU include.
> 
> Reported-by: Brad Smith <brad@comstyle.com>
> Signed-off-by: Marcel Apfelbaum <marcel.a@redhat.com>
> ---
> V1 -> V2
>  #undef MACHINE to avoid introducing warnings for redefining the macro.
> 
>  include/hw/boards.h | 1 +
>  vl.c                | 2 +-
>  2 files changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/include/hw/boards.h b/include/hw/boards.h
> index 7bd2ea7..dd2c70d 100644
> --- a/include/hw/boards.h
> +++ b/include/hw/boards.h
> @@ -54,6 +54,7 @@ struct QEMUMachine {
>  int qemu_register_machine(QEMUMachine *m);
>  
>  #define TYPE_MACHINE "machine"
> +#undef MACHINE  /* BSD defines it and QEMU does not use it */
>  #define MACHINE(obj) \
>      OBJECT_CHECK(MachineState, (obj), TYPE_MACHINE)
>  #define MACHINE_GET_CLASS(obj) \
> diff --git a/vl.c b/vl.c
> index f0fe48b..9f86e68 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -58,6 +58,7 @@ int main(int argc, char **argv)
>  
>  #include <glib.h>
>  
> +#include "qemu/sockets.h"
>  #include "hw/hw.h"
>  #include "hw/boards.h"
>  #include "hw/usb.h"

Thanks, I've queued this for testing but would probably like to add a
comment explaining why this is placed there.

https://github.com/afaerber/qemu-cpu/commits/qom-next

Andreas

> @@ -103,7 +104,6 @@ int main(int argc, char **argv)
>  
>  #include "disas/disas.h"
>  
> -#include "qemu/sockets.h"
>  
>  #include "slirp/libslirp.h"
>  
>
Brad Smith March 21, 2014, 2:09 p.m. UTC | #2
On 18/03/14 11:26 AM, Marcel Apfelbaum wrote:
> Machine rewriting added MACHINE macro which is
> already in use by other OpenBSD library.
> Since qemu/sockets.h exposes the OpenBSD namespace,
> the minimalistic approach is to add it as the first QEMU include.
>
> Reported-by: Brad Smith <brad@comstyle.com>
> Signed-off-by: Marcel Apfelbaum <marcel.a@redhat.com>

Thank you for the workaround for the namespace collision.
diff mbox

Patch

diff --git a/include/hw/boards.h b/include/hw/boards.h
index 7bd2ea7..dd2c70d 100644
--- a/include/hw/boards.h
+++ b/include/hw/boards.h
@@ -54,6 +54,7 @@  struct QEMUMachine {
 int qemu_register_machine(QEMUMachine *m);
 
 #define TYPE_MACHINE "machine"
+#undef MACHINE  /* BSD defines it and QEMU does not use it */
 #define MACHINE(obj) \
     OBJECT_CHECK(MachineState, (obj), TYPE_MACHINE)
 #define MACHINE_GET_CLASS(obj) \
diff --git a/vl.c b/vl.c
index f0fe48b..9f86e68 100644
--- a/vl.c
+++ b/vl.c
@@ -58,6 +58,7 @@  int main(int argc, char **argv)
 
 #include <glib.h>
 
+#include "qemu/sockets.h"
 #include "hw/hw.h"
 #include "hw/boards.h"
 #include "hw/usb.h"
@@ -103,7 +104,6 @@  int main(int argc, char **argv)
 
 #include "disas/disas.h"
 
-#include "qemu/sockets.h"
 
 #include "slirp/libslirp.h"