From d21064776f34813e18b06722ad472148b13852c7 Mon Sep 17 00:00:00 2001 From: Gabriel Corona Date: Thu, 3 Jul 2014 12:58:34 +0200 Subject: [PATCH] [mc] Add mc_snapshot_read_pointer() --- src/mc/mc_compare.cpp | 5 ++--- src/mc/mc_private.h | 6 ++++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/mc/mc_compare.cpp b/src/mc/mc_compare.cpp index 7a6dcf8f68..bf0a7ecae3 100644 --- a/src/mc/mc_compare.cpp +++ b/src/mc/mc_compare.cpp @@ -160,9 +160,8 @@ static int compare_areas_with_type(struct mc_compare_state& state, case DW_TAG_reference_type: case DW_TAG_rvalue_reference_type: { - void* temp; - void* addr_pointed1 = *(void**) mc_snapshot_read_region(real_area1, region1, &temp, sizeof(void**)); - void* addr_pointed2 = *(void**) mc_snapshot_read_region(real_area2, region2, &temp, sizeof(void**)); + void* addr_pointed1 = mc_snapshot_read_pointer_region(real_area1, region1); + void* addr_pointed2 = mc_snapshot_read_pointer_region(real_area2, region2); if (type->subtype && type->subtype->type == DW_TAG_subroutine_type) { return (addr_pointed1 != addr_pointed2); diff --git a/src/mc/mc_private.h b/src/mc/mc_private.h index 68102ece81..cef441eeb8 100644 --- a/src/mc/mc_private.h +++ b/src/mc/mc_private.h @@ -764,6 +764,12 @@ void* mc_snapshot_read_region(void* addr, mc_mem_region_t region, void* target, } } +static inline __attribute__ ((always_inline)) +void* mc_snapshot_read_pointer_region(void* addr, mc_mem_region_t region) +{ + void* res; + return *(void**) mc_snapshot_read_region(addr, region, &res, sizeof(void*)); +} SG_END_DECL() -- 2.30.2