Message ID | 1395149962-31793-1-git-send-email-marcel.a@redhat.com |
---|---|
State | New |
Headers | show |
On 18 March 2014 13:39, Marcel Apfelbaum <marcel.a@redhat.com> 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> > --- > vl.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > 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" I'm confused; why doesn't this just result in a compiler error in the other direction when we try to #define MACHINE in QEMU and it's already been defined by the BSD headers? thanks -- PMM
On Tue, 2014-03-18 at 13:57 +0000, Peter Maydell wrote: > On 18 March 2014 13:39, Marcel Apfelbaum <marcel.a@redhat.com> 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> > > --- > > vl.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > 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" > > I'm confused; why doesn't this just result in a compiler > error in the other direction when we try to #define > MACHINE in QEMU and it's already been defined by > the BSD headers? Maybe because there is usage of the "MACHINE" define by the BSD library? (on Qemu context, of course! - meaning, it shouldn't even be exposed in the first place!) Thanks, Marcel > > thanks > -- PMM
On Tue, 2014-03-18 at 16:05 +0200, Marcel Apfelbaum wrote: > On Tue, 2014-03-18 at 13:57 +0000, Peter Maydell wrote: > > On 18 March 2014 13:39, Marcel Apfelbaum <marcel.a@redhat.com> 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> > > > --- > > > vl.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > 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" > > > > I'm confused; why doesn't this just result in a compiler > > error in the other direction when we try to #define > > MACHINE in QEMU and it's already been defined by > > the BSD headers? > Maybe because there is usage of the "MACHINE" define by the BSD > library? (on Qemu context, of course! - meaning, it shouldn't even be > exposed in the first place!) I meant "there is *no* usage of the..." > > Thanks, > Marcel > > > > > thanks > > -- PMM > >
On 18 March 2014 14:27, Marcel Apfelbaum <marcel.a@redhat.com> wrote: > On Tue, 2014-03-18 at 16:05 +0200, Marcel Apfelbaum wrote: >> On Tue, 2014-03-18 at 13:57 +0000, Peter Maydell wrote: >> > I'm confused; why doesn't this just result in a compiler >> > error in the other direction when we try to #define >> > MACHINE in QEMU and it's already been defined by >> > the BSD headers? >> Maybe because there is usage of the "MACHINE" define by the BSD >> library? (on Qemu context, of course! - meaning, it shouldn't even be >> exposed in the first place!) > I meant "there is *no* usage of the..." But we'll still see #define MACHINE something and then later #define MACHINE something-else right? The compiler ought to complain about that, at point of the second #define; use or otherwise of the macro isn't relevant here. thanks -- PMM
On Tue, 2014-03-18 at 14:28 +0000, Peter Maydell wrote: > On 18 March 2014 14:27, Marcel Apfelbaum <marcel.a@redhat.com> wrote: > > On Tue, 2014-03-18 at 16:05 +0200, Marcel Apfelbaum wrote: > >> On Tue, 2014-03-18 at 13:57 +0000, Peter Maydell wrote: > >> > I'm confused; why doesn't this just result in a compiler > >> > error in the other direction when we try to #define > >> > MACHINE in QEMU and it's already been defined by > >> > the BSD headers? > >> Maybe because there is usage of the "MACHINE" define by the BSD > >> library? (on Qemu context, of course! - meaning, it shouldn't even be > >> exposed in the first place!) > > I meant "there is *no* usage of the..." > > But we'll still see > #define MACHINE something > and then later > #define MACHINE something-else > > right? The compiler ought to complain about that, at point > of the second #define; use or otherwise of the macro isn't > relevant here. Right! Sorry. As Andreas said in IRC, BSDs do not build with -Werror > > thanks > -- PMM >
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"
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> --- vl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)