Message ID | 20210515104202.241504-1-f4bug@amsat.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | accel/tcg: Align data dumped at end of TB | expand |
On 5/15/21 5:42 AM, Philippe Mathieu-Daudé wrote: > + qemu_log("0x%08" PRIxPTR ": .quad 0x%0*" TCG_PRIlx "\n", > + (uintptr_t)&rx_data_gen_ptr[i], > + 2 * sizeof(tcg_target_ulong), rx_data_gen_ptr[i]); This doesn't quite work, because > ../qemu/accel/tcg/translate-all.c:2045:26: error: field width specifier ‘*’ expects argument of type ‘int’, but argument 3 has type ‘long unsigned int’ [-Werror=format=] > 2045 | qemu_log("0x%08" PRIxPTR ": .quad 0x%0*" TCG_PRIlx "\n", > | ^~~~~~~ > 2046 | (uintptr_t)&rx_data_gen_ptr[i], > 2047 | 2 * sizeof(tcg_target_ulong), rx_data_gen_ptr[i]); > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > | | > | long unsigned int However, I also noticed that we shouldn't be printing ".quad" for 32-bit hosts either. So I'll just split this into two separate qemu_log invocations, based on sizeof(tcg_target_ulong). r~
On 5/16/21 4:01 PM, Richard Henderson wrote: > On 5/15/21 5:42 AM, Philippe Mathieu-Daudé wrote: >> + qemu_log("0x%08" PRIxPTR ": .quad 0x%0*" TCG_PRIlx >> "\n", >> + (uintptr_t)&rx_data_gen_ptr[i], >> + 2 * sizeof(tcg_target_ulong), >> rx_data_gen_ptr[i]); > > This doesn't quite work, because > > >> ../qemu/accel/tcg/translate-all.c:2045:26: error: field width >> specifier ‘*’ expects argument of type ‘int’, but argument 3 has type >> ‘long unsigned int’ [-Werror=format=] >> 2045 | qemu_log("0x%08" PRIxPTR ": .quad 0x%0*" >> TCG_PRIlx "\n", >> | ^~~~~~~ >> 2046 | (uintptr_t)&rx_data_gen_ptr[i], >> 2047 | 2 * sizeof(tcg_target_ulong), >> rx_data_gen_ptr[i]); >> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> | | >> | long unsigned int > > > However, I also noticed that we shouldn't be printing ".quad" for 32-bit > hosts either. So I'll just split this into two separate qemu_log > invocations, based on sizeof(tcg_target_ulong). Thanks :)
diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c index ae7e873713a..387f3dc2303 100644 --- a/accel/tcg/translate-all.c +++ b/accel/tcg/translate-all.c @@ -2042,8 +2042,9 @@ TranslationBlock *tb_gen_code(CPUState *cpu, int i; qemu_log(" data: [size=%d]\n", data_size); for (i = 0; i < data_size / sizeof(tcg_target_ulong); i++) { - qemu_log("0x%08" PRIxPTR ": .quad 0x%" TCG_PRIlx "\n", - (uintptr_t)&rx_data_gen_ptr[i], rx_data_gen_ptr[i]); + qemu_log("0x%08" PRIxPTR ": .quad 0x%0*" TCG_PRIlx "\n", + (uintptr_t)&rx_data_gen_ptr[i], + 2 * sizeof(tcg_target_ulong), rx_data_gen_ptr[i]); } } qemu_log("\n");
To better visualize the data dumped at the end of a TB, left-align it (padding it with 0). Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> --- accel/tcg/translate-all.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)