summaryrefslogtreecommitdiff
path: root/dev-util
diff options
context:
space:
mode:
authorGluzskiy Alexandr <sss@sss.chaoslab.ru>2017-11-26 17:15:42 +0300
committerGluzskiy Alexandr <sss@sss.chaoslab.ru>2017-11-26 17:15:42 +0300
commit1e9ee1812929192869a84aecaf2c643b895953be (patch)
treedb03301de05dee64077ec46ae37c08c56d1e4445 /dev-util
parentd0750e7129699d70e8fd7ae3cd9233506ef5ac7d (diff)
valgrind: amd-fx cpu patch from https://bugs.kde.org/show_bug.cgi?id=322586
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/valgrind/files/support_for_TBM_bextr.patch1300
-rw-r--r--dev-util/valgrind/files/valgrind-3.7.0-fno-stack-protector.patch12
-rw-r--r--dev-util/valgrind/files/valgrind-3.7.0-respect-flags.patch13
-rw-r--r--dev-util/valgrind/metadata.xml28
-rw-r--r--dev-util/valgrind/valgrind-3.13.0-r1.ebuild97
-rw-r--r--dev-util/valgrind/valgrind-scm.ebuild7
6 files changed, 1456 insertions, 1 deletions
diff --git a/dev-util/valgrind/files/support_for_TBM_bextr.patch b/dev-util/valgrind/files/support_for_TBM_bextr.patch
new file mode 100644
index 0000000..719b4e4
--- /dev/null
+++ b/dev-util/valgrind/files/support_for_TBM_bextr.patch
@@ -0,0 +1,1300 @@
+--- valgrind-orig/VEX/priv/guest_amd64_toIR.c (revision 2763)
++++ valgrind-patched/VEX/priv/guest_amd64_toIR.c (working copy)
+@@ -1,4 +1,3 @@
+-
+ /*--------------------------------------------------------------------*/
+ /*--- begin guest_amd64_toIR.c ---*/
+ /*--------------------------------------------------------------------*/
+@@ -673,6 +672,8 @@
+ #define PFX_VEXnV1 (1<<19) /* ~VEX vvvv[1], if VEX present, else 0 */
+ #define PFX_VEXnV2 (1<<20) /* ~VEX vvvv[2], if VEX present, else 0 */
+ #define PFX_VEXnV3 (1<<21) /* ~VEX vvvv[3], if VEX present, else 0 */
++#define PFX_VEXnvvvv (PFX_VEXnV0 | PFX_VEXnV1 | PFX_VEXnV2 | PFX_VEXnV3)
++#define PFX_XOP (1<<22) /* XOP prefix present (0x8F) */
+
+
+ #define PFX_EMPTY 0x55000000
+@@ -30569,6 +30570,100 @@
+
+ /*------------------------------------------------------------*/
+ /*--- ---*/
++/*--- Top-level post-escape decoders: dis_ESC_0F3A__XOP ---*/
++/*--- ---*/
++/*------------------------------------------------------------*/
++__attribute__((noinline))
++static
++Long dis_ESC_0F3A__XOP(
++ /*MB_OUT*/DisResult* dres,
++ /*OUT*/ Bool* uses_vvvv,
++ Bool (*resteerOkFn) ( /*opaque*/void*, Addr64 ),
++ Bool resteerCisOk,
++ void* callback_opaque,
++ VexArchInfo* archinfo,
++ VexAbiInfo* vbi,
++ Prefix pfx, Int sz, Long deltaIN
++ )
++{
++ IRTemp addr = IRTemp_INVALID;
++ Int alen = 0;
++ HChar dis_buf[50];
++ Long delta = deltaIN;
++ UChar opc = getUChar(delta);
++ delta++;
++ *uses_vvvv = False;
++
++ switch (opc) {
++ /* BEXTR r32b, r/m32, imm32 = XOP.0.vvvv.LZ.00 0x10 /r /id */
++ /* BEXTR r64b, r/m64, imm32 = VEX.W.vvvv.LZ.00 0x10 /r /id */
++ case 0x10:
++ if ((pfx & PFX_VEXnvvvv) == 0 && 0==getVexL(pfx)/*LZ*/) {
++ Int size = getRexW(pfx) ? 8 : 4, ctrl;
++ UChar start, len, opsize;
++ IRType ty = szToITy(size);
++ IRTemp dst = newTemp(ty);
++ IRTemp src1 = newTemp(ty);
++ UChar rm = getUChar(delta);
++
++ if (epartIsReg(rm)) {
++ delta++;
++ ctrl = getSDisp32(delta);
++ assign( src1, getIRegE(size,pfx,rm) );
++ DIP("bextr %x,%s,%s\n", ctrl,
++ nameIRegE(size,pfx,rm), nameIRegG(size,pfx,rm));
++ } else {
++ addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 );
++ delta += alen;
++ ctrl = getSDisp32(delta);
++ assign( src1, loadLE(ty, mkexpr(addr)) );
++ DIP("bextr %x,%s,%s\n", ctrl, dis_buf, nameIRegG(size,pfx,rm));
++ }
++
++ delta += 4; /* += control immediate */
++
++ start = ctrl & 0xff;
++ len = (ctrl >> 8) & 0xff;
++ opsize = 8*size;
++
++ if ((start + len) < opsize) {
++ if (len == 0) {
++ assign(dst, mkU(ty, 0));
++ } else {
++ assign (dst,
++ binop(mkSizedOp(ty,Iop_Shr8),
++ binop(
++ mkSizedOp(ty,Iop_Shl8),
++ mkexpr(src1),
++ mkU8(opsize-start-len)),
++ mkU8(opsize - len)));
++ }
++ } else {
++ if (start < opsize) {
++ assign(dst, binop(
++ mkSizedOp(ty,Iop_Shr8), mkexpr(src1), mkU8(start)));
++ } else {
++ assign(dst, mkU(ty, 0));
++ }
++ }
++
++ putIRegG( size, pfx, rm, mkexpr(dst) );
++ stmt( IRStmt_Put( OFFB_CC_OP, mkU64(size == 8
++ ? AMD64G_CC_OP_ANDN64
++ : AMD64G_CC_OP_ANDN32)) );
++ stmt( IRStmt_Put( OFFB_CC_DEP1, widenUto64(mkexpr(dst))) );
++ stmt( IRStmt_Put( OFFB_CC_DEP2, mkU64(0)) );
++ *uses_vvvv = True;
++ goto decode_success;
++ }
++ }
++ return deltaIN;
++decode_success:
++ return delta;
++}
++
++/*------------------------------------------------------------*/
++/*--- ---*/
+ /*--- Disassemble a single instruction ---*/
+ /*--- ---*/
+ /*------------------------------------------------------------*/
+@@ -30742,24 +30837,39 @@
+ if (archinfo->hwcaps & VEX_HWCAPS_AMD64_AVX) {
+ /* Used temporarily for holding VEX prefixes. */
+ UChar vex0 = getUChar(delta);
+- if (vex0 == 0xC4) {
+- /* 3-byte VEX */
++
++ if (vex0 == 0xC4 || vex0 == 0x8f) {
++ /* 3-byte VEX or XOP */
+ UChar vex1 = getUChar(delta+1);
+ UChar vex2 = getUChar(delta+2);
+ delta += 3;
+- pfx |= PFX_VEX;
++
++ pfx |= (vex0 == 0xC4) ? PFX_VEX : PFX_XOP;
+ /* Snarf contents of byte 1 */
+ /* R */ pfx |= (vex1 & (1<<7)) ? 0 : PFX_REXR;
+ /* X */ pfx |= (vex1 & (1<<6)) ? 0 : PFX_REXX;
+ /* B */ pfx |= (vex1 & (1<<5)) ? 0 : PFX_REXB;
+ /* m-mmmm */
+- switch (vex1 & 0x1F) {
+- case 1: esc = ESC_0F; break;
+- case 2: esc = ESC_0F38; break;
+- case 3: esc = ESC_0F3A; break;
+- /* Any other m-mmmm field will #UD */
+- default: goto decode_failure;
++ if (pfx & PFX_VEX) {
++ switch (vex1 & 0x1F) {
++ case 1: esc = ESC_0F; break;
++ case 2: esc = ESC_0F38; break;
++ case 3: esc = ESC_0F3A; break;
++ /* Any other m-mmmm field will #UD */
++ default:
++ goto decode_failure;
++ }
++ } else if (pfx & PFX_XOP) {
++ switch (vex1 & 0x1F) {
++ case 8: esc = ESC_0F; break;
++ case 9: esc = ESC_0F38; break;
++ case 10: esc = ESC_0F3A; break;
++ /* Any other m-mmmm field will #UD */
++ default: goto decode_failure;
++ }
+ }
++
++
+ /* Snarf contents of byte 2 */
+ /* W */ pfx |= (vex2 & (1<<7)) ? PFX_REXW : 0;
+ /* ~v3 */ pfx |= (vex2 & (1<<6)) ? 0 : PFX_VEXnV3;
+@@ -30800,7 +30910,7 @@
+ esc = ESC_0F;
+ }
+ /* Can't have both VEX and REX */
+- if ((pfx & PFX_VEX) && (pfx & PFX_REX))
++ if ((pfx & (PFX_VEX | PFX_XOP)) && (pfx & PFX_REX))
+ goto decode_failure; /* can't have both */
+ }
+
+@@ -30849,7 +30959,7 @@
+
+ /* Eat up opcode escape bytes, until we're really looking at the
+ primary opcode byte. But only if there's no VEX present. */
+- if (!(pfx & PFX_VEX)) {
++ if (!(pfx & (PFX_VEX | PFX_XOP))) {
+ vassert(esc == ESC_NONE);
+ pre = getUChar(delta);
+ if (pre == 0x0F) {
+@@ -30867,7 +30977,7 @@
+ byte. */
+ Long delta_at_primary_opcode = delta;
+
+- if (!(pfx & PFX_VEX)) {
++ if (!(pfx & (PFX_VEX | PFX_XOP))) {
+ /* Handle non-VEX prefixed instructions. "Legacy" (non-VEX) SSE
+ instructions preserve the upper 128 bits of YMM registers;
+ iow we can simply ignore the presence of the upper halves of
+@@ -30896,7 +31006,7 @@
+ default:
+ vassert(0);
+ }
+- } else {
++ } else if (pfx & PFX_VEX) {
+ /* VEX prefixed instruction */
+ /* Sloppy Intel wording: "An instruction encoded with a VEX.128
+ prefix that loads a YMM register operand ..." zeroes out bits
+@@ -30934,6 +31044,28 @@
+ if (getVexNvvvv(pfx) != 0)
+ goto decode_failure;
+ }
++ } else {
++ /* XOP */
++ Bool uses_vvvv = False;
++ switch (esc) {
++ case ESC_0F: goto decode_failure; /* XXX */
++ case ESC_0F38: goto decode_failure; /* XXX */
++ case ESC_0F3A:
++ delta = dis_ESC_0F3A__XOP ( &dres, &uses_vvvv,
++ resteerOkFn, resteerCisOk,
++ callback_opaque,
++ archinfo, vbi, pfx, sz, delta );
++ break;
++ case ESC_NONE: goto decode_failure;
++ default:
++ vassert(0);
++ }
++ /* If the insn doesn't use VEX.vvvv then it must be all ones. Check this. */
++ if (!uses_vvvv) {
++ if (getVexNvvvv(pfx) != 0)
++ goto decode_failure;
++
++ }
+ }
+
+ vassert(delta - delta_at_primary_opcode >= 0);
+Index: none/tests/amd64/tbm.c
+===================================================================
+--- none/tests/amd64/tbm.c (revision 0)
++++ none/tests/amd64/tbm.c (working copy)
+@@ -0,0 +1,65 @@
++#include <stdint.h>
++#include <stdio.h>
++
++#define decl_imm_bextr(t,n,k) \
++__attribute__((noinline)) \
++void do_bextr##t##_##n (/*OUT*/uint32_t* flags, /*OUT*/uint64_t* res, uint##t##_t src) \
++{ \
++ uint64_t tem, flag; \
++ __asm__ __volatile__( \
++ "movabsq $0x5555555555555555, %0" "\n\t" \
++ "bextr $" #n ", %2, %"#k "\n\t" \
++ "pushfq" "\n\t" \
++ "popq %1" "\n" \
++ : "=&r" (tem), "=&r" (flag) : "r" (src) : "cc" ); \
++ *res = tem; \
++ *flags = flag & 0x8d5; \
++ __asm__ __volatile__( \
++ "movabsq $0x5555555555555555, %0" "\n\t" \
++ "bextr $" #n ", %2, %"#k "\n\t" \
++ "pushfq" "\n\t" \
++ "popq %1" "\n" \
++ : "=&r" (tem), "=&r" (flag) : "m" (src) : "cc" ); \
++ if (*res != tem || *flags != (flag & 0x8d5)) \
++ printf ("Difference between r and m variants\n"); }
++
++#define decl_imm_bextr32(n) decl_imm_bextr(32,n,k0)
++#define decl_imm_bextr64(n) decl_imm_bextr(64,n,0)
++
++#define do_imm_bextr(t,n,flags,res,src) do_bextr##t##_##n(flags,res,src)
++
++#define decl_imm_bextr_pair(x) \
++decl_imm_bextr64(x) \
++decl_imm_bextr32(x)
++
++/* constants from libpython2.7 */
++decl_imm_bextr_pair(0x117);
++decl_imm_bextr_pair(0x404);
++decl_imm_bextr_pair(0xc08);
++decl_imm_bextr_pair(0x1f01);
++
++#define bextr_loop(t, imm) \
++ w1 = 0x57657438291CDEF0ULL; \
++ while (1) { \
++ do_imm_bextr(t, imm, &flags, &res, w1); \
++ printf("bextr"#t" %016lx -> %016lx %04x\n", w1, res, flags); \
++ if (w1 == 0) break; \
++ w1 = ((w1 >> 2) | (w1 >> 1)) + (w1 / 17ULL); \
++ }
++#define bextr_loop_pair(imm) \
++bextr_loop(32, imm) \
++bextr_loop(64, imm)
++
++int main ( void )
++{
++ uint64_t w1;
++ uint64_t res;
++ uint32_t flags;
++
++ bextr_loop_pair(0x117);
++ bextr_loop_pair(0x404);
++ bextr_loop_pair(0xc08);
++ bextr_loop_pair(0x1f01);
++
++ return 0;
++}
+Index: none/tests/amd64/tbm.stderr.exp
+===================================================================
+Index: none/tests/amd64/tbm.stdout.exp
+===================================================================
+--- none/tests/amd64/tbm.stdout.exp (revision 0)
++++ none/tests/amd64/tbm.stdout.exp (working copy)
+@@ -0,0 +1,984 @@
++bextr32 57657438291cdef0 -> 0000000000000000 0054
++bextr32 452015034e67c955 -> 0000000000000000 0054
++bextr32 37e901ef56b302d6 -> 0000000000000001 0010
++bextr32 2348b20e142667cf -> 0000000000000000 0054
++bextr32 1c09d34c26e1c212 -> 0000000000000001 0010
++bextr32 10ad37922d51847f -> 0000000000000000 0054
++bextr32 0d7b015093984564 -> 0000000000000001 0010
++bextr32 08cac1103a60926a -> 0000000000000000 0054
++bextr32 06fc5681c8cd2b10 -> 0000000000000001 0010
++bextr32 04687224d51a87fa -> 0000000000000000 0054
++bextr32 03809eacb986283a -> 0000000000000001 0010
++bextr32 02152e09a7eb825e -> 0000000000000001 0010
++bextr32 01af3c969c7725a6 -> 0000000000000000 0054
++bextr32 01193d5aad28c013 -> 0000000000000000 0054
++bextr32 00df6b2373776c4a -> 0000000000000000 0054
++bextr32 008d24457d4341d1 -> 0000000000000000 0054
++bextr32 007028a17fc8b89e -> 0000000000000001 0010
++bextr32 0042b77370e42ef0 -> 0000000000000001 0010
++bextr32 0035ecaa6c888c28 -> 0000000000000001 0010
++bextr32 00232b89c5c8c9b6 -> 0000000000000001 0010
++bextr32 001bf185a53e82dc -> 0000000000000000 0054
++bextr32 0011a1af9c2edaa2 -> 0000000000000000 0054
++bextr32 000e0282bc13b27b -> 0000000000000000 0054
++bextr32 000854daa0b4cc02 -> 0000000000000001 0010
++bextr32 0006bcf63e2fbf3d -> 0000000000000000 0054
++bextr32 000464f7852a566a -> 0000000000000000 0054
++bextr32 00037dac915ab5c5 -> 0000000000000000 0054
++bextr32 000234911b32831c -> 0000000000000000 0054
++bextr32 0001c0a2862c25c1 -> 0000000000000000 0054
++bextr32 00010addcd657882 -> 0000000000000000 0054
++bextr32 0000d7b2a9b6ab1d -> 0000000000000001 0010
++bextr32 00008cae2719cda3 -> 0000000000000000 0054
++bextr32 00006fc61694404d -> 0000000000000001 0010
++bextr32 00004686be70612c -> 0000000000000000 0054
++bextr32 0000380a0af0025a -> 0000000000000001 0010
++bextr32 000021536a829879 -> 0000000000000001 0010
++bextr32 00001af3d8f8abea -> 0000000000000001 0010
++bextr32 00001193de14a839 -> 0000000000000000 0054
++bextr32 00000df6b24569e5 -> 0000000000000000 0054
++bextr32 000008d2446cc8f9 -> 0000000000000000 0054
++bextr32 000007028a18af7d -> 0000000000000000 0054
++bextr32 0000042b77359960 -> 0000000000000000 0054
++bextr32 0000035ecaa6d9df -> 0000000000000001 0010
++bextr32 00000232b89c662a -> 0000000000000001 0010
++bextr32 000001bf185a50b0 -> 0000000000000000 0054
++bextr32 0000011a1af9c13b -> 0000000000000001 0010
++bextr32 000000e0282bc000 -> 0000000000000000 0054
++bextr32 000000854daa0a5a -> 0000000000000001 0010
++bextr32 0000006bcf63e2b5 -> 0000000000000000 0054
++bextr32 000000464f7852a0 -> 0000000000000000 0054
++bextr32 00000037dac915a7 -> 0000000000000001 0010
++bextr32 000000234911b322 -> 0000000000000000 0054
++bextr32 0000001c0a2862bc -> 0000000000000000 0054
++bextr32 00000010addcd664 -> 0000000000000001 0010
++bextr32 0000000d7b2a9b66 -> 0000000000000000 0054
++bextr32 00000008cae27197 -> 0000000000000001 0010
++bextr32 00000006fc616943 -> 0000000000000000 0054
++bextr32 00000004686be704 -> 0000000000000000 0054
++bextr32 0000000380a0aeff -> 0000000000000001 0010
++bextr32 000000021536a868 -> 0000000000000000 0054
++bextr32 00000001af3d8fad -> 0000000000000000 0054
++bextr32 00000001193de163 -> 0000000000000000 0054
++bextr32 00000000df6b2459 -> 0000000000000000 0054
++bextr32 000000008d2446ca -> 0000000000000000 0054
++bextr32 000000007028a18a -> 0000000000000000 0054
++bextr32 0000000042b77358 -> 0000000000000001 0010
++bextr32 0000000035ecaa6c -> 0000000000000001 0010
++bextr32 00000000232b89c5 -> 0000000000000000 0054
++bextr32 000000001bf185a4 -> 0000000000000001 0010
++bextr32 0000000011a1af9b -> 0000000000000001 0010
++bextr32 000000000e0282bb -> 0000000000000000 0054
++bextr32 000000000854daa0 -> 0000000000000000 0054
++bextr32 0000000006bcf63d -> 0000000000000001 0010
++bextr32 000000000464f784 -> 0000000000000000 0054
++bextr32 00000000037dac90 -> 0000000000000000 0054
++bextr32 000000000234911a -> 0000000000000000 0054
++bextr32 0000000001c0a285 -> 0000000000000001 0010
++bextr32 00000000010addcc -> 0000000000000000 0054
++bextr32 0000000000d7b2a8 -> 0000000000000001 0010
++bextr32 00000000008cae26 -> 0000000000000001 0010
++bextr32 00000000006fc615 -> 0000000000000000 0054
++bextr32 00000000004686bd -> 0000000000000000 0054
++bextr32 0000000000380a0a -> 0000000000000000 0054
++bextr32 0000000000215369 -> 0000000000000000 0054
++bextr32 00000000001af3d7 -> 0000000000000000 0054
++bextr32 00000000001193de -> 0000000000000000 0054
++bextr32 00000000000df6b1 -> 0000000000000000 0054
++bextr32 000000000008d242 -> 0000000000000000 0054
++bextr32 0000000000070287 -> 0000000000000000 0054
++bextr32 0000000000042b72 -> 0000000000000000 0054
++bextr32 0000000000035ec7 -> 0000000000000000 0054
++bextr32 00000000000232b3 -> 0000000000000000 0054
++bextr32 000000000001bf16 -> 0000000000000000 0054
++bextr32 0000000000011a1b -> 0000000000000000 0054
++bextr32 000000000000e027 -> 0000000000000000 0054
++bextr32 000000000000854a -> 0000000000000000 0054
++bextr32 0000000000006bce -> 0000000000000000 0054
++bextr32 000000000000464e -> 0000000000000000 0054
++bextr32 00000000000037d9 -> 0000000000000000 0054
++bextr32 0000000000002347 -> 0000000000000000 0054
++bextr32 0000000000001c06 -> 0000000000000000 0054
++bextr32 00000000000010a9 -> 0000000000000000 0054
++bextr32 0000000000000d78 -> 0000000000000000 0054
++bextr32 00000000000008c8 -> 0000000000000000 0054
++bextr32 00000000000006fa -> 0000000000000000 0054
++bextr32 0000000000000468 -> 0000000000000000 0054
++bextr32 0000000000000380 -> 0000000000000000 0054
++bextr32 0000000000000214 -> 0000000000000000 0054
++bextr32 00000000000001ae -> 0000000000000000 0054
++bextr32 0000000000000118 -> 0000000000000000 0054
++bextr32 00000000000000de -> 0000000000000000 0054
++bextr32 000000000000008c -> 0000000000000000 0054
++bextr32 000000000000006f -> 0000000000000000 0054
++bextr32 0000000000000045 -> 0000000000000000 0054
++bextr32 0000000000000037 -> 0000000000000000 0054
++bextr32 0000000000000022 -> 0000000000000000 0054
++bextr32 000000000000001b -> 0000000000000000 0054
++bextr32 0000000000000010 -> 0000000000000000 0054
++bextr32 000000000000000c -> 0000000000000000 0054
++bextr32 0000000000000007 -> 0000000000000000 0054
++bextr32 0000000000000003 -> 0000000000000000 0054
++bextr32 0000000000000001 -> 0000000000000000 0054
++bextr32 0000000000000000 -> 0000000000000000 0054
++bextr64 57657438291cdef0 -> 0000000000000000 0054
++bextr64 452015034e67c955 -> 0000000000000000 0054
++bextr64 37e901ef56b302d6 -> 0000000000000001 0010
++bextr64 2348b20e142667cf -> 0000000000000000 0054
++bextr64 1c09d34c26e1c212 -> 0000000000000001 0010
++bextr64 10ad37922d51847f -> 0000000000000000 0054
++bextr64 0d7b015093984564 -> 0000000000000001 0010
++bextr64 08cac1103a60926a -> 0000000000000000 0054
++bextr64 06fc5681c8cd2b10 -> 0000000000000001 0010
++bextr64 04687224d51a87fa -> 0000000000000000 0054
++bextr64 03809eacb986283a -> 0000000000000001 0010
++bextr64 02152e09a7eb825e -> 0000000000000001 0010
++bextr64 01af3c969c7725a6 -> 0000000000000000 0054
++bextr64 01193d5aad28c013 -> 0000000000000000 0054
++bextr64 00df6b2373776c4a -> 0000000000000000 0054
++bextr64 008d24457d4341d1 -> 0000000000000000 0054
++bextr64 007028a17fc8b89e -> 0000000000000001 0010
++bextr64 0042b77370e42ef0 -> 0000000000000001 0010
++bextr64 0035ecaa6c888c28 -> 0000000000000001 0010
++bextr64 00232b89c5c8c9b6 -> 0000000000000001 0010
++bextr64 001bf185a53e82dc -> 0000000000000000 0054
++bextr64 0011a1af9c2edaa2 -> 0000000000000000 0054
++bextr64 000e0282bc13b27b -> 0000000000000000 0054
++bextr64 000854daa0b4cc02 -> 0000000000000001 0010
++bextr64 0006bcf63e2fbf3d -> 0000000000000000 0054
++bextr64 000464f7852a566a -> 0000000000000000 0054
++bextr64 00037dac915ab5c5 -> 0000000000000000 0054
++bextr64 000234911b32831c -> 0000000000000000 0054
++bextr64 0001c0a2862c25c1 -> 0000000000000000 0054
++bextr64 00010addcd657882 -> 0000000000000000 0054
++bextr64 0000d7b2a9b6ab1d -> 0000000000000001 0010
++bextr64 00008cae2719cda3 -> 0000000000000000 0054
++bextr64 00006fc61694404d -> 0000000000000001 0010
++bextr64 00004686be70612c -> 0000000000000000 0054
++bextr64 0000380a0af0025a -> 0000000000000001 0010
++bextr64 000021536a829879 -> 0000000000000001 0010
++bextr64 00001af3d8f8abea -> 0000000000000001 0010
++bextr64 00001193de14a839 -> 0000000000000000 0054
++bextr64 00000df6b24569e5 -> 0000000000000000 0054
++bextr64 000008d2446cc8f9 -> 0000000000000000 0054
++bextr64 000007028a18af7d -> 0000000000000000 0054
++bextr64 0000042b77359960 -> 0000000000000000 0054
++bextr64 0000035ecaa6d9df -> 0000000000000001 0010
++bextr64 00000232b89c662a -> 0000000000000001 0010
++bextr64 000001bf185a50b0 -> 0000000000000000 0054
++bextr64 0000011a1af9c13b -> 0000000000000001 0010
++bextr64 000000e0282bc000 -> 0000000000000000 0054
++bextr64 000000854daa0a5a -> 0000000000000001 0010
++bextr64 0000006bcf63e2b5 -> 0000000000000000 0054
++bextr64 000000464f7852a0 -> 0000000000000000 0054
++bextr64 00000037dac915a7 -> 0000000000000001 0010
++bextr64 000000234911b322 -> 0000000000000000 0054
++bextr64 0000001c0a2862bc -> 0000000000000000 0054
++bextr64 00000010addcd664 -> 0000000000000001 0010
++bextr64 0000000d7b2a9b66 -> 0000000000000000 0054
++bextr64 00000008cae27197 -> 0000000000000001 0010
++bextr64 00000006fc616943 -> 0000000000000000 0054
++bextr64 00000004686be704 -> 0000000000000000 0054
++bextr64 0000000380a0aeff -> 0000000000000001 0010
++bextr64 000000021536a868 -> 0000000000000000 0054
++bextr64 00000001af3d8fad -> 0000000000000000 0054
++bextr64 00000001193de163 -> 0000000000000000 0054
++bextr64 00000000df6b2459 -> 0000000000000000 0054
++bextr64 000000008d2446ca -> 0000000000000000 0054
++bextr64 000000007028a18a -> 0000000000000000 0054
++bextr64 0000000042b77358 -> 0000000000000001 0010
++bextr64 0000000035ecaa6c -> 0000000000000001 0010
++bextr64 00000000232b89c5 -> 0000000000000000 0054
++bextr64 000000001bf185a4 -> 0000000000000001 0010
++bextr64 0000000011a1af9b -> 0000000000000001 0010
++bextr64 000000000e0282bb -> 0000000000000000 0054
++bextr64 000000000854daa0 -> 0000000000000000 0054
++bextr64 0000000006bcf63d -> 0000000000000001 0010
++bextr64 000000000464f784 -> 0000000000000000 0054
++bextr64 00000000037dac90 -> 0000000000000000 0054
++bextr64 000000000234911a -> 0000000000000000 0054
++bextr64 0000000001c0a285 -> 0000000000000001 0010
++bextr64 00000000010addcc -> 0000000000000000 0054
++bextr64 0000000000d7b2a8 -> 0000000000000001 0010
++bextr64 00000000008cae26 -> 0000000000000001 0010
++bextr64 00000000006fc615 -> 0000000000000000 0054
++bextr64 00000000004686bd -> 0000000000000000 0054
++bextr64 0000000000380a0a -> 0000000000000000 0054
++bextr64 0000000000215369 -> 0000000000000000 0054
++bextr64 00000000001af3d7 -> 0000000000000000 0054
++bextr64 00000000001193de -> 0000000000000000 0054
++bextr64 00000000000df6b1 -> 0000000000000000 0054
++bextr64 000000000008d242 -> 0000000000000000 0054
++bextr64 0000000000070287 -> 0000000000000000 0054
++bextr64 0000000000042b72 -> 0000000000000000 0054
++bextr64 0000000000035ec7 -> 0000000000000000 0054
++bextr64 00000000000232b3 -> 0000000000000000 0054
++bextr64 000000000001bf16 -> 0000000000000000 0054
++bextr64 0000000000011a1b -> 0000000000000000 0054
++bextr64 000000000000e027 -> 0000000000000000 0054
++bextr64 000000000000854a -> 0000000000000000 0054
++bextr64 0000000000006bce -> 0000000000000000 0054
++bextr64 000000000000464e -> 0000000000000000 0054
++bextr64 00000000000037d9 -> 0000000000000000 0054
++bextr64 0000000000002347 -> 0000000000000000 0054
++bextr64 0000000000001c06 -> 0000000000000000 0054
++bextr64 00000000000010a9 -> 0000000000000000 0054
++bextr64 0000000000000d78 -> 0000000000000000 0054
++bextr64 00000000000008c8 -> 0000000000000000 0054
++bextr64 00000000000006fa -> 0000000000000000 0054
++bextr64 0000000000000468 -> 0000000000000000 0054
++bextr64 0000000000000380 -> 0000000000000000 0054
++bextr64 0000000000000214 -> 0000000000000000 0054
++bextr64 00000000000001ae -> 0000000000000000 0054
++bextr64 0000000000000118 -> 0000000000000000 0054
++bextr64 00000000000000de -> 0000000000000000 0054
++bextr64 000000000000008c -> 0000000000000000 0054
++bextr64 000000000000006f -> 0000000000000000 0054
++bextr64 0000000000000045 -> 0000000000000000 0054
++bextr64 0000000000000037 -> 0000000000000000 0054
++bextr64 0000000000000022 -> 0000000000000000 0054
++bextr64 000000000000001b -> 0000000000000000 0054
++bextr64 0000000000000010 -> 0000000000000000 0054
++bextr64 000000000000000c -> 0000000000000000 0054
++bextr64 0000000000000007 -> 0000000000000000 0054
++bextr64 0000000000000003 -> 0000000000000000 0054
++bextr64 0000000000000001 -> 0000000000000000 0054
++bextr64 0000000000000000 -> 0000000000000000 0054
++bextr32 57657438291cdef0 -> 000000000000000f 0014
++bextr32 452015034e67c955 -> 0000000000000005 0014
++bextr32 37e901ef56b302d6 -> 000000000000000d 0010
++bextr32 2348b20e142667cf -> 000000000000000c 0014
++bextr32 1c09d34c26e1c212 -> 0000000000000001 0010
++bextr32 10ad37922d51847f -> 0000000000000007 0010
++bextr32 0d7b015093984564 -> 0000000000000006 0014
++bextr32 08cac1103a60926a -> 0000000000000006 0014
++bextr32 06fc5681c8cd2b10 -> 0000000000000001 0010
++bextr32 04687224d51a87fa -> 000000000000000f 0014
++bextr32 03809eacb986283a -> 0000000000000003 0014
++bextr32 02152e09a7eb825e -> 0000000000000005 0014
++bextr32 01af3c969c7725a6 -> 000000000000000a 0014
++bextr32 01193d5aad28c013 -> 0000000000000001 0010
++bextr32 00df6b2373776c4a -> 0000000000000004 0010
++bextr32 008d24457d4341d1 -> 000000000000000d 0010
++bextr32 007028a17fc8b89e -> 0000000000000009 0014
++bextr32 0042b77370e42ef0 -> 000000000000000f 0014
++bextr32 0035ecaa6c888c28 -> 0000000000000002 0010
++bextr32 00232b89c5c8c9b6 -> 000000000000000b 0010
++bextr32 001bf185a53e82dc -> 000000000000000d 0010
++bextr32 0011a1af9c2edaa2 -> 000000000000000a 0014
++bextr32 000e0282bc13b27b -> 0000000000000007 0010
++bextr32 000854daa0b4cc02 -> 0000000000000000 0054
++bextr32 0006bcf63e2fbf3d -> 0000000000000003 0014
++bextr32 000464f7852a566a -> 0000000000000006 0014
++bextr32 00037dac915ab5c5 -> 000000000000000c 0014
++bextr32 000234911b32831c -> 0000000000000001 0010
++bextr32 0001c0a2862c25c1 -> 000000000000000c 0014
++bextr32 00010addcd657882 -> 0000000000000008 0010
++bextr32 0000d7b2a9b6ab1d -> 0000000000000001 0010
++bextr32 00008cae2719cda3 -> 000000000000000a 0014
++bextr32 00006fc61694404d -> 0000000000000004 0010
++bextr32 00004686be70612c -> 0000000000000002 0010
++bextr32 0000380a0af0025a -> 0000000000000005 0014
++bextr32 000021536a829879 -> 0000000000000007 0010
++bextr32 00001af3d8f8abea -> 000000000000000e 0010
++bextr32 00001193de14a839 -> 0000000000000003 0014
++bextr32 00000df6b24569e5 -> 000000000000000e 0010
++bextr32 000008d2446cc8f9 -> 000000000000000f 0014
++bextr32 000007028a18af7d -> 0000000000000007 0010
++bextr32 0000042b77359960 -> 0000000000000006 0014
++bextr32 0000035ecaa6d9df -> 000000000000000d 0010
++bextr32 00000232b89c662a -> 0000000000000002 0010
++bextr32 000001bf185a50b0 -> 000000000000000b 0010
++bextr32 0000011a1af9c13b -> 0000000000000003 0014
++bextr32 000000e0282bc000 -> 0000000000000000 0054
++bextr32 000000854daa0a5a -> 0000000000000005 0014
++bextr32 0000006bcf63e2b5 -> 000000000000000b 0010
++bextr32 000000464f7852a0 -> 000000000000000a 0014
++bextr32 00000037dac915a7 -> 000000000000000a 0014
++bextr32 000000234911b322 -> 0000000000000002 0010
++bextr32 0000001c0a2862bc -> 000000000000000b 0010
++bextr32 00000010addcd664 -> 0000000000000006 0014
++bextr32 0000000d7b2a9b66 -> 0000000000000006 0014
++bextr32 00000008cae27197 -> 0000000000000009 0014
++bextr32 00000006fc616943 -> 0000000000000004 0010
++bextr32 00000004686be704 -> 0000000000000000 0054
++bextr32 0000000380a0aeff -> 000000000000000f 0014
++bextr32 000000021536a868 -> 0000000000000006 0014
++bextr32 00000001af3d8fad -> 000000000000000a 0014
++bextr32 00000001193de163 -> 0000000000000006 0014
++bextr32 00000000df6b2459 -> 0000000000000005 0014
++bextr32 000000008d2446ca -> 000000000000000c 0014
++bextr32 000000007028a18a -> 0000000000000008 0010
++bextr32 0000000042b77358 -> 0000000000000005 0014
++bextr32 0000000035ecaa6c -> 0000000000000006 0014
++bextr32 00000000232b89c5 -> 000000000000000c 0014
++bextr32 000000001bf185a4 -> 000000000000000a 0014
++bextr32 0000000011a1af9b -> 0000000000000009 0014
++bextr32 000000000e0282bb -> 000000000000000b 0010
++bextr32 000000000854daa0 -> 000000000000000a 0014
++bextr32 0000000006bcf63d -> 0000000000000003 0014
++bextr32 000000000464f784 -> 0000000000000008 0010
++bextr32 00000000037dac90 -> 0000000000000009 0014
++bextr32 000000000234911a -> 0000000000000001 0010
++bextr32 0000000001c0a285 -> 0000000000000008 0010
++bextr32 00000000010addcc -> 000000000000000c 0014
++bextr32 0000000000d7b2a8 -> 000000000000000a 0014
++bextr32 00000000008cae26 -> 0000000000000002 0010
++bextr32 00000000006fc615 -> 0000000000000001 0010
++bextr32 00000000004686bd -> 000000000000000b 0010
++bextr32 0000000000380a0a -> 0000000000000000 0054
++bextr32 0000000000215369 -> 0000000000000006 0014
++bextr32 00000000001af3d7 -> 000000000000000d 0010
++bextr32 00000000001193de -> 000000000000000d 0010
++bextr32 00000000000df6b1 -> 000000000000000b 0010
++bextr32 000000000008d242 -> 0000000000000004 0010
++bextr32 0000000000070287 -> 0000000000000008 0010
++bextr32 0000000000042b72 -> 0000000000000007 0010
++bextr32 0000000000035ec7 -> 000000000000000c 0014
++bextr32 00000000000232b3 -> 000000000000000b 0010
++bextr32 000000000001bf16 -> 0000000000000001 0010
++bextr32 0000000000011a1b -> 0000000000000001 0010
++bextr32 000000000000e027 -> 0000000000000002 0010
++bextr32 000000000000854a -> 0000000000000004 0010
++bextr32 0000000000006bce -> 000000000000000c 0014
++bextr32 000000000000464e -> 0000000000000004 0010
++bextr32 00000000000037d9 -> 000000000000000d 0010
++bextr32 0000000000002347 -> 0000000000000004 0010
++bextr32 0000000000001c06 -> 0000000000000000 0054
++bextr32 00000000000010a9 -> 000000000000000a 0014
++bextr32 0000000000000d78 -> 0000000000000007 0010
++bextr32 00000000000008c8 -> 000000000000000c 0014
++bextr32 00000000000006fa -> 000000000000000f 0014
++bextr32 0000000000000468 -> 0000000000000006 0014
++bextr32 0000000000000380 -> 0000000000000008 0010
++bextr32 0000000000000214 -> 0000000000000001 0010
++bextr32 00000000000001ae -> 000000000000000a 0014
++bextr32 0000000000000118 -> 0000000000000001 0010
++bextr32 00000000000000de -> 000000000000000d 0010
++bextr32 000000000000008c -> 0000000000000008 0010
++bextr32 000000000000006f -> 0000000000000006 0014
++bextr32 0000000000000045 -> 0000000000000004 0010
++bextr32 0000000000000037 -> 0000000000000003 0014
++bextr32 0000000000000022 -> 0000000000000002 0010
++bextr32 000000000000001b -> 0000000000000001 0010
++bextr32 0000000000000010 -> 0000000000000001 0010
++bextr32 000000000000000c -> 0000000000000000 0054
++bextr32 0000000000000007 -> 0000000000000000 0054
++bextr32 0000000000000003 -> 0000000000000000 0054
++bextr32 0000000000000001 -> 0000000000000000 0054
++bextr32 0000000000000000 -> 0000000000000000 0054
++bextr64 57657438291cdef0 -> 000000000000000f 0014
++bextr64 452015034e67c955 -> 0000000000000005 0014
++bextr64 37e901ef56b302d6 -> 000000000000000d 0010
++bextr64 2348b20e142667cf -> 000000000000000c 0014
++bextr64 1c09d34c26e1c212 -> 0000000000000001 0010
++bextr64 10ad37922d51847f -> 0000000000000007 0010
++bextr64 0d7b015093984564 -> 0000000000000006 0014
++bextr64 08cac1103a60926a -> 0000000000000006 0014
++bextr64 06fc5681c8cd2b10 -> 0000000000000001 0010
++bextr64 04687224d51a87fa -> 000000000000000f 0014
++bextr64 03809eacb986283a -> 0000000000000003 0014
++bextr64 02152e09a7eb825e -> 0000000000000005 0014
++bextr64 01af3c969c7725a6 -> 000000000000000a 0014
++bextr64 01193d5aad28c013 -> 0000000000000001 0010
++bextr64 00df6b2373776c4a -> 0000000000000004 0010
++bextr64 008d24457d4341d1 -> 000000000000000d 0010
++bextr64 007028a17fc8b89e -> 0000000000000009 0014
++bextr64 0042b77370e42ef0 -> 000000000000000f 0014
++bextr64 0035ecaa6c888c28 -> 0000000000000002 0010
++bextr64 00232b89c5c8c9b6 -> 000000000000000b 0010
++bextr64 001bf185a53e82dc -> 000000000000000d 0010
++bextr64 0011a1af9c2edaa2 -> 000000000000000a 0014
++bextr64 000e0282bc13b27b -> 0000000000000007 0010
++bextr64 000854daa0b4cc02 -> 0000000000000000 0054
++bextr64 0006bcf63e2fbf3d -> 0000000000000003 0014
++bextr64 000464f7852a566a -> 0000000000000006 0014
++bextr64 00037dac915ab5c5 -> 000000000000000c 0014
++bextr64 000234911b32831c -> 0000000000000001 0010
++bextr64 0001c0a2862c25c1 -> 000000000000000c 0014
++bextr64 00010addcd657882 -> 0000000000000008 0010
++bextr64 0000d7b2a9b6ab1d -> 0000000000000001 0010
++bextr64 00008cae2719cda3 -> 000000000000000a 0014
++bextr64 00006fc61694404d -> 0000000000000004 0010
++bextr64 00004686be70612c -> 0000000000000002 0010
++bextr64 0000380a0af0025a -> 0000000000000005 0014
++bextr64 000021536a829879 -> 0000000000000007 0010
++bextr64 00001af3d8f8abea -> 000000000000000e 0010
++bextr64 00001193de14a839 -> 0000000000000003 0014
++bextr64 00000df6b24569e5 -> 000000000000000e 0010
++bextr64 000008d2446cc8f9 -> 000000000000000f 0014
++bextr64 000007028a18af7d -> 0000000000000007 0010
++bextr64 0000042b77359960 -> 0000000000000006 0014
++bextr64 0000035ecaa6d9df -> 000000000000000d 0010
++bextr64 00000232b89c662a -> 0000000000000002 0010
++bextr64 000001bf185a50b0 -> 000000000000000b 0010
++bextr64 0000011a1af9c13b -> 0000000000000003 0014
++bextr64 000000e0282bc000 -> 0000000000000000 0054
++bextr64 000000854daa0a5a -> 0000000000000005 0014
++bextr64 0000006bcf63e2b5 -> 000000000000000b 0010
++bextr64 000000464f7852a0 -> 000000000000000a 0014
++bextr64 00000037dac915a7 -> 000000000000000a 0014
++bextr64 000000234911b322 -> 0000000000000002 0010
++bextr64 0000001c0a2862bc -> 000000000000000b 0010
++bextr64 00000010addcd664 -> 0000000000000006 0014
++bextr64 0000000d7b2a9b66 -> 0000000000000006 0014
++bextr64 00000008cae27197 -> 0000000000000009 0014
++bextr64 00000006fc616943 -> 0000000000000004 0010
++bextr64 00000004686be704 -> 0000000000000000 0054
++bextr64 0000000380a0aeff -> 000000000000000f 0014
++bextr64 000000021536a868 -> 0000000000000006 0014
++bextr64 00000001af3d8fad -> 000000000000000a 0014
++bextr64 00000001193de163 -> 0000000000000006 0014
++bextr64 00000000df6b2459 -> 0000000000000005 0014
++bextr64 000000008d2446ca -> 000000000000000c 0014
++bextr64 000000007028a18a -> 0000000000000008 0010
++bextr64 0000000042b77358 -> 0000000000000005 0014
++bextr64 0000000035ecaa6c -> 0000000000000006 0014
++bextr64 00000000232b89c5 -> 000000000000000c 0014
++bextr64 000000001bf185a4 -> 000000000000000a 0014
++bextr64 0000000011a1af9b -> 0000000000000009 0014
++bextr64 000000000e0282bb -> 000000000000000b 0010
++bextr64 000000000854daa0 -> 000000000000000a 0014
++bextr64 0000000006bcf63d -> 0000000000000003 0014
++bextr64 000000000464f784 -> 0000000000000008 0010
++bextr64 00000000037dac90 -> 0000000000000009 0014
++bextr64 000000000234911a -> 0000000000000001 0010
++bextr64 0000000001c0a285 -> 0000000000000008 0010
++bextr64 00000000010addcc -> 000000000000000c 0014
++bextr64 0000000000d7b2a8 -> 000000000000000a 0014
++bextr64 00000000008cae26 -> 0000000000000002 0010
++bextr64 00000000006fc615 -> 0000000000000001 0010
++bextr64 00000000004686bd -> 000000000000000b 0010
++bextr64 0000000000380a0a -> 0000000000000000 0054
++bextr64 0000000000215369 -> 0000000000000006 0014
++bextr64 00000000001af3d7 -> 000000000000000d 0010
++bextr64 00000000001193de -> 000000000000000d 0010
++bextr64 00000000000df6b1 -> 000000000000000b 0010
++bextr64 000000000008d242 -> 0000000000000004 0010
++bextr64 0000000000070287 -> 0000000000000008 0010
++bextr64 0000000000042b72 -> 0000000000000007 0010
++bextr64 0000000000035ec7 -> 000000000000000c 0014
++bextr64 00000000000232b3 -> 000000000000000b 0010
++bextr64 000000000001bf16 -> 0000000000000001 0010
++bextr64 0000000000011a1b -> 0000000000000001 0010
++bextr64 000000000000e027 -> 0000000000000002 0010
++bextr64 000000000000854a -> 0000000000000004 0010
++bextr64 0000000000006bce -> 000000000000000c 0014
++bextr64 000000000000464e -> 0000000000000004 0010
++bextr64 00000000000037d9 -> 000000000000000d 0010
++bextr64 0000000000002347 -> 0000000000000004 0010
++bextr64 0000000000001c06 -> 0000000000000000 0054
++bextr64 00000000000010a9 -> 000000000000000a 0014
++bextr64 0000000000000d78 -> 0000000000000007 0010
++bextr64 00000000000008c8 -> 000000000000000c 0014
++bextr64 00000000000006fa -> 000000000000000f 0014
++bextr64 0000000000000468 -> 0000000000000006 0014
++bextr64 0000000000000380 -> 0000000000000008 0010
++bextr64 0000000000000214 -> 0000000000000001 0010
++bextr64 00000000000001ae -> 000000000000000a 0014
++bextr64 0000000000000118 -> 0000000000000001 0010
++bextr64 00000000000000de -> 000000000000000d 0010
++bextr64 000000000000008c -> 0000000000000008 0010
++bextr64 000000000000006f -> 0000000000000006 0014
++bextr64 0000000000000045 -> 0000000000000004 0010
++bextr64 0000000000000037 -> 0000000000000003 0014
++bextr64 0000000000000022 -> 0000000000000002 0010
++bextr64 000000000000001b -> 0000000000000001 0010
++bextr64 0000000000000010 -> 0000000000000001 0010
++bextr64 000000000000000c -> 0000000000000000 0054
++bextr64 0000000000000007 -> 0000000000000000 0054
++bextr64 0000000000000003 -> 0000000000000000 0054
++bextr64 0000000000000001 -> 0000000000000000 0054
++bextr64 0000000000000000 -> 0000000000000000 0054
++bextr32 57657438291cdef0 -> 0000000000000cde 0014
++bextr32 452015034e67c955 -> 00000000000007c9 0014
++bextr32 37e901ef56b302d6 -> 0000000000000302 0010
++bextr32 2348b20e142667cf -> 0000000000000667 0010
++bextr32 1c09d34c26e1c212 -> 00000000000001c2 0010
++bextr32 10ad37922d51847f -> 0000000000000184 0014
++bextr32 0d7b015093984564 -> 0000000000000845 0010
++bextr32 08cac1103a60926a -> 0000000000000092 0010
++bextr32 06fc5681c8cd2b10 -> 0000000000000d2b 0014
++bextr32 04687224d51a87fa -> 0000000000000a87 0014
++bextr32 03809eacb986283a -> 0000000000000628 0014
++bextr32 02152e09a7eb825e -> 0000000000000b82 0014
++bextr32 01af3c969c7725a6 -> 0000000000000725 0010
++bextr32 01193d5aad28c013 -> 00000000000008c0 0014
++bextr32 00df6b2373776c4a -> 000000000000076c 0014
++bextr32 008d24457d4341d1 -> 0000000000000341 0014
++bextr32 007028a17fc8b89e -> 00000000000008b8 0014
++bextr32 0042b77370e42ef0 -> 000000000000042e 0014
++bextr32 0035ecaa6c888c28 -> 000000000000088c 0010
++bextr32 00232b89c5c8c9b6 -> 00000000000008c9 0014
++bextr32 001bf185a53e82dc -> 0000000000000e82 0014
++bextr32 0011a1af9c2edaa2 -> 0000000000000eda 0010
++bextr32 000e0282bc13b27b -> 00000000000003b2 0014
++bextr32 000854daa0b4cc02 -> 00000000000004cc 0014
++bextr32 0006bcf63e2fbf3d -> 0000000000000fbf 0010
++bextr32 000464f7852a566a -> 0000000000000a56 0014
++bextr32 00037dac915ab5c5 -> 0000000000000ab5 0010
++bextr32 000234911b32831c -> 0000000000000283 0010
++bextr32 0001c0a2862c25c1 -> 0000000000000c25 0010
++bextr32 00010addcd657882 -> 0000000000000578 0014
++bextr32 0000d7b2a9b6ab1d -> 00000000000006ab 0010
++bextr32 00008cae2719cda3 -> 00000000000009cd 0010
++bextr32 00006fc61694404d -> 0000000000000440 0010
++bextr32 00004686be70612c -> 0000000000000061 0010
++bextr32 0000380a0af0025a -> 0000000000000002 0010
++bextr32 000021536a829879 -> 0000000000000298 0010
++bextr32 00001af3d8f8abea -> 00000000000008ab 0010
++bextr32 00001193de14a839 -> 00000000000004a8 0010
++bextr32 00000df6b24569e5 -> 0000000000000569 0014
++bextr32 000008d2446cc8f9 -> 0000000000000cc8 0010
++bextr32 000007028a18af7d -> 00000000000008af 0014
++bextr32 0000042b77359960 -> 0000000000000599 0014
++bextr32 0000035ecaa6d9df -> 00000000000006d9 0010
++bextr32 00000232b89c662a -> 0000000000000c66 0014
++bextr32 000001bf185a50b0 -> 0000000000000a50 0014
++bextr32 0000011a1af9c13b -> 00000000000009c1 0010
++bextr32 000000e0282bc000 -> 0000000000000bc0 0014
++bextr32 000000854daa0a5a -> 0000000000000a0a 0014
++bextr32 0000006bcf63e2b5 -> 00000000000003e2 0014
++bextr32 000000464f7852a0 -> 0000000000000852 0010
++bextr32 00000037dac915a7 -> 0000000000000915 0010
++bextr32 000000234911b322 -> 00000000000001b3 0010
++bextr32 0000001c0a2862bc -> 0000000000000862 0010
++bextr32 00000010addcd664 -> 0000000000000cd6 0010
++bextr32 0000000d7b2a9b66 -> 0000000000000a9b 0010
++bextr32 00000008cae27197 -> 0000000000000271 0014
++bextr32 00000006fc616943 -> 0000000000000169 0014
++bextr32 00000004686be704 -> 0000000000000be7 0014
++bextr32 0000000380a0aeff -> 00000000000000ae 0010
++bextr32 000000021536a868 -> 00000000000006a8 0010
++bextr32 00000001af3d8fad -> 0000000000000d8f 0010
++bextr32 00000001193de163 -> 0000000000000de1 0014
++bextr32 00000000df6b2459 -> 0000000000000b24 0014
++bextr32 000000008d2446ca -> 0000000000000446 0010
++bextr32 000000007028a18a -> 00000000000008a1 0010
++bextr32 0000000042b77358 -> 0000000000000773 0010
++bextr32 0000000035ecaa6c -> 0000000000000caa 0014
++bextr32 00000000232b89c5 -> 0000000000000b89 0010
++bextr32 000000001bf185a4 -> 0000000000000185 0010
++bextr32 0000000011a1af9b -> 00000000000001af 0014
++bextr32 000000000e0282bb -> 0000000000000282 0014
++bextr32 000000000854daa0 -> 00000000000004da 0010
++bextr32 0000000006bcf63d -> 0000000000000cf6 0014
++bextr32 000000000464f784 -> 00000000000004f7 0010
++bextr32 00000000037dac90 -> 0000000000000dac 0014
++bextr32 000000000234911a -> 0000000000000491 0010
++bextr32 0000000001c0a285 -> 00000000000000a2 0010
++bextr32 00000000010addcc -> 0000000000000add 0014
++bextr32 0000000000d7b2a8 -> 00000000000007b2 0014
++bextr32 00000000008cae26 -> 0000000000000cae 0010
++bextr32 00000000006fc615 -> 0000000000000fc6 0014
++bextr32 00000000004686bd -> 0000000000000686 0010
++bextr32 0000000000380a0a -> 000000000000080a 0014
++bextr32 0000000000215369 -> 0000000000000153 0014
++bextr32 00000000001af3d7 -> 0000000000000af3 0014
++bextr32 00000000001193de -> 0000000000000193 0014
++bextr32 00000000000df6b1 -> 0000000000000df6 0014
++bextr32 000000000008d242 -> 00000000000008d2 0014
++bextr32 0000000000070287 -> 0000000000000702 0010
++bextr32 0000000000042b72 -> 000000000000042b 0014
++bextr32 0000000000035ec7 -> 000000000000035e 0010
++bextr32 00000000000232b3 -> 0000000000000232 0010
++bextr32 000000000001bf16 -> 00000000000001bf 0010
++bextr32 0000000000011a1b -> 000000000000011a 0010
++bextr32 000000000000e027 -> 00000000000000e0 0010
++bextr32 000000000000854a -> 0000000000000085 0010
++bextr32 0000000000006bce -> 000000000000006b 0010
++bextr32 000000000000464e -> 0000000000000046 0010
++bextr32 00000000000037d9 -> 0000000000000037 0010
++bextr32 0000000000002347 -> 0000000000000023 0010
++bextr32 0000000000001c06 -> 000000000000001c 0010
++bextr32 00000000000010a9 -> 0000000000000010 0010
++bextr32 0000000000000d78 -> 000000000000000d 0010
++bextr32 00000000000008c8 -> 0000000000000008 0010
++bextr32 00000000000006fa -> 0000000000000006 0014
++bextr32 0000000000000468 -> 0000000000000004 0010
++bextr32 0000000000000380 -> 0000000000000003 0014
++bextr32 0000000000000214 -> 0000000000000002 0010
++bextr32 00000000000001ae -> 0000000000000001 0010
++bextr32 0000000000000118 -> 0000000000000001 0010
++bextr32 00000000000000de -> 0000000000000000 0054
++bextr32 000000000000008c -> 0000000000000000 0054
++bextr32 000000000000006f -> 0000000000000000 0054
++bextr32 0000000000000045 -> 0000000000000000 0054
++bextr32 0000000000000037 -> 0000000000000000 0054
++bextr32 0000000000000022 -> 0000000000000000 0054
++bextr32 000000000000001b -> 0000000000000000 0054
++bextr32 0000000000000010 -> 0000000000000000 0054
++bextr32 000000000000000c -> 0000000000000000 0054
++bextr32 0000000000000007 -> 0000000000000000 0054
++bextr32 0000000000000003 -> 0000000000000000 0054
++bextr32 0000000000000001 -> 0000000000000000 0054
++bextr32 0000000000000000 -> 0000000000000000 0054
++bextr64 57657438291cdef0 -> 0000000000000cde 0014
++bextr64 452015034e67c955 -> 00000000000007c9 0014
++bextr64 37e901ef56b302d6 -> 0000000000000302 0010
++bextr64 2348b20e142667cf -> 0000000000000667 0010
++bextr64 1c09d34c26e1c212 -> 00000000000001c2 0010
++bextr64 10ad37922d51847f -> 0000000000000184 0014
++bextr64 0d7b015093984564 -> 0000000000000845 0010
++bextr64 08cac1103a60926a -> 0000000000000092 0010
++bextr64 06fc5681c8cd2b10 -> 0000000000000d2b 0014
++bextr64 04687224d51a87fa -> 0000000000000a87 0014
++bextr64 03809eacb986283a -> 0000000000000628 0014
++bextr64 02152e09a7eb825e -> 0000000000000b82 0014
++bextr64 01af3c969c7725a6 -> 0000000000000725 0010
++bextr64 01193d5aad28c013 -> 00000000000008c0 0014
++bextr64 00df6b2373776c4a -> 000000000000076c 0014
++bextr64 008d24457d4341d1 -> 0000000000000341 0014
++bextr64 007028a17fc8b89e -> 00000000000008b8 0014
++bextr64 0042b77370e42ef0 -> 000000000000042e 0014
++bextr64 0035ecaa6c888c28 -> 000000000000088c 0010
++bextr64 00232b89c5c8c9b6 -> 00000000000008c9 0014
++bextr64 001bf185a53e82dc -> 0000000000000e82 0014
++bextr64 0011a1af9c2edaa2 -> 0000000000000eda 0010
++bextr64 000e0282bc13b27b -> 00000000000003b2 0014
++bextr64 000854daa0b4cc02 -> 00000000000004cc 0014
++bextr64 0006bcf63e2fbf3d -> 0000000000000fbf 0010
++bextr64 000464f7852a566a -> 0000000000000a56 0014
++bextr64 00037dac915ab5c5 -> 0000000000000ab5 0010
++bextr64 000234911b32831c -> 0000000000000283 0010
++bextr64 0001c0a2862c25c1 -> 0000000000000c25 0010
++bextr64 00010addcd657882 -> 0000000000000578 0014
++bextr64 0000d7b2a9b6ab1d -> 00000000000006ab 0010
++bextr64 00008cae2719cda3 -> 00000000000009cd 0010
++bextr64 00006fc61694404d -> 0000000000000440 0010
++bextr64 00004686be70612c -> 0000000000000061 0010
++bextr64 0000380a0af0025a -> 0000000000000002 0010
++bextr64 000021536a829879 -> 0000000000000298 0010
++bextr64 00001af3d8f8abea -> 00000000000008ab 0010
++bextr64 00001193de14a839 -> 00000000000004a8 0010
++bextr64 00000df6b24569e5 -> 0000000000000569 0014
++bextr64 000008d2446cc8f9 -> 0000000000000cc8 0010
++bextr64 000007028a18af7d -> 00000000000008af 0014
++bextr64 0000042b77359960 -> 0000000000000599 0014
++bextr64 0000035ecaa6d9df -> 00000000000006d9 0010
++bextr64 00000232b89c662a -> 0000000000000c66 0014
++bextr64 000001bf185a50b0 -> 0000000000000a50 0014
++bextr64 0000011a1af9c13b -> 00000000000009c1 0010
++bextr64 000000e0282bc000 -> 0000000000000bc0 0014
++bextr64 000000854daa0a5a -> 0000000000000a0a 0014
++bextr64 0000006bcf63e2b5 -> 00000000000003e2 0014
++bextr64 000000464f7852a0 -> 0000000000000852 0010
++bextr64 00000037dac915a7 -> 0000000000000915 0010
++bextr64 000000234911b322 -> 00000000000001b3 0010
++bextr64 0000001c0a2862bc -> 0000000000000862 0010
++bextr64 00000010addcd664 -> 0000000000000cd6 0010
++bextr64 0000000d7b2a9b66 -> 0000000000000a9b 0010
++bextr64 00000008cae27197 -> 0000000000000271 0014
++bextr64 00000006fc616943 -> 0000000000000169 0014
++bextr64 00000004686be704 -> 0000000000000be7 0014
++bextr64 0000000380a0aeff -> 00000000000000ae 0010
++bextr64 000000021536a868 -> 00000000000006a8 0010
++bextr64 00000001af3d8fad -> 0000000000000d8f 0010
++bextr64 00000001193de163 -> 0000000000000de1 0014
++bextr64 00000000df6b2459 -> 0000000000000b24 0014
++bextr64 000000008d2446ca -> 0000000000000446 0010
++bextr64 000000007028a18a -> 00000000000008a1 0010
++bextr64 0000000042b77358 -> 0000000000000773 0010
++bextr64 0000000035ecaa6c -> 0000000000000caa 0014
++bextr64 00000000232b89c5 -> 0000000000000b89 0010
++bextr64 000000001bf185a4 -> 0000000000000185 0010
++bextr64 0000000011a1af9b -> 00000000000001af 0014
++bextr64 000000000e0282bb -> 0000000000000282 0014
++bextr64 000000000854daa0 -> 00000000000004da 0010
++bextr64 0000000006bcf63d -> 0000000000000cf6 0014
++bextr64 000000000464f784 -> 00000000000004f7 0010
++bextr64 00000000037dac90 -> 0000000000000dac 0014
++bextr64 000000000234911a -> 0000000000000491 0010
++bextr64 0000000001c0a285 -> 00000000000000a2 0010
++bextr64 00000000010addcc -> 0000000000000add 0014
++bextr64 0000000000d7b2a8 -> 00000000000007b2 0014
++bextr64 00000000008cae26 -> 0000000000000cae 0010
++bextr64 00000000006fc615 -> 0000000000000fc6 0014
++bextr64 00000000004686bd -> 0000000000000686 0010
++bextr64 0000000000380a0a -> 000000000000080a 0014
++bextr64 0000000000215369 -> 0000000000000153 0014
++bextr64 00000000001af3d7 -> 0000000000000af3 0014
++bextr64 00000000001193de -> 0000000000000193 0014
++bextr64 00000000000df6b1 -> 0000000000000df6 0014
++bextr64 000000000008d242 -> 00000000000008d2 0014
++bextr64 0000000000070287 -> 0000000000000702 0010
++bextr64 0000000000042b72 -> 000000000000042b 0014
++bextr64 0000000000035ec7 -> 000000000000035e 0010
++bextr64 00000000000232b3 -> 0000000000000232 0010
++bextr64 000000000001bf16 -> 00000000000001bf 0010
++bextr64 0000000000011a1b -> 000000000000011a 0010
++bextr64 000000000000e027 -> 00000000000000e0 0010
++bextr64 000000000000854a -> 0000000000000085 0010
++bextr64 0000000000006bce -> 000000000000006b 0010
++bextr64 000000000000464e -> 0000000000000046 0010
++bextr64 00000000000037d9 -> 0000000000000037 0010
++bextr64 0000000000002347 -> 0000000000000023 0010
++bextr64 0000000000001c06 -> 000000000000001c 0010
++bextr64 00000000000010a9 -> 0000000000000010 0010
++bextr64 0000000000000d78 -> 000000000000000d 0010
++bextr64 00000000000008c8 -> 0000000000000008 0010
++bextr64 00000000000006fa -> 0000000000000006 0014
++bextr64 0000000000000468 -> 0000000000000004 0010
++bextr64 0000000000000380 -> 0000000000000003 0014
++bextr64 0000000000000214 -> 0000000000000002 0010
++bextr64 00000000000001ae -> 0000000000000001 0010
++bextr64 0000000000000118 -> 0000000000000001 0010
++bextr64 00000000000000de -> 0000000000000000 0054
++bextr64 000000000000008c -> 0000000000000000 0054
++bextr64 000000000000006f -> 0000000000000000 0054
++bextr64 0000000000000045 -> 0000000000000000 0054
++bextr64 0000000000000037 -> 0000000000000000 0054
++bextr64 0000000000000022 -> 0000000000000000 0054
++bextr64 000000000000001b -> 0000000000000000 0054
++bextr64 0000000000000010 -> 0000000000000000 0054
++bextr64 000000000000000c -> 0000000000000000 0054
++bextr64 0000000000000007 -> 0000000000000000 0054
++bextr64 0000000000000003 -> 0000000000000000 0054
++bextr64 0000000000000001 -> 0000000000000000 0054
++bextr64 0000000000000000 -> 0000000000000000 0054
++bextr32 57657438291cdef0 -> 00000000148e6f78 0014
++bextr32 452015034e67c955 -> 000000002733e4aa 0014
++bextr32 37e901ef56b302d6 -> 000000002b59816b 0010
++bextr32 2348b20e142667cf -> 000000000a1333e7 0014
++bextr32 1c09d34c26e1c212 -> 000000001370e109 0014
++bextr32 10ad37922d51847f -> 0000000016a8c23f 0014
++bextr32 0d7b015093984564 -> 0000000049cc22b2 0014
++bextr32 08cac1103a60926a -> 000000001d304935 0014
++bextr32 06fc5681c8cd2b10 -> 0000000064669588 0014
++bextr32 04687224d51a87fa -> 000000006a8d43fd 0010
++bextr32 03809eacb986283a -> 000000005cc3141d 0014
++bextr32 02152e09a7eb825e -> 0000000053f5c12f 0010
++bextr32 01af3c969c7725a6 -> 000000004e3b92d3 0010
++bextr32 01193d5aad28c013 -> 0000000056946009 0014
++bextr32 00df6b2373776c4a -> 0000000039bbb625 0010
++bextr32 008d24457d4341d1 -> 000000003ea1a0e8 0014
++bextr32 007028a17fc8b89e -> 000000003fe45c4f 0010
++bextr32 0042b77370e42ef0 -> 0000000038721778 0014
++bextr32 0035ecaa6c888c28 -> 0000000036444614 0014
++bextr32 00232b89c5c8c9b6 -> 0000000062e464db 0014
++bextr32 001bf185a53e82dc -> 00000000529f416e 0010
++bextr32 0011a1af9c2edaa2 -> 000000004e176d51 0010
++bextr32 000e0282bc13b27b -> 000000005e09d93d 0010
++bextr32 000854daa0b4cc02 -> 00000000505a6601 0010
++bextr32 0006bcf63e2fbf3d -> 000000001f17df9e 0010
++bextr32 000464f7852a566a -> 0000000042952b35 0014
++bextr32 00037dac915ab5c5 -> 0000000048ad5ae2 0014
++bextr32 000234911b32831c -> 000000000d99418e 0014
++bextr32 0001c0a2862c25c1 -> 00000000431612e0 0010
++bextr32 00010addcd657882 -> 0000000066b2bc41 0014
++bextr32 0000d7b2a9b6ab1d -> 0000000054db558e 0014
++bextr32 00008cae2719cda3 -> 00000000138ce6d1 0014
++bextr32 00006fc61694404d -> 000000000b4a2026 0010
++bextr32 00004686be70612c -> 000000005f383096 0014
++bextr32 0000380a0af0025a -> 000000000578012d 0014
++bextr32 000021536a829879 -> 0000000035414c3c 0014
++bextr32 00001af3d8f8abea -> 000000006c7c55f5 0014
++bextr32 00001193de14a839 -> 000000006f0a541c 0010
++bextr32 00000df6b24569e5 -> 000000005922b4f2 0010
++bextr32 000008d2446cc8f9 -> 000000002236647c 0010
++bextr32 000007028a18af7d -> 00000000450c57be 0014
++bextr32 0000042b77359960 -> 000000003b9accb0 0010
++bextr32 0000035ecaa6d9df -> 0000000065536cef 0010
++bextr32 00000232b89c662a -> 000000005c4e3315 0010
++bextr32 000001bf185a50b0 -> 000000000c2d2858 0010
++bextr32 0000011a1af9c13b -> 000000000d7ce09d 0010
++bextr32 000000e0282bc000 -> 000000001415e000 0014
++bextr32 000000854daa0a5a -> 0000000026d5052d 0014
++bextr32 0000006bcf63e2b5 -> 0000000067b1f15a 0014
++bextr32 000000464f7852a0 -> 0000000027bc2950 0014
++bextr32 00000037dac915a7 -> 000000006d648ad3 0010
++bextr32 000000234911b322 -> 000000002488d991 0010
++bextr32 0000001c0a2862bc -> 000000000514315e 0010
++bextr32 00000010addcd664 -> 0000000056ee6b32 0010
++bextr32 0000000d7b2a9b66 -> 000000003d954db3 0010
++bextr32 00000008cae27197 -> 00000000657138cb 0010
++bextr32 00000006fc616943 -> 000000007e30b4a1 0010
++bextr32 00000004686be704 -> 000000003435f382 0014
++bextr32 0000000380a0aeff -> 000000004050577f 0010
++bextr32 000000021536a868 -> 000000000a9b5434 0010
++bextr32 00000001af3d8fad -> 00000000579ec7d6 0010
++bextr32 00000001193de163 -> 000000000c9ef0b1 0014
++bextr32 00000000df6b2459 -> 000000006fb5922c 0010
++bextr32 000000008d2446ca -> 0000000046922365 0014
++bextr32 000000007028a18a -> 00000000381450c5 0014
++bextr32 0000000042b77358 -> 00000000215bb9ac 0014
++bextr32 0000000035ecaa6c -> 000000001af65536 0014
++bextr32 00000000232b89c5 -> 000000001195c4e2 0014
++bextr32 000000001bf185a4 -> 000000000df8c2d2 0014
++bextr32 0000000011a1af9b -> 0000000008d0d7cd 0010
++bextr32 000000000e0282bb -> 000000000701415d 0010
++bextr32 000000000854daa0 -> 00000000042a6d50 0014
++bextr32 0000000006bcf63d -> 00000000035e7b1e 0014
++bextr32 000000000464f784 -> 0000000002327bc2 0010
++bextr32 00000000037dac90 -> 0000000001bed648 0014
++bextr32 000000000234911a -> 00000000011a488d 0014
++bextr32 0000000001c0a285 -> 0000000000e05142 0014
++bextr32 00000000010addcc -> 0000000000856ee6 0010
++bextr32 0000000000d7b2a8 -> 00000000006bd954 0010
++bextr32 00000000008cae26 -> 0000000000465713 0010
++bextr32 00000000006fc615 -> 000000000037e30a 0014
++bextr32 00000000004686bd -> 000000000023435e 0010
++bextr32 0000000000380a0a -> 00000000001c0505 0014
++bextr32 0000000000215369 -> 000000000010a9b4 0014
++bextr32 00000000001af3d7 -> 00000000000d79eb 0014
++bextr32 00000000001193de -> 000000000008c9ef 0010
++bextr32 00000000000df6b1 -> 000000000006fb58 0010
++bextr32 000000000008d242 -> 0000000000046921 0014
++bextr32 0000000000070287 -> 0000000000038143 0010
++bextr32 0000000000042b72 -> 00000000000215b9 0010
++bextr32 0000000000035ec7 -> 000000000001af63 0014
++bextr32 00000000000232b3 -> 0000000000011959 0014
++bextr32 000000000001bf16 -> 000000000000df8b 0014
++bextr32 0000000000011a1b -> 0000000000008d0d 0010
++bextr32 000000000000e027 -> 0000000000007013 0010
++bextr32 000000000000854a -> 00000000000042a5 0014
++bextr32 0000000000006bce -> 00000000000035e7 0014
++bextr32 000000000000464e -> 0000000000002327 0014
++bextr32 00000000000037d9 -> 0000000000001bec 0010
++bextr32 0000000000002347 -> 00000000000011a3 0014
++bextr32 0000000000001c06 -> 0000000000000e03 0014
++bextr32 00000000000010a9 -> 0000000000000854 0010
++bextr32 0000000000000d78 -> 00000000000006bc 0010
++bextr32 00000000000008c8 -> 0000000000000464 0010
++bextr32 00000000000006fa -> 000000000000037d 0014
++bextr32 0000000000000468 -> 0000000000000234 0010
++bextr32 0000000000000380 -> 00000000000001c0 0014
++bextr32 0000000000000214 -> 000000000000010a 0014
++bextr32 00000000000001ae -> 00000000000000d7 0014
++bextr32 0000000000000118 -> 000000000000008c 0010
++bextr32 00000000000000de -> 000000000000006f 0014
++bextr32 000000000000008c -> 0000000000000046 0010
++bextr32 000000000000006f -> 0000000000000037 0010
++bextr32 0000000000000045 -> 0000000000000022 0014
++bextr32 0000000000000037 -> 000000000000001b 0014
++bextr32 0000000000000022 -> 0000000000000011 0014
++bextr32 000000000000001b -> 000000000000000d 0010
++bextr32 0000000000000010 -> 0000000000000008 0010
++bextr32 000000000000000c -> 0000000000000006 0014
++bextr32 0000000000000007 -> 0000000000000003 0014
++bextr32 0000000000000003 -> 0000000000000001 0010
++bextr32 0000000000000001 -> 0000000000000000 0054
++bextr32 0000000000000000 -> 0000000000000000 0054
++bextr64 57657438291cdef0 -> 00000000148e6f78 0014
++bextr64 452015034e67c955 -> 000000002733e4aa 0014
++bextr64 37e901ef56b302d6 -> 000000002b59816b 0010
++bextr64 2348b20e142667cf -> 000000000a1333e7 0014
++bextr64 1c09d34c26e1c212 -> 000000001370e109 0014
++bextr64 10ad37922d51847f -> 0000000016a8c23f 0014
++bextr64 0d7b015093984564 -> 0000000049cc22b2 0014
++bextr64 08cac1103a60926a -> 000000001d304935 0014
++bextr64 06fc5681c8cd2b10 -> 0000000064669588 0014
++bextr64 04687224d51a87fa -> 000000006a8d43fd 0010
++bextr64 03809eacb986283a -> 000000005cc3141d 0014
++bextr64 02152e09a7eb825e -> 0000000053f5c12f 0010
++bextr64 01af3c969c7725a6 -> 000000004e3b92d3 0010
++bextr64 01193d5aad28c013 -> 0000000056946009 0014
++bextr64 00df6b2373776c4a -> 0000000039bbb625 0010
++bextr64 008d24457d4341d1 -> 000000003ea1a0e8 0014
++bextr64 007028a17fc8b89e -> 000000003fe45c4f 0010
++bextr64 0042b77370e42ef0 -> 0000000038721778 0014
++bextr64 0035ecaa6c888c28 -> 0000000036444614 0014
++bextr64 00232b89c5c8c9b6 -> 0000000062e464db 0014
++bextr64 001bf185a53e82dc -> 00000000529f416e 0010
++bextr64 0011a1af9c2edaa2 -> 000000004e176d51 0010
++bextr64 000e0282bc13b27b -> 000000005e09d93d 0010
++bextr64 000854daa0b4cc02 -> 00000000505a6601 0010
++bextr64 0006bcf63e2fbf3d -> 000000001f17df9e 0010
++bextr64 000464f7852a566a -> 0000000042952b35 0014
++bextr64 00037dac915ab5c5 -> 0000000048ad5ae2 0014
++bextr64 000234911b32831c -> 000000000d99418e 0014
++bextr64 0001c0a2862c25c1 -> 00000000431612e0 0010
++bextr64 00010addcd657882 -> 0000000066b2bc41 0014
++bextr64 0000d7b2a9b6ab1d -> 0000000054db558e 0014
++bextr64 00008cae2719cda3 -> 00000000138ce6d1 0014
++bextr64 00006fc61694404d -> 000000000b4a2026 0010
++bextr64 00004686be70612c -> 000000005f383096 0014
++bextr64 0000380a0af0025a -> 000000000578012d 0014
++bextr64 000021536a829879 -> 0000000035414c3c 0014
++bextr64 00001af3d8f8abea -> 000000006c7c55f5 0014
++bextr64 00001193de14a839 -> 000000006f0a541c 0010
++bextr64 00000df6b24569e5 -> 000000005922b4f2 0010
++bextr64 000008d2446cc8f9 -> 000000002236647c 0010
++bextr64 000007028a18af7d -> 00000000450c57be 0014
++bextr64 0000042b77359960 -> 000000003b9accb0 0010
++bextr64 0000035ecaa6d9df -> 0000000065536cef 0010
++bextr64 00000232b89c662a -> 000000005c4e3315 0010
++bextr64 000001bf185a50b0 -> 000000000c2d2858 0010
++bextr64 0000011a1af9c13b -> 000000000d7ce09d 0010
++bextr64 000000e0282bc000 -> 000000001415e000 0014
++bextr64 000000854daa0a5a -> 0000000026d5052d 0014
++bextr64 0000006bcf63e2b5 -> 0000000067b1f15a 0014
++bextr64 000000464f7852a0 -> 0000000027bc2950 0014
++bextr64 00000037dac915a7 -> 000000006d648ad3 0010
++bextr64 000000234911b322 -> 000000002488d991 0010
++bextr64 0000001c0a2862bc -> 000000000514315e 0010
++bextr64 00000010addcd664 -> 0000000056ee6b32 0010
++bextr64 0000000d7b2a9b66 -> 000000003d954db3 0010
++bextr64 00000008cae27197 -> 00000000657138cb 0010
++bextr64 00000006fc616943 -> 000000007e30b4a1 0010
++bextr64 00000004686be704 -> 000000003435f382 0014
++bextr64 0000000380a0aeff -> 000000004050577f 0010
++bextr64 000000021536a868 -> 000000000a9b5434 0010
++bextr64 00000001af3d8fad -> 00000000579ec7d6 0010
++bextr64 00000001193de163 -> 000000000c9ef0b1 0014
++bextr64 00000000df6b2459 -> 000000006fb5922c 0010
++bextr64 000000008d2446ca -> 0000000046922365 0014
++bextr64 000000007028a18a -> 00000000381450c5 0014
++bextr64 0000000042b77358 -> 00000000215bb9ac 0014
++bextr64 0000000035ecaa6c -> 000000001af65536 0014
++bextr64 00000000232b89c5 -> 000000001195c4e2 0014
++bextr64 000000001bf185a4 -> 000000000df8c2d2 0014
++bextr64 0000000011a1af9b -> 0000000008d0d7cd 0010
++bextr64 000000000e0282bb -> 000000000701415d 0010
++bextr64 000000000854daa0 -> 00000000042a6d50 0014
++bextr64 0000000006bcf63d -> 00000000035e7b1e 0014
++bextr64 000000000464f784 -> 0000000002327bc2 0010
++bextr64 00000000037dac90 -> 0000000001bed648 0014
++bextr64 000000000234911a -> 00000000011a488d 0014
++bextr64 0000000001c0a285 -> 0000000000e05142 0014
++bextr64 00000000010addcc -> 0000000000856ee6 0010
++bextr64 0000000000d7b2a8 -> 00000000006bd954 0010
++bextr64 00000000008cae26 -> 0000000000465713 0010
++bextr64 00000000006fc615 -> 000000000037e30a 0014
++bextr64 00000000004686bd -> 000000000023435e 0010
++bextr64 0000000000380a0a -> 00000000001c0505 0014
++bextr64 0000000000215369 -> 000000000010a9b4 0014
++bextr64 00000000001af3d7 -> 00000000000d79eb 0014
++bextr64 00000000001193de -> 000000000008c9ef 0010
++bextr64 00000000000df6b1 -> 000000000006fb58 0010
++bextr64 000000000008d242 -> 0000000000046921 0014
++bextr64 0000000000070287 -> 0000000000038143 0010
++bextr64 0000000000042b72 -> 00000000000215b9 0010
++bextr64 0000000000035ec7 -> 000000000001af63 0014
++bextr64 00000000000232b3 -> 0000000000011959 0014
++bextr64 000000000001bf16 -> 000000000000df8b 0014
++bextr64 0000000000011a1b -> 0000000000008d0d 0010
++bextr64 000000000000e027 -> 0000000000007013 0010
++bextr64 000000000000854a -> 00000000000042a5 0014
++bextr64 0000000000006bce -> 00000000000035e7 0014
++bextr64 000000000000464e -> 0000000000002327 0014
++bextr64 00000000000037d9 -> 0000000000001bec 0010
++bextr64 0000000000002347 -> 00000000000011a3 0014
++bextr64 0000000000001c06 -> 0000000000000e03 0014
++bextr64 00000000000010a9 -> 0000000000000854 0010
++bextr64 0000000000000d78 -> 00000000000006bc 0010
++bextr64 00000000000008c8 -> 0000000000000464 0010
++bextr64 00000000000006fa -> 000000000000037d 0014
++bextr64 0000000000000468 -> 0000000000000234 0010
++bextr64 0000000000000380 -> 00000000000001c0 0014
++bextr64 0000000000000214 -> 000000000000010a 0014
++bextr64 00000000000001ae -> 00000000000000d7 0014
++bextr64 0000000000000118 -> 000000000000008c 0010
++bextr64 00000000000000de -> 000000000000006f 0014
++bextr64 000000000000008c -> 0000000000000046 0010
++bextr64 000000000000006f -> 0000000000000037 0010
++bextr64 0000000000000045 -> 0000000000000022 0014
++bextr64 0000000000000037 -> 000000000000001b 0014
++bextr64 0000000000000022 -> 0000000000000011 0014
++bextr64 000000000000001b -> 000000000000000d 0010
++bextr64 0000000000000010 -> 0000000000000008 0010
++bextr64 000000000000000c -> 0000000000000006 0014
++bextr64 0000000000000007 -> 0000000000000003 0014
++bextr64 0000000000000003 -> 0000000000000001 0010
++bextr64 0000000000000001 -> 0000000000000000 0054
++bextr64 0000000000000000 -> 0000000000000000 0054
+Index: none/tests/amd64/tbm.vgtest
+===================================================================
+--- none/tests/amd64/tbm.vgtest (revision 0)
++++ none/tests/amd64/tbm.vgtest (working copy)
+@@ -0,0 +1,3 @@
++prog: tbm
++prereq: test -x tbm && ../../../tests/x86_amd64_features amd64-avx
++vgopts: -q
diff --git a/dev-util/valgrind/files/valgrind-3.7.0-fno-stack-protector.patch b/dev-util/valgrind/files/valgrind-3.7.0-fno-stack-protector.patch
new file mode 100644
index 0000000..6af4553
--- /dev/null
+++ b/dev-util/valgrind/files/valgrind-3.7.0-fno-stack-protector.patch
@@ -0,0 +1,12 @@
+diff -Naur valgrind-3.7.0.orig//Makefile.all.am valgrind-3.7.0/Makefile.all.am
+--- valgrind-3.7.0.orig//Makefile.all.am 2011-10-26 17:24:45.000000000 -0400
++++ valgrind-3.7.0/Makefile.all.am 2011-11-10 16:18:18.000000000 -0500
+@@ -82,7 +82,7 @@
+ # performance and get whatever useful warnings we can out of gcc.
+ # -fno-builtin is important for defeating LLVM's idiom recognition
+ # that somehow causes VG_(memset) to get into infinite recursion.
+-AM_CFLAGS_BASE = \
++AM_CFLAGS_BASE = -fno-stack-protector \
+ -O2 -g \
+ -Wall \
+ -Wmissing-prototypes \
diff --git a/dev-util/valgrind/files/valgrind-3.7.0-respect-flags.patch b/dev-util/valgrind/files/valgrind-3.7.0-respect-flags.patch
new file mode 100644
index 0000000..860e09c
--- /dev/null
+++ b/dev-util/valgrind/files/valgrind-3.7.0-respect-flags.patch
@@ -0,0 +1,13 @@
+diff -Naur valgrind-3.7.0.orig//mpi/Makefile.am valgrind-3.7.0/mpi/Makefile.am
+--- valgrind-3.7.0.orig//mpi/Makefile.am 2011-10-26 17:24:23.000000000 -0400
++++ valgrind-3.7.0/mpi/Makefile.am 2011-11-10 16:03:14.000000000 -0500
+@@ -7,9 +7,6 @@
+ CC = $(MPI_CC)
+ DEFS =
+ DEFAULT_INCLUDES =
+-CPPFLAGS =
+-CFLAGS =
+-LDFLAGS =
+
+ EXTRA_DIST = \
+ mpiwrap_type_test.c
diff --git a/dev-util/valgrind/metadata.xml b/dev-util/valgrind/metadata.xml
new file mode 100644
index 0000000..31d1b4f
--- /dev/null
+++ b/dev-util/valgrind/metadata.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>blueness@gentoo.org</email>
+ <name>Anthony G. Basile</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>wizardedit@gentoo.org</email>
+ <name>Austin English</name>
+ </maintainer>
+ <longdescription>
+ Valgrind is a GPL'd tool to help you find memory-management problems
+ in your programs. When a program is run under Valgrind's supervision,
+ all reads and writes of memory are checked, and calls to
+ malloc/new/free/delete are intercepted. As a result, Valgrind can
+ detect problems such as
+
+ - Use of uninitialised memory
+ - Reading/writing memory after it has been free'd
+ - Reading/writing off the end of malloc'd blocks
+ - Reading/writing inappropriate areas on the stack
+ - Memory leaks -- where pointers to malloc'd blocks are lost forever
+ - Passing of uninitialised and/or unaddressible memory to system calls
+ - Mismatched use of malloc/new/new [] vs free/delete/delete []
+ - Some abuses of the POSIX Pthreads API
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-util/valgrind/valgrind-3.13.0-r1.ebuild b/dev-util/valgrind/valgrind-3.13.0-r1.ebuild
new file mode 100644
index 0000000..cbec58b
--- /dev/null
+++ b/dev-util/valgrind/valgrind-3.13.0-r1.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+inherit autotools flag-o-matic toolchain-funcs multilib pax-utils
+
+DESCRIPTION="An open-source memory debugger for GNU/Linux"
+HOMEPAGE="http://www.valgrind.org"
+SRC_URI="ftp://sourceware.org/pub/valgrind/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~arm ~arm64 ppc ppc64 x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="mpi"
+
+DEPEND="mpi? ( virtual/mpi )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ # Correct hard coded doc location
+ sed -i -e "s:doc/valgrind:doc/${PF}:" docs/Makefile.am || die
+
+ # Don't force multiarch stuff on OSX, bug #306467
+ sed -i -e 's:-arch \(i386\|x86_64\)::g' Makefile.all.am || die
+
+ # Respect CFLAGS, LDFLAGS
+ eapply "${FILESDIR}"/${PN}-3.7.0-respect-flags.patch
+
+ # Changing Makefile.all.am to disable SSP
+ eapply "${FILESDIR}"/${PN}-3.7.0-fno-stack-protector.patch
+
+ eapply "${FILESDIR}/support_for_TBM_bextr.patch"
+
+ # Allow users to test their own patches
+ eapply_user
+
+ # Regenerate autotools files
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+
+ # Respect ar, bug #468114
+ tc-export AR
+
+ # -fomit-frame-pointer "Assembler messages: Error: junk `8' after expression"
+ # while compiling insn_sse.c in none/tests/x86
+ # -fstack-protector more undefined references to __guard and __stack_smash_handler
+ # because valgrind doesn't link to glibc (bug #114347)
+ # -m64 -mx32 for multilib-portage, bug #398825
+ # -ggdb3 segmentation fault on startup
+ filter-flags -fomit-frame-pointer
+ filter-flags -fstack-protector
+ filter-flags -m64 -mx32
+ replace-flags -ggdb3 -ggdb2
+
+ if use amd64 || use ppc64; then
+ ! has_multilib_profile && myconf="${myconf} --enable-only64bit"
+ fi
+
+ # Force bitness on darwin, bug #306467
+ use x86-macos && myconf="${myconf} --enable-only32bit"
+ use x64-macos && myconf="${myconf} --enable-only64bit"
+
+ # Don't use mpicc unless the user asked for it (bug #258832)
+ if ! use mpi; then
+ myconf="${myconf} --without-mpicc"
+ fi
+
+ econf ${myconf}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc AUTHORS FAQ.txt NEWS README*
+
+ pax-mark m "${ED}"/usr/$(get_libdir)/valgrind/*-*-linux
+
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ # fix install_names on shared libraries, can't turn them into bundles,
+ # as dyld won't load them any more then, bug #306467
+ local l
+ for l in "${ED}"/usr/lib/valgrind/*.so ; do
+ install_name_tool -id "${EPREFIX}"/usr/lib/valgrind/${l##*/} "${l}"
+ done
+ fi
+}
+
+pkg_postinst() {
+ elog "Valgrind will not work if glibc does not have debug symbols."
+ elog "To fix this you can add splitdebug to FEATURES in make.conf"
+ elog "and remerge glibc. See:"
+ elog "https://bugs.gentoo.org/show_bug.cgi?id=214065"
+ elog "https://bugs.gentoo.org/show_bug.cgi?id=274771"
+ elog "https://bugs.gentoo.org/show_bug.cgi?id=388703"
+}
diff --git a/dev-util/valgrind/valgrind-scm.ebuild b/dev-util/valgrind/valgrind-scm.ebuild
index 381ba6f..7c229d4 100644
--- a/dev-util/valgrind/valgrind-scm.ebuild
+++ b/dev-util/valgrind/valgrind-scm.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/valgrind/valgrind-3.6.0.ebuild,v 1.1 2010/11/10 01:40:41 blueness Exp $
-EAPI=2
+EAPI=6
inherit autotools eutils flag-o-matic toolchain-funcs multilib pax-utils subversion
DESCRIPTION="An open-source memory debugger for GNU/Linux"
@@ -19,6 +19,10 @@ IUSE="mpi"
DEPEND="mpi? ( virtual/mpi )"
RDEPEND="${DEPEND}"
+PATCHES=(
+ "${FILESDIR}/support_for_TBM_bextr.patch"
+)
+
src_prepare() {
# Respect CFLAGS, LDFLAGS
sed -i -e '/^CPPFLAGS =/d' -e '/^CFLAGS =/d' -e '/^LDFLAGS =/d' \
@@ -36,6 +40,7 @@ src_prepare() {
# Regenerate autotools files
eautoreconf
+ default
}
src_configure() {