qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PULL 18/76] optionrom: add new PVH option rom


From: Stefano Garzarella
Subject: Re: [Qemu-devel] [PULL 18/76] optionrom: add new PVH option rom
Date: Fri, 19 Mar 2021 19:25:38 +0100

On Fri, Mar 19, 2021 at 7:20 PM Stefano Garzarella <sgarzare@redhat.com> wrote:
>
> On Fri, Mar 19, 2021 at 06:52:39PM +0100, Paolo Bonzini wrote:
> >It's likely that the compiler will online it. But indeed it's better to add
> >-minline-all-stringops to the compiler command line.
> >
>
> Cool, I didn't know that one!
> I tried but I did something wrong because the linker is not happy, next
> week I'll check better:
> ld: pvh_main.o: in function `search_rsdp':
> /home/stefano/repos/qemu/pc-bios/optionrom/pvh_main.c:62: undefined reference 
> to `memcmp'
> ld: /home/stefano/repos/qemu/pc-bios/optionrom/pvh_main.c:62: undefined 
> reference to `memcmp'
>
>
> In the mean time, I simply tried to assign the RSDP_SIGNATURE macro to
> an uint64_t variable and I have this new warning, using gcc 10.2.1 "cc
> (Alpine 10.2.1_pre2) 10.2.1 20210313":
>
> In file included from /tmp/qemu-test/src/pc-bios/optionrom/pvh_main.c:25:
> /tmp/qemu-test/src/pc-bios/optionrom/pvh_main.c: In function 'search_rsdp':
> /tmp/qemu-test/src/pc-bios/optionrom/pvh_main.c:30:42: warning: conversion 
> from 'long long unsigned int' to 'uint64_t' {aka 'long unsigned int'} changes 
> value from '2329016660419433298' to '541348690' [-Woverflow]
>     30 | #define RSDP_SIGNATURE          UINT64_C(0x2052545020445352) /* "RSD 
> PTR " */
>        |                                          ^~~~~~~~~~~~~~~~~~
> /tmp/qemu-test/src/pc-bios/optionrom/pvh_main.c:69:31: note: in expansion of 
> macro 'RSDP_SIGNATURE'
>     69 |     uint64_t rsdp_signature = RSDP_SIGNATURE;
>        |
>
> Using gcc (GCC) 10.2.1 20201125 (Red Hat 10.2.1-9) I don't have it.
>
> It seems a bit strange, I don't know if it's related to the fact that we
> compile with -m16, I'll check better.

Anyway I think that using memcmp() I can switch to a character array to 
store the signature, but this gcc warnings confused me a bit...

Stefano




reply via email to

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