qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v3] target/ppc: Fix 64-bit decrementer


From: Richard Henderson
Subject: Re: [PATCH v3] target/ppc: Fix 64-bit decrementer
Date: Fri, 17 Sep 2021 08:11:31 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0

On 9/17/21 7:10 AM, Cédric Le Goater wrote:
On 9/17/21 16:00, Luis Fernando Fujita Pires wrote:
From: Cédric Le Goater <clg@kaod.org>
+    target_long signed_value;
+    target_long signed_decr;

Since these values will be the results of sextract64, it's probably better to
define them as int64_t.

but then it breaks the code doing the logging on PPC32 targets :/

You mean here?

You need to define PPC_DEBUG_TB and compile the ppc-softmmu :

../hw/ppc/ppc.c: In function ‘__cpu_ppc_store_decr’:
../hw/ppc/ppc.c:883:12: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 4 has type ‘int64_t’ {aka ‘long int’} [-Werror=format=]
   883 |     LOG_TB("%s: " TARGET_FMT_lx " => " TARGET_FMT_lx "\n", __func__,
       |            ^~~~~~
   884 |                 decr, signed_value);
       |                       ~~~~~~~~~~~~
       |                       |
       |                       int64_t {aka long int}
../hw/ppc/ppc.c:51:32: note: in definition of macro ‘LOG_TB’
    51 | #  define LOG_TB(...) qemu_log(__VA_ARGS__)
       |                                ^~~~~~~~~~~
cc1: all warnings being treated as errors

So use PRIx64, as you're supposed to do.
Or, in fact, change this to a tracepoint.

r~



reply via email to

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