|
From: <sv...@va...> - 2006-01-02 14:09:24
|
Author: cerion
Date: 2006-01-02 14:09:16 +0000 (Mon, 02 Jan 2006)
New Revision: 1526
Log:
Handle ppc64's function ptr's in bb_to_IR::do_self_check.
Modified:
trunk/priv/guest-generic/bb_to_IR.c
Modified: trunk/priv/guest-generic/bb_to_IR.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/priv/guest-generic/bb_to_IR.c 2006-01-02 13:35:51 UTC (rev 1525=
)
+++ trunk/priv/guest-generic/bb_to_IR.c 2006-01-02 14:09:16 UTC (rev 1526=
)
@@ -57,11 +57,11 @@
static UInt genericg_compute_adler32 ( HWord addr, HWord len );
=20
=20
-/* Disassemble a complete basic block, starting at guest_IP_start,=20
+/* Disassemble a complete basic block, starting at guest_IP_bbstart,=20
returning a new IRBB. The disassembler may chase across basic
block boundaries if it wishes and if chase_into_ok allows it.
The precise guest address ranges from which code has been taken
- are written into vge. guest_IP_start is taken to be the IP in
+ are written into vge. guest_IP_bbstart is taken to be the IP in
the guest's address space corresponding to the instruction at
&guest_code[0]. =20
=20
@@ -344,7 +344,11 @@
Ity_I32,=20
2/*regparms*/,=20
"genericg_compute_adler32",
+#if defined(__powerpc__) && defined(__powerpc64__)
+ (void*)((ULong*)(&genericg_compute_adler32))[0],
+#else
&genericg_compute_adler32,
+#endif
mkIRExprVec_2(=20
mkIRExpr_HWord( (HWord)guest_code ),=20
mkIRExpr_HWord( (HWord)len2check )
|