]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
VEX side for revision 15084 (multi arch testing)
authorPhilippe Waroquiers <philippe.waroquiers@skynet.be>
Sat, 11 Apr 2015 14:32:53 +0000 (14:32 +0000)
committerPhilippe Waroquiers <philippe.waroquiers@skynet.be>
Sat, 11 Apr 2015 14:32:53 +0000 (14:32 +0000)
git-svn-id: svn://svn.valgrind.org/vex/trunk@3125

VEX/priv/host_arm64_isel.c
VEX/priv/host_mips_defs.c
VEX/pub/libvex_guest_amd64.h

index b6e42f1a79bc401d95f90884b29da806f5641558..0568fdeff53001f9c0e4d469a797e69f6b2c1411 100644 (file)
@@ -3849,6 +3849,12 @@ static void iselStmt ( ISelEnv* env, IRStmt* stmt )
    case Ist_IMark:
        return;
 
+   /* --------- ABI HINT --------- */
+   /* These have no meaning (denotation in the IR) and so we ignore
+      them ... if any actually made it this far. */
+   case Ist_AbiHint:
+       return;
+
    /* --------- NO-OP --------- */
    case Ist_NoOp:
        return;
index e7c59f89b5965b5a52958833c57ad872bc428677..d85a3064fda736de5f555de03f0f543d230f6920 100644 (file)
@@ -2070,7 +2070,18 @@ static UChar *emit32(UChar * p, UInt w32)
    *p++ = toUChar((w32 >> 8) & 0x000000FF);
    *p++ = toUChar((w32 >> 16) & 0x000000FF);
    *p++ = toUChar((w32 >> 24) & 0x000000FF);
-#elif defined (_MIPSEB)
+/* HACK !!!!
+   MIPS endianess is decided at compile time using gcc defined
+   symbols _MIPSEL or _MIPSEB. When compiling libvex in a cross-arch
+   setup, then none of these is defined. We just choose here by default
+   mips Big Endian to allow libvexmultiarch_test to work when using
+   a mips host architecture.
+   A cleaner way would be to either have mips using 'dynamic endness'
+   (like ppc64be or le, decided at runtime) or at least defining
+   by default _MIPSEB when compiling on a non mips system.
+#elif defined (_MIPSEB).
+*/
+#else
    *p++ = toUChar((w32 >> 24) & 0x000000FF);
    *p++ = toUChar((w32 >> 16) & 0x000000FF);
    *p++ = toUChar((w32 >> 8) & 0x000000FF);
index 787510ee7d3eb2ef158132f3bc66353651c2e6fd..1043b20c0d81c296fcd5896526d0399c6ea86f1f 100644 (file)
@@ -124,6 +124,7 @@ typedef
          delicately-balanced PutI/GetI optimisation machinery.
          Therefore best to leave it as a UInt. */
       UInt  guest_FTOP;
+      UInt  pad1;
       ULong guest_FPREG[8];
       UChar guest_FPTAG[8];
       ULong guest_FPROUND;
@@ -131,6 +132,7 @@ typedef
 
       /* Emulation notes */
       UInt  guest_EMNOTE;
+      UInt  pad2;
 
       /* Translation-invalidation area description.  Not used on amd64
          (there is no invalidate-icache insn), but needed so as to
@@ -167,7 +169,7 @@ typedef
       ULong guest_IP_AT_SYSCALL;
 
       /* Padding to make it have an 16-aligned size */
-      ULong pad1;
+      ULong pad3;
    }
    VexGuestAMD64State;