qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [FreeBSD] Build Failure, qemu-char.c


From: Sean Bruno
Subject: Re: [Qemu-devel] [FreeBSD] Build Failure, qemu-char.c
Date: Fri, 22 Jan 2016 09:16:45 -0800
User-agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0

-----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-----



reply via email to

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