]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
find_helper: ensure function addresses are unsignedly widened to Addr64
authorJulian Seward <jseward@acm.org>
Wed, 20 Oct 2004 01:12:08 +0000 (01:12 +0000)
committerJulian Seward <jseward@acm.org>
Wed, 20 Oct 2004 01:12:08 +0000 (01:12 +0000)
git-svn-id: svn://svn.valgrind.org/vex/trunk@375

VEX/priv/guest-x86/ghelpers.c

index 3427691d636422671fbb3e04813ed89710a54c79..66e63b5a933a6e665343f18c27e2641897db54dc 100644 (file)
@@ -590,17 +590,17 @@ static UInt calculate_eflags_c ( UInt cc_op, UInt cc_src, UInt cc_dst )
 Addr64 x86guest_findhelper ( Char* function_name )
 {
    if (vex_streq(function_name, "calculate_condition"))
-      return (Addr64)(& calculate_condition);
+      return (Addr64)(Addr32)(& calculate_condition);
    if (vex_streq(function_name, "calculate_eflags_c"))
-      return (Addr64)(& calculate_eflags_c);
+      return (Addr64)(Addr32)(& calculate_eflags_c);
    if (vex_streq(function_name, "calculate_eflags_all"))
-      return (Addr64)(& calculate_eflags_all);
+      return (Addr64)(Addr32)(& calculate_eflags_all);
    if (vex_streq(function_name, "calculate_FXAM"))
-      return (Addr64)(& calculate_FXAM);
+      return (Addr64)(Addr32)(& calculate_FXAM);
    if (vex_streq(function_name, "storeF80le"))
-      return (Addr64)(& storeF80le);
+      return (Addr64)(Addr32)(& storeF80le);
    if (vex_streq(function_name, "loadF80le"))
-      return (Addr64)(& loadF80le);
+      return (Addr64)(Addr32)(& loadF80le);
    vex_printf("\nx86 guest: can't find helper: %s\n", function_name);
    vpanic("x86guest_findhelper");
 }