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;