From: Gabriel Corona Date: Fri, 17 Jul 2015 08:21:39 +0000 (+0200) Subject: [mc] Fix another signedness conversion issue with addresses on 32 bit X-Git-Tag: v3_12~511 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/cf4d2d2d8663a439290538b89da4bc0f7574311d [mc] Fix another signedness conversion issue with addresses on 32 bit --- diff --git a/src/mc/mc_client_api.cpp b/src/mc/mc_client_api.cpp index f4bed1b6cf..f48a80cbc5 100644 --- a/src/mc/mc_client_api.cpp +++ b/src/mc/mc_client_api.cpp @@ -58,7 +58,7 @@ void MC_ignore(void* addr, size_t size) if (mc_mode == MC_MODE_CLIENT) { s_mc_ignore_memory_message_t message; message.type = MC_MESSAGE_IGNORE_MEMORY; - message.addr = addr; + message.addr = (std::uintptr_t) addr; message.size = size; MC_client_send_message(&message, sizeof(message)); } diff --git a/src/mc/mc_ignore.cpp b/src/mc/mc_ignore.cpp index f1ac12eee7..1457fd4ad0 100644 --- a/src/mc/mc_ignore.cpp +++ b/src/mc/mc_ignore.cpp @@ -58,7 +58,7 @@ void MC_remove_ignore_heap(void *address, size_t size) s_mc_ignore_memory_message_t message; message.type = MC_MESSAGE_UNIGNORE_HEAP; - message.addr = address; + message.addr = (std::uintptr_t) address; message.size = size; MC_client_send_message(&message, sizeof(message)); } diff --git a/src/mc/mc_protocol.h b/src/mc/mc_protocol.h index 440c5028ed..702b94aed8 100644 --- a/src/mc/mc_protocol.h +++ b/src/mc/mc_protocol.h @@ -81,7 +81,7 @@ typedef struct s_mc_ignore_heap_message { typedef struct s_mc_ignore_memory_message { e_mc_message_type type; - void *addr; + uint64_t addr; size_t size; } s_mc_ignore_memory_message_t, *mc_ignore_memory_message_t; diff --git a/src/mc/mc_server.cpp b/src/mc/mc_server.cpp index ba809845b8..020e170057 100644 --- a/src/mc/mc_server.cpp +++ b/src/mc/mc_server.cpp @@ -188,7 +188,8 @@ bool s_mc_server::handle_events() if (size != sizeof(message)) xbt_die("Broken messsage"); memcpy(&message, buffer, sizeof(message)); - MC_heap_region_ignore_remove(message.addr, message.size); + MC_heap_region_ignore_remove( + (void *)(std::uintptr_t) message.addr, message.size); break; } @@ -199,7 +200,7 @@ bool s_mc_server::handle_events() xbt_die("Broken messsage"); memcpy(&message, buffer, sizeof(message)); mc_model_checker->process().ignore_region( - (std::uint64_t)message.addr, message.size); + message.addr, message.size); break; }