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 <c...@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