From: Philippe Waroquiers Date: Sat, 11 Apr 2015 14:32:53 +0000 (+0000) Subject: VEX side for revision 15084 (multi arch testing) X-Git-Tag: svn/VALGRIND_3_11_0^2~59 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0eed85423656f2a49bb01cf5f58ce2a7556a021d;p=thirdparty%2Fvalgrind.git VEX side for revision 15084 (multi arch testing) git-svn-id: svn://svn.valgrind.org/vex/trunk@3125 --- diff --git a/VEX/priv/host_arm64_isel.c b/VEX/priv/host_arm64_isel.c index b6e42f1a79..0568fdeff5 100644 --- a/VEX/priv/host_arm64_isel.c +++ b/VEX/priv/host_arm64_isel.c @@ -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; diff --git a/VEX/priv/host_mips_defs.c b/VEX/priv/host_mips_defs.c index e7c59f89b5..d85a3064fd 100644 --- a/VEX/priv/host_mips_defs.c +++ b/VEX/priv/host_mips_defs.c @@ -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); diff --git a/VEX/pub/libvex_guest_amd64.h b/VEX/pub/libvex_guest_amd64.h index 787510ee7d..1043b20c0d 100644 --- a/VEX/pub/libvex_guest_amd64.h +++ b/VEX/pub/libvex_guest_amd64.h @@ -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;