Patchwork translate-all: fix compiler warning and linked error

login
register
mail settings
Submitter Alexey Kardashevskiy
Date April 22, 2013, 7:42 a.m.
Message ID <1366616571-4321-1-git-send-email-aik@ozlabs.ru>
Download mbox | patch
Permalink /patch/238347/
State New
Headers show

Comments

Alexey Kardashevskiy - April 22, 2013, 7:42 a.m.
The code did use profile_getclock() but did not include
include/qemu/timer.h where this function is defined. The patch fixes this.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
---

The exact warning and error messages are:

/home/alexey/pcipassthru/qemu-impreza/translate-all.c:150:5: warning: implicit declaration of function 'profile_getclock' [-Wimplicit-function-declaration]
     ti = profile_getclock();
     ^

...

/home/alexey/pcipassthru/qemu-impreza/translate-all.c:150: undefined reference to `profile_getclock'


---
 translate-all.c |    1 +
 1 file changed, 1 insertion(+)
Peter Maydell - April 22, 2013, 9 a.m.
On 22 April 2013 08:42, Alexey Kardashevskiy <aik@ozlabs.ru> wrote:
> The code did use profile_getclock() but did not include
> include/qemu/timer.h where this function is defined. The patch fixes this.
>
> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

NB that this compile failure only happens if you configure
with --enable-profiler.

thanks
-- PMM
Alexey Kardashevskiy - April 22, 2013, 10:01 a.m.
On 04/22/2013 07:00 PM, Peter Maydell wrote:
> On 22 April 2013 08:42, Alexey Kardashevskiy <aik@ozlabs.ru> wrote:
>> The code did use profile_getclock() but did not include
>> include/qemu/timer.h where this function is defined. The patch fixes this.
>>
>> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
>
> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
>
> NB that this compile failure only happens if you configure
> with --enable-profiler.

I also thought I can enable/disable it via ./configure but in fact I cannot:

alexey@ka1:~/pcipassthru/qemu-impreza$ ./configure --help | grep prof
alexey@ka1:~/pcipassthru/qemu-impreza$
Peter Maydell - April 22, 2013, 10:03 a.m.
On 22 April 2013 11:01, Alexey Kardashevskiy <aik@ozlabs.ru> wrote:
> On 04/22/2013 07:00 PM, Peter Maydell wrote:
>> NB that this compile failure only happens if you configure
>> with --enable-profiler.
>
>
> I also thought I can enable/disable it via ./configure but in fact I cannot:
>
> alexey@ka1:~/pcipassthru/qemu-impreza$ ./configure --help | grep prof
> alexey@ka1:~/pcipassthru/qemu-impreza$

--enable-profiler exists but it is undocumented (ie not mentioned
in the --help text). In fact I have no idea how you tripped over
this missing include if you don't know about --enable-profiler,
since configure's default is to not enable this code.

thanks
-- PMM
Alexey Kardashevskiy - April 22, 2013, 10:08 a.m.
On 04/22/2013 08:03 PM, Peter Maydell wrote:
> On 22 April 2013 11:01, Alexey Kardashevskiy <aik@ozlabs.ru> wrote:
>> On 04/22/2013 07:00 PM, Peter Maydell wrote:
>>> NB that this compile failure only happens if you configure
>>> with --enable-profiler.
>>
>>
>> I also thought I can enable/disable it via ./configure but in fact I cannot:
>>
>> alexey@ka1:~/pcipassthru/qemu-impreza$ ./configure --help | grep prof
>> alexey@ka1:~/pcipassthru/qemu-impreza$
>
> --enable-profiler exists but it is undocumented (ie not mentioned
> in the --help text). In fact I have no idea how you tripped over
> this missing include if you don't know about --enable-profiler,
> since configure's default is to not enable this code.

Ah. Looked closer to my scripts and found --enable-profiler (leftover from 
something). I was confused by the fact that there is no 
"--disable-profiler", the ./configure script prints an error.
Anthony Liguori - April 22, 2013, 6:34 p.m.
Applied.  Thanks.

Regards,

Anthony Liguori

Patch

diff --git a/translate-all.c b/translate-all.c
index 08dd038..d04a116 100644
--- a/translate-all.c
+++ b/translate-all.c
@@ -58,6 +58,7 @@ 
 
 #include "exec/cputlb.h"
 #include "translate-all.h"
+#include "qemu/timer.h"
 
 //#define DEBUG_TB_INVALIDATE
 //#define DEBUG_FLUSH