Merge r1663-r1666:
- AIX5 build changes
- genoffsets.c: print the offsets of a few more ppc registers
- Get rid of a bunch of ad-hoc hacks which hardwire in certain
assumptions about guest and host ABIs. Instead pass that info
in a VexMiscInfo structure. This cleans up various grotty bits.
- Add to ppc32 guest state, redirection-stack stuff already present
in ppc64 guest state. This is to enable function redirection/
wrapping in the presence of TOC pointers in 32-bit mode.
- Add to both ppc32 and ppc64 guest states, a new pseudo-register
LR_AT_SC. This holds the link register value at the most recent
'sc', so that AIX can back up to restart a syscall if needed.
- Add to both ppc32 and ppc64 guest states, a SPRG3 register.
- Use VexMiscInfo to handle 'sc' on AIX differently from Linux:
on AIX, 'sc' continues at the location stated in the link
register, not at the next insn.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1669 8f6e269a-dfd6-0310-a8e1-e2731360e62c
diff --git a/test_main.c b/test_main.c
index 0680ae4..3ca12ce 100644
--- a/test_main.c
+++ b/test_main.c
@@ -67,6 +67,7 @@
VexControl vcon;
VexGuestExtents vge;
VexArchInfo vai_x86, vai_amd64, vai_ppc32;
+ VexMiscInfo vmi;
VexTranslateArgs vta;
if (argc != 2) {
@@ -135,6 +136,8 @@
vai_ppc32.hwcaps = 0;
vai_ppc32.ppc_cache_line_szB = 128;
+ LibVEX_default_VexMiscInfo(&vmi);
+
/* ----- Set up args for LibVEX_Translate ----- */
#if 1 /* ppc32 -> ppc32 */
vta.arch_guest = VexArchPPC32;
@@ -154,6 +157,7 @@
vta.arch_host = VexArchX86;
vta.archinfo_host = vai_x86;
#endif
+ vta.miscinfo_both = vmi;
vta.guest_bytes = origbuf;
vta.guest_bytes_addr = (Addr64)orig_addr;
vta.callback_opaque = NULL;