* [Qemu-devel] [PATCH 0/2] Clean up 32bit compilation for Migration
@ 2015-11-10 16:52 Juan Quintela
2015-11-10 16:53 ` [Qemu-devel] [PATCH 1/2] migration: print ram_addr_t as RAM_ADDR_FMT not %zx Juan Quintela
2015-11-10 16:53 ` [Qemu-devel] [PATCH 2/2] migration: Make 32bit linux compile with RDMA Juan Quintela
0 siblings, 2 replies; 5+ messages in thread
From: Juan Quintela @ 2015-11-10 16:52 UTC (permalink / raw)
To: qemu-devel; +Cc: amit.shah, dgilbert
Hi
We had two warnings on 32bit targets. With this change I am able to
compile with -Werror on:
- linux 64bit
- linux 32bit
- windows 32bit (cross-compile with Fedora mingw64)
- windows 64bit (cross-compile with Fedora mingw64)
I am lying in this one, really my crosscompiler for windows 64 bit barf at
CXX disas/libvixl/a64/disasm-a64.o
/mnt/kvm/qemu/next/disas/libvixl/a64/disasm-a64.cc: In member function 'virtual void vixl::Disassembler::AppendPCRelativeOffsetToOutput(const vixl::Instruction*, int64_t)':
/mnt/kvm/qemu/next/disas/libvixl/a64/disasm-a64.cc:1365:57: error: unknown conversion type character 'l' in format [-Werror=format=]
AppendToOutput("#%c0x%" PRIx64, sign, std::abs(offset));
^
/mnt/kvm/qemu/next/disas/libvixl/a64/disasm-a64.cc:1365:57: error: too many arguments for format [-Werror=format-extra-args]
/mnt/kvm/qemu/next/disas/libvixl/a64/disasm-a64.cc: In member function 'virtual void vixl::Disassembler::AppendAddressToOutput(const vixl::Instruction*, const void*)':
/mnt/kvm/qemu/next/disas/libvixl/a64/disasm-a64.cc:1372:76: error: unknown conversion type character 'l' in format [-Werror=format=]
AppendToOutput("(addr 0x%" PRIxPTR ")", reinterpret_cast<uintptr_t>(addr));
^
/mnt/kvm/qemu/next/disas/libvixl/a64/disasm-a64.cc:1372:76: error: too many arguments for format [-Werror=format-extra-args]
/mnt/kvm/qemu/next/disas/libvixl/a64/disasm-a64.cc: In member function 'virtual void vixl::Disassembler::AppendCodeRelativeAddressToOutput(const vixl::Instruction*, const void*)':
/mnt/kvm/qemu/next/disas/libvixl/a64/disasm-a64.cc:1393:52: error: unknown conversion type character 'l' in format [-Werror=format=]
AppendToOutput("(addr 0x%" PRIx64 ")", rel_addr);
^
/mnt/kvm/qemu/next/disas/libvixl/a64/disasm-a64.cc:1393:52: error: too many arguments for format [-Werror=format-extra-args]
/mnt/kvm/qemu/next/disas/libvixl/a64/disasm-a64.cc:1395:54: error: unknown conversion type character 'l' in format [-Werror=format=]
AppendToOutput("(addr -0x%" PRIx64 ")", -rel_addr);
^
.....
I am wondering if it really understand PRI*64 at all.
Please, review.
Juan.
Juan Quintela (2):
migration: print ram_addr_t as RAM_ADDR_FMT not %zx
migration: Make 32bit linux compile with RDMA
migration/ram.c | 5 +++--
migration/rdma.c | 2 +-
2 files changed, 4 insertions(+), 3 deletions(-)
--
2.5.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Qemu-devel] [PATCH 1/2] migration: print ram_addr_t as RAM_ADDR_FMT not %zx
2015-11-10 16:52 [Qemu-devel] [PATCH 0/2] Clean up 32bit compilation for Migration Juan Quintela
@ 2015-11-10 16:53 ` Juan Quintela
2015-11-10 16:55 ` Dr. David Alan Gilbert
2015-11-10 16:53 ` [Qemu-devel] [PATCH 2/2] migration: Make 32bit linux compile with RDMA Juan Quintela
1 sibling, 1 reply; 5+ messages in thread
From: Juan Quintela @ 2015-11-10 16:53 UTC (permalink / raw)
To: qemu-devel; +Cc: amit.shah, dgilbert
Not all the wold is 64bits (yet).
Signed-off-by: Juan Quintela <quintela@redhat.com>
---
migration/ram.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/migration/ram.c b/migration/ram.c
index 62cf42b..d8d5a50 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -1184,7 +1184,8 @@ int ram_save_queue_pages(MigrationState *ms, const char *rbname,
}
trace_ram_save_queue_pages(ramblock->idstr, start, len);
if (start+len > ramblock->used_length) {
- error_report("%s request overrun start=%zx len=%zx blocklen=%zx",
+ error_report("%s request overrun start=" RAM_ADDR_FMT " len="
+ RAM_ADDR_FMT " blocklen=" RAM_ADDR_FMT,
__func__, start, len, ramblock->used_length);
goto err;
}
@@ -1845,7 +1846,7 @@ int ram_discard_range(MigrationIncomingState *mis,
ret = postcopy_ram_discard_range(mis, host_startaddr, length);
} else {
error_report("ram_discard_range: Overrun block '%s' (%" PRIu64
- "/%zu/%zu)",
+ "/%zx/" RAM_ADDR_FMT")",
block_name, start, length, rb->used_length);
}
--
2.5.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Qemu-devel] [PATCH 2/2] migration: Make 32bit linux compile with RDMA
2015-11-10 16:52 [Qemu-devel] [PATCH 0/2] Clean up 32bit compilation for Migration Juan Quintela
2015-11-10 16:53 ` [Qemu-devel] [PATCH 1/2] migration: print ram_addr_t as RAM_ADDR_FMT not %zx Juan Quintela
@ 2015-11-10 16:53 ` Juan Quintela
2015-11-10 16:56 ` Dr. David Alan Gilbert
1 sibling, 1 reply; 5+ messages in thread
From: Juan Quintela @ 2015-11-10 16:53 UTC (permalink / raw)
To: qemu-devel; +Cc: amit.shah, dgilbert
Rest of the file already use that trick. 64bit offsets make no sense in
32bit archs, but that is ram_addr_t for you.
Signed-off-by: Juan Quintela <quintela@redhat.com>
---
migration/rdma.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/migration/rdma.c b/migration/rdma.c
index 553fbd7..dcabb91 100644
--- a/migration/rdma.c
+++ b/migration/rdma.c
@@ -577,7 +577,7 @@ static int rdma_add_block(RDMAContext *rdma, const char *block_name,
block->is_ram_block = local->init ? false : true;
if (rdma->blockmap) {
- g_hash_table_insert(rdma->blockmap, (void *) block_offset, block);
+ g_hash_table_insert(rdma->blockmap, (void *)(uintptr_t)block_offset, block);
}
trace_rdma_add_block(block_name, local->nb_blocks,
--
2.5.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] migration: print ram_addr_t as RAM_ADDR_FMT not %zx
2015-11-10 16:53 ` [Qemu-devel] [PATCH 1/2] migration: print ram_addr_t as RAM_ADDR_FMT not %zx Juan Quintela
@ 2015-11-10 16:55 ` Dr. David Alan Gilbert
0 siblings, 0 replies; 5+ messages in thread
From: Dr. David Alan Gilbert @ 2015-11-10 16:55 UTC (permalink / raw)
To: Juan Quintela; +Cc: amit.shah, qemu-devel
* Juan Quintela (quintela@redhat.com) wrote:
> Not all the wold is 64bits (yet).
>
> Signed-off-by: Juan Quintela <quintela@redhat.com>
Yep that's my fault.
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> ---
> migration/ram.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/migration/ram.c b/migration/ram.c
> index 62cf42b..d8d5a50 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -1184,7 +1184,8 @@ int ram_save_queue_pages(MigrationState *ms, const char *rbname,
> }
> trace_ram_save_queue_pages(ramblock->idstr, start, len);
> if (start+len > ramblock->used_length) {
> - error_report("%s request overrun start=%zx len=%zx blocklen=%zx",
> + error_report("%s request overrun start=" RAM_ADDR_FMT " len="
> + RAM_ADDR_FMT " blocklen=" RAM_ADDR_FMT,
> __func__, start, len, ramblock->used_length);
> goto err;
> }
> @@ -1845,7 +1846,7 @@ int ram_discard_range(MigrationIncomingState *mis,
> ret = postcopy_ram_discard_range(mis, host_startaddr, length);
> } else {
> error_report("ram_discard_range: Overrun block '%s' (%" PRIu64
> - "/%zu/%zu)",
> + "/%zx/" RAM_ADDR_FMT")",
> block_name, start, length, rb->used_length);
> }
>
> --
> 2.5.0
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] migration: Make 32bit linux compile with RDMA
2015-11-10 16:53 ` [Qemu-devel] [PATCH 2/2] migration: Make 32bit linux compile with RDMA Juan Quintela
@ 2015-11-10 16:56 ` Dr. David Alan Gilbert
0 siblings, 0 replies; 5+ messages in thread
From: Dr. David Alan Gilbert @ 2015-11-10 16:56 UTC (permalink / raw)
To: Juan Quintela; +Cc: amit.shah, qemu-devel
* Juan Quintela (quintela@redhat.com) wrote:
> Rest of the file already use that trick. 64bit offsets make no sense in
> 32bit archs, but that is ram_addr_t for you.
>
> Signed-off-by: Juan Quintela <quintela@redhat.com>
> ---
> migration/rdma.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/migration/rdma.c b/migration/rdma.c
> index 553fbd7..dcabb91 100644
> --- a/migration/rdma.c
> +++ b/migration/rdma.c
> @@ -577,7 +577,7 @@ static int rdma_add_block(RDMAContext *rdma, const char *block_name,
> block->is_ram_block = local->init ? false : true;
>
> if (rdma->blockmap) {
> - g_hash_table_insert(rdma->blockmap, (void *) block_offset, block);
> + g_hash_table_insert(rdma->blockmap, (void *)(uintptr_t)block_offset, block);
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Dave
> }
>
> trace_rdma_add_block(block_name, local->nb_blocks,
> --
> 2.5.0
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-11-10 16:56 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-10 16:52 [Qemu-devel] [PATCH 0/2] Clean up 32bit compilation for Migration Juan Quintela
2015-11-10 16:53 ` [Qemu-devel] [PATCH 1/2] migration: print ram_addr_t as RAM_ADDR_FMT not %zx Juan Quintela
2015-11-10 16:55 ` Dr. David Alan Gilbert
2015-11-10 16:53 ` [Qemu-devel] [PATCH 2/2] migration: Make 32bit linux compile with RDMA Juan Quintela
2015-11-10 16:56 ` Dr. David Alan Gilbert
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).