qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [FreeBSD] Build Failure, qemu-char.c
@ 2016-01-22 16:39 Sean Bruno
  2016-01-22 16:47 ` Peter Maydell
  0 siblings, 1 reply; 5+ messages in thread
From: Sean Bruno @ 2016-01-22 16:39 UTC (permalink / raw)
  To: qemu-devel

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Started seeing a build failure after the updates to qemu-char.c

I think clang is not doing something that gcc does implicitly?

qemu-char.c:1843:26: error: use of undeclared identifier 'common'
    chr = qemu_chr_alloc(common, errp);
                         ^
qemu-char.c:4265:36: warning: incompatible pointer types passing
'ChardevCommon *' (aka 'struct ChardevCommon *') to parameter of type
'ChardevBackend *' (aka 'struct ChardevBackend *')
[-Wincompatible-pointer-types]
    return qemu_chr_open_pp_fd(fd, common, errp);
                                   ^~~~~~
qemu-char.c:1838:61: note: passing argument to parameter 'backend' here
                                            ChardevBackend *backend,
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQF8BAEBCgBmBQJWolskXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRCQUFENDYzMkU3MTIxREU4RDIwOTk3REQx
MjAxRUZDQTFFNzI3RTY0AAoJEBIB78oecn5kdR8H/2UBG5pnCSuKexVqBHyn8coF
85aBuXf5/lz/pPdlU1Wp2wmM/i1isoizxoUYit98hBx4xwu/dFh53CQUPbGgYQBx
LoPLkdwavs7bNT7zQ4PeB1Jm4GN7qqK321mOc1GGOmrWkEyl70fGDUUBN1Cjeo7F
EULAaAmzrTadPHx2gaHUiEGABPHfPmwevaRLnSIbhjPbqqrf/gBy1w5LFJoDCBid
/oOUzJBjzAT1pFz5y3ecyomjz+TUdLtd8LShDcwZtPloheDEvst4UyCg0Sp3z/51
xvk06ZRncTr9Ks5Q+dnVDBKkf3Z8KP0RnX4Kq3q1dTJAXAa4pBcutw8Q7B+29tQ=
=75/8
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [FreeBSD] Build Failure, qemu-char.c
  2016-01-22 16:39 [Qemu-devel] [FreeBSD] Build Failure, qemu-char.c Sean Bruno
@ 2016-01-22 16:47 ` Peter Maydell
  2016-01-22 16:52   ` Sean Bruno
  0 siblings, 1 reply; 5+ messages in thread
From: Peter Maydell @ 2016-01-22 16:47 UTC (permalink / raw)
  To: Sean Bruno; +Cc: QEMU Developers

On 22 January 2016 at 16:39, Sean Bruno <sbruno@freebsd.org> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA512
>
> Started seeing a build failure after the updates to qemu-char.c

Ccing Dan whose commit that is...

> I think clang is not doing something that gcc does implicitly?
>
> qemu-char.c:1843:26: error: use of undeclared identifier 'common'
>     chr = qemu_chr_alloc(common, errp);
>                          ^

This one is just straightforwardly BSD-only code that
hasn't been compile-tested.

> qemu-char.c:4265:36: warning: incompatible pointer types passing
> 'ChardevCommon *' (aka 'struct ChardevCommon *') to parameter of type
> 'ChardevBackend *' (aka 'struct ChardevBackend *')
> [-Wincompatible-pointer-types]
>     return qemu_chr_open_pp_fd(fd, common, errp);
>                                    ^~~~~~
> qemu-char.c:1838:61: note: passing argument to parameter 'backend' here
>                                             ChardevBackend *backend,

This one looks like it ought to build on Linux so you're probably
right about it being a clang-only thing. (We do build with clang
on OSX but I think there the CHARDEV_PARPORT code is not compiled in.)

thanks
-- PMM

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [FreeBSD] Build Failure, qemu-char.c
  2016-01-22 16:47 ` Peter Maydell
@ 2016-01-22 16:52   ` Sean Bruno
  2016-01-22 17:02     ` Daniel P. Berrange
  0 siblings, 1 reply; 5+ messages in thread
From: Sean Bruno @ 2016-01-22 16:52 UTC (permalink / raw)
  To: Peter Maydell; +Cc: QEMU Developers

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512



On 01/22/16 08:47, Peter Maydell wrote:

> This one is just straightforwardly BSD-only code that hasn't been
> compile-tested.
> 
>> qemu-char.c:4265:36: warning: incompatible pointer types passing 
>> 'ChardevCommon *' (aka 'struct ChardevCommon *') to parameter of
>> type 'ChardevBackend *' (aka 'struct ChardevBackend *') 
>> [-Wincompatible-pointer-types] return qemu_chr_open_pp_fd(fd,
>> common, errp); ^~~~~~ qemu-char.c:1838:61: note: passing argument
>> to parameter 'backend' here ChardevBackend *backend,
> 
> This one looks like it ought to build on Linux so you're probably 
> right about it being a clang-only thing. (We do build with clang on
> OSX but I think there the CHARDEV_PARPORT code is not compiled
> in.)
> 
> thanks -- PMM
> 

Yeah, this is smack in the middle of #ifdef (random BSD) here.  It
looks like a simple copy/paste error where "common" should have been
"backend".  Fixes the build failure, but still emits a cast warning.
I think this is the intent of the changes however.

index e133f4f..73eb10f 100644
- --- a/qemu-char.c
+++ b/qemu-char.c
@@ -1840,7 +1840,7 @@ static CharDriverState *qemu_chr_open_pp_fd(int fd,
 {
     CharDriverState *chr;

- -    chr = qemu_chr_alloc(common, errp);
+    chr = qemu_chr_alloc(backend, errp);
     if (!chr) {
         return NULL;
     }
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQF8BAEBCgBmBQJWol5RXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRCQUFENDYzMkU3MTIxREU4RDIwOTk3REQx
MjAxRUZDQTFFNzI3RTY0AAoJEBIB78oecn5k8+IH/RRQP1AD8c+eNo4IcTUMIm8o
voNYHPUgwYAfEyXPewJwyXHlZG5cMJ2rrxUue9WaXJ/TsyRtxhsAi3PLoJcXzTWE
UvOZgZT3M6Xo0EcMy/PTf66Kc57/V7zrKxS5BDlBZp/yRCzrVkenmCmY/NjoqQq/
ZXPx7UpI5ec6debSalfwT67jboLJlvwhVibSR9/kAf0IbWQBFien9WC1RJmXvKJ2
Mk831symwxR8WaTeccP9tWytFC+CmHHqCssaSL7wkqmrwVKGDNrEDe7r6FftyY2a
3NPm8X3ahEkwE7m0fbNq03O3liw//reM8LRoyIKWQgA3M6pSYpXVGmwZXMpYA4I=
=O8aP
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [FreeBSD] Build Failure, qemu-char.c
  2016-01-22 16:52   ` Sean Bruno
@ 2016-01-22 17:02     ` Daniel P. Berrange
  2016-01-22 17:16       ` Sean Bruno
  0 siblings, 1 reply; 5+ messages in thread
From: Daniel P. Berrange @ 2016-01-22 17:02 UTC (permalink / raw)
  To: Sean Bruno; +Cc: Peter Maydell, QEMU Developers

On Fri, Jan 22, 2016 at 08:52:36AM -0800, Sean Bruno wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA512
> 
> 
> 
> On 01/22/16 08:47, Peter Maydell wrote:
> 
> > This one is just straightforwardly BSD-only code that hasn't been
> > compile-tested.
> > 
> >> qemu-char.c:4265:36: warning: incompatible pointer types passing 
> >> 'ChardevCommon *' (aka 'struct ChardevCommon *') to parameter of
> >> type 'ChardevBackend *' (aka 'struct ChardevBackend *') 
> >> [-Wincompatible-pointer-types] return qemu_chr_open_pp_fd(fd,
> >> common, errp); ^~~~~~ qemu-char.c:1838:61: note: passing argument
> >> to parameter 'backend' here ChardevBackend *backend,
> > 
> > This one looks like it ought to build on Linux so you're probably 
> > right about it being a clang-only thing. (We do build with clang on
> > OSX but I think there the CHARDEV_PARPORT code is not compiled
> > in.)
> > 
> > thanks -- PMM
> > 
> 
> Yeah, this is smack in the middle of #ifdef (random BSD) here.  It
> looks like a simple copy/paste error where "common" should have been
> "backend".  Fixes the build failure, but still emits a cast warning.
> I think this is the intent of the changes however.
> 
> index e133f4f..73eb10f 100644
> - --- a/qemu-char.c
> +++ b/qemu-char.c
> @@ -1840,7 +1840,7 @@ static CharDriverState *qemu_chr_open_pp_fd(int fd,
>  {
>      CharDriverState *chr;
> 
> - -    chr = qemu_chr_alloc(common, errp);
> +    chr = qemu_chr_alloc(backend, errp);
>      if (!chr) {
>          return NULL;
>      }

Close, but you need to change the type of the parameter too. Can you
test this for me

diff --git a/qemu-char.c b/qemu-char.c
index e133f4f..aa2e660 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -1835,12 +1835,12 @@ static int pp_ioctl(CharDriverState *chr, int cmd, void *arg)
 }
 
 static CharDriverState *qemu_chr_open_pp_fd(int fd,
-                                            ChardevBackend *backend,
+                                            ChardevCommon *backend,
                                             Error **errp)
 {
     CharDriverState *chr;
 
-    chr = qemu_chr_alloc(common, errp);
+    chr = qemu_chr_alloc(backend, errp);
     if (!chr) {
         return NULL;
     }


If it solves it, i'll send a patch formally


Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [FreeBSD] Build Failure, qemu-char.c
  2016-01-22 17:02     ` Daniel P. Berrange
@ 2016-01-22 17:16       ` Sean Bruno
  0 siblings, 0 replies; 5+ messages in thread
From: Sean Bruno @ 2016-01-22 17:16 UTC (permalink / raw)
  To: Daniel P. Berrange; +Cc: Peter Maydell, QEMU Developers

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512



On 01/22/16 09:02, Daniel P. Berrange wrote:
> On Fri, Jan 22, 2016 at 08:52:36AM -0800, Sean Bruno wrote:
>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512
>> 
>> 
>> 
>> On 01/22/16 08:47, Peter Maydell wrote:
>> 
>>> This one is just straightforwardly BSD-only code that hasn't
>>> been compile-tested.
>>> 
>>>> qemu-char.c:4265:36: warning: incompatible pointer types
>>>> passing 'ChardevCommon *' (aka 'struct ChardevCommon *') to
>>>> parameter of type 'ChardevBackend *' (aka 'struct
>>>> ChardevBackend *') [-Wincompatible-pointer-types] return
>>>> qemu_chr_open_pp_fd(fd, common, errp); ^~~~~~
>>>> qemu-char.c:1838:61: note: passing argument to parameter
>>>> 'backend' here ChardevBackend *backend,
>>> 
>>> This one looks like it ought to build on Linux so you're
>>> probably right about it being a clang-only thing. (We do build
>>> with clang on OSX but I think there the CHARDEV_PARPORT code is
>>> not compiled in.)
>>> 
>>> thanks -- PMM
>>> 
>> 
>> Yeah, this is smack in the middle of #ifdef (random BSD) here.
>> It looks like a simple copy/paste error where "common" should
>> have been "backend".  Fixes the build failure, but still emits a
>> cast warning. I think this is the intent of the changes however.
>> 
>> index e133f4f..73eb10f 100644 - --- a/qemu-char.c +++
>> b/qemu-char.c @@ -1840,7 +1840,7 @@ static CharDriverState
>> *qemu_chr_open_pp_fd(int fd, { CharDriverState *chr;
>> 
>> - -    chr = qemu_chr_alloc(common, errp); +    chr =
>> qemu_chr_alloc(backend, errp); if (!chr) { return NULL; }
> 
> Close, but you need to change the type of the parameter too. Can
> you test this for me
> 
> diff --git a/qemu-char.c b/qemu-char.c index e133f4f..aa2e660
> 100644 --- a/qemu-char.c +++ b/qemu-char.c @@ -1835,12 +1835,12 @@
> static int pp_ioctl(CharDriverState *chr, int cmd, void *arg) }
> 
> static CharDriverState *qemu_chr_open_pp_fd(int fd, -
> ChardevBackend *backend, +
> ChardevCommon *backend, Error **errp) { CharDriverState *chr;
> 
> -    chr = qemu_chr_alloc(common, errp); +    chr =
> qemu_chr_alloc(backend, errp); if (!chr) { return NULL; }
> 
> 
> If it solves it, i'll send a patch formally
> 
> 
> Regards, Daniel
> 

Yep, confirmed working/compiling with no warning.  Thanks!

sean
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQF8BAEBCgBmBQJWomP7XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRCQUFENDYzMkU3MTIxREU4RDIwOTk3REQx
MjAxRUZDQTFFNzI3RTY0AAoJEBIB78oecn5knMwH/2jnh/+AVDDDlJVgNV6PiTWB
+kaKO0B/22xGHsiUQNpvxjcnb03PH82XZ1XSyBdHpMWfWoLXIkXXi4vtf7On/008
jtMw7DNcInTdAsFLgQQlfmO7MnTnxaL93KpbR12eMLkau7/QRPxE+LSjeqHCHWMs
tuH4i7Hgd4hfhYoWma8lBR3Jca7YOa882QLKoUPZ4+qt2G0WkvpkW95E3RFnLFvD
M0bTTqk2E6oAKIps+Rbfu4/e2cpGygBk9m2ZcXWLXJKEQHeQ4Pn97ns15xWTDtn3
q0XIbEMqHRG7RVqm/V+fiKB4n4joSxDRD8MZEfGm6e9d7pJIQfz1ZIFmvpsiNcE=
=vMv+
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-01-22 17:16 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-22 16:39 [Qemu-devel] [FreeBSD] Build Failure, qemu-char.c Sean Bruno
2016-01-22 16:47 ` Peter Maydell
2016-01-22 16:52   ` Sean Bruno
2016-01-22 17:02     ` Daniel P. Berrange
2016-01-22 17:16       ` Sean Bruno

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).