From: Julian Seward Date: Tue, 26 Jul 2005 23:04:25 +0000 (+0000) Subject: Make VG_(discard_translations) 64-bit clean. As JosefW points out, it X-Git-Tag: svn/VALGRIND_3_0_0~45 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=88812ea1fc0535ad2da4f9c3cd8066c87789c062;p=thirdparty%2Fvalgrind.git Make VG_(discard_translations) 64-bit clean. As JosefW points out, it doesn't make much sense to have a 64-bit base address but only a 32-bit length. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4273 --- diff --git a/coregrind/m_transtab.c b/coregrind/m_transtab.c index 50930a4685..f83ea28bcf 100644 --- a/coregrind/m_transtab.c +++ b/coregrind/m_transtab.c @@ -537,17 +537,17 @@ Bool VG_(search_transtab) ( /*OUT*/AddrH* result, */ static inline -Bool overlap1 ( Addr64 s1, UInt r1, Addr64 s2, UInt r2 ) +Bool overlap1 ( Addr64 s1, ULong r1, Addr64 s2, ULong r2 ) { - Addr64 e1 = s1 + (ULong)r1 - 1ULL; - Addr64 e2 = s2 + (ULong)r2 - 1ULL; + Addr64 e1 = s1 + r1 - 1ULL; + Addr64 e2 = s2 + r2 - 1ULL; if (e1 < s2 || e2 < s1) return False; return True; } static inline -Bool overlaps ( Addr64 start, UInt range, VexGuestExtents* vge ) +Bool overlaps ( Addr64 start, ULong range, VexGuestExtents* vge ) { if (overlap1(start, range, vge->base[0], (UInt)vge->len[0])) return True; @@ -563,7 +563,7 @@ Bool overlaps ( Addr64 start, UInt range, VexGuestExtents* vge ) } -void VG_(discard_translations) ( Addr64 guest_start, UInt range ) +void VG_(discard_translations) ( Addr64 guest_start, ULong range ) { Int sno, i; Bool anyDeleted = False; diff --git a/coregrind/pub_core_transtab.h b/coregrind/pub_core_transtab.h index b8022f50ef..6f1455945e 100644 --- a/coregrind/pub_core_transtab.h +++ b/coregrind/pub_core_transtab.h @@ -56,7 +56,7 @@ extern Bool VG_(search_transtab) ( /*OUT*/AddrH* result, Addr64 guest_addr, Bool upd_cache ); -extern void VG_(discard_translations) ( Addr64 start, UInt range ); +extern void VG_(discard_translations) ( Addr64 start, ULong range ); extern void VG_(print_tt_tc_stats) ( void );