diff --git a/.gitignore b/.gitignore index 84ae916..fb571d7 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ /valgrind-3.10.0.BETA1.tar.bz2 /valgrind-3.10.0.BETA2.tar.bz2 /valgrind-3.10.0.tar.bz2 +/valgrind-3.10.1.TEST1.tar.bz2 diff --git a/sources b/sources index 70f4104..beab9ce 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7c311a72a20388aceced1aa5573ce970 valgrind-3.10.0.tar.bz2 +e32d23cad60ef4677af27efb15f247e2 valgrind-3.10.1.TEST1.tar.bz2 diff --git a/valgrind-3.10.0-aarch64-dmb-sy.patch b/valgrind-3.10.0-aarch64-dmb-sy.patch deleted file mode 100644 index 7f1de8a..0000000 --- a/valgrind-3.10.0-aarch64-dmb-sy.patch +++ /dev/null @@ -1,24 +0,0 @@ -commit 5343bb38f44897fcb179b4756d75294719d75fbb -Author: mjw -Date: Sat Oct 11 19:13:35 2014 +0000 - - Bug 339858 arm64 recognize dmb sy. Data Memory Barrier full SYstem variant. - - git-svn-id: svn://svn.valgrind.org/vex/trunk@2975 8f6e269a-dfd6-0310-a8e1-e2731360e62c - -diff --git a/VEX/priv/guest_arm64_toIR.c b/VEX/priv/guest_arm64_toIR.c -index 2aa145c..5ebe0a6 100644 ---- a/VEX/priv/guest_arm64_toIR.c -+++ b/VEX/priv/guest_arm64_toIR.c -@@ -5537,6 +5537,11 @@ Bool dis_ARM64_branch_etc(/*MB_OUT*/DisResult* dres, UInt insn, - DIP("isb\n"); - return True; - } -+ if (INSN(31,0) == 0xD5033FBF) { -+ stmt(IRStmt_MBE(Imbe_Fence)); -+ DIP("dmb sy\n"); -+ return True; -+ } - if (INSN(31,0) == 0xD5033BBF) { - stmt(IRStmt_MBE(Imbe_Fence)); - DIP("dmb ish\n"); diff --git a/valgrind-3.10.0-aarch64-fcvta.patch b/valgrind-3.10.0-aarch64-fcvta.patch deleted file mode 100644 index 8146c3b..0000000 --- a/valgrind-3.10.0-aarch64-fcvta.patch +++ /dev/null @@ -1,108 +0,0 @@ -commit f9fae2ab83f7263f8d58f83ddd58921cd5d1dca8 -Author: sewardj -Date: Thu Oct 30 23:10:45 2014 +0000 - - Implement FCVTAS W_S and FCVTAU W_S. Fixes #340509. - - - git-svn-id: svn://svn.valgrind.org/vex/trunk@2984 8f6e269a-dfd6-0310-a8e1-e2731360e62c - -diff --git a/VEX/priv/guest_arm64_toIR.c b/VEX/priv/guest_arm64_toIR.c -index 2677211..acfdc02 100644 ---- a/VEX/priv/guest_arm64_toIR.c -+++ b/VEX/priv/guest_arm64_toIR.c -@@ -12189,6 +12189,7 @@ Bool dis_AdvSIMD_fp_to_from_int_conv(/*MB_OUT*/DisResult* dres, UInt insn) - /* 31 30 29 28 23 21 20 18 15 9 4 - sf 0 0 11110 type 1 rmode opcode 000000 n d - The first 3 bits are really "sf 0 S", but S is always zero. -+ Decode fields: sf,type,rmode,opcode - */ - # define INSN(_bMax,_bMin) SLICE_UInt(insn, (_bMax), (_bMin)) - if (INSN(30,29) != BITS2(0,0) -@@ -12205,7 +12206,7 @@ Bool dis_AdvSIMD_fp_to_from_int_conv(/*MB_OUT*/DisResult* dres, UInt insn) - UInt dd = INSN(4,0); - - // op = 000, 001 -- /* -------- FCVT{N,P,M,Z}{S,U} (scalar, integer) -------- */ -+ /* -------- FCVT{N,P,M,Z,A}{S,U} (scalar, integer) -------- */ - /* 30 23 20 18 15 9 4 - sf 00 11110 0x 1 00 000 000000 n d FCVTNS Rd, Fn (round to - sf 00 11110 0x 1 00 001 000000 n d FCVTNU Rd, Fn nearest) -@@ -12213,23 +12214,38 @@ Bool dis_AdvSIMD_fp_to_from_int_conv(/*MB_OUT*/DisResult* dres, UInt insn) - ---------------- 10 -------------- FCVTM-------- (round to -inf) - ---------------- 11 -------------- FCVTZ-------- (round to zero) - -+ ---------------- 00 100 ---------- FCVTAS------- (nearest, ties away) -+ ---------------- 00 101 ---------- FCVTAU------- (nearest, ties away) -+ - Rd is Xd when sf==1, Wd when sf==0 - Fn is Dn when x==1, Sn when x==0 - 20:19 carry the rounding mode, using the same encoding as FPCR - */ -- if (ty <= X01 && (op == BITS3(0,0,0) || op == BITS3(0,0,1))) { -+ if (ty <= X01 -+ && ( ((op == BITS3(0,0,0) || op == BITS3(0,0,1)) && True) -+ || ((op == BITS3(1,0,0) || op == BITS3(1,0,1)) && rm == BITS2(0,0)) -+ ) -+ ) { - Bool isI64 = bitSF == 1; - Bool isF64 = (ty & 1) == 1; - Bool isU = (op & 1) == 1; - /* Decide on the IR rounding mode to use. */ - IRRoundingMode irrm = 8; /*impossible*/ - HChar ch = '?'; -- switch (rm) { -- case BITS2(0,0): ch = 'n'; irrm = Irrm_NEAREST; break; -- case BITS2(0,1): ch = 'p'; irrm = Irrm_PosINF; break; -- case BITS2(1,0): ch = 'm'; irrm = Irrm_NegINF; break; -- case BITS2(1,1): ch = 'z'; irrm = Irrm_ZERO; break; -- default: vassert(0); -+ if (op == BITS3(0,0,0) || op == BITS3(0,0,1)) { -+ switch (rm) { -+ case BITS2(0,0): ch = 'n'; irrm = Irrm_NEAREST; break; -+ case BITS2(0,1): ch = 'p'; irrm = Irrm_PosINF; break; -+ case BITS2(1,0): ch = 'm'; irrm = Irrm_NegINF; break; -+ case BITS2(1,1): ch = 'z'; irrm = Irrm_ZERO; break; -+ default: vassert(0); -+ } -+ } else { -+ vassert(op == BITS3(1,0,0) || op == BITS3(1,0,1)); -+ switch (rm) { -+ case BITS2(0,0): ch = 'a'; irrm = Irrm_NEAREST; break; -+ default: vassert(0); -+ } - } - vassert(irrm != 8); - /* Decide on the conversion primop, based on the source size, -@@ -12254,9 +12270,11 @@ Bool dis_AdvSIMD_fp_to_from_int_conv(/*MB_OUT*/DisResult* dres, UInt insn) - (iop == Iop_F32toI32S && irrm == Irrm_ZERO) /* FCVTZS Wd,Sn */ - || (iop == Iop_F32toI32S && irrm == Irrm_NegINF) /* FCVTMS Wd,Sn */ - || (iop == Iop_F32toI32S && irrm == Irrm_PosINF) /* FCVTPS Wd,Sn */ -+ || (iop == Iop_F32toI32S && irrm == Irrm_NEAREST)/* FCVT{A,N}S W,S */ - /* F32toI32U */ - || (iop == Iop_F32toI32U && irrm == Irrm_ZERO) /* FCVTZU Wd,Sn */ - || (iop == Iop_F32toI32U && irrm == Irrm_NegINF) /* FCVTMU Wd,Sn */ -+ || (iop == Iop_F32toI32U && irrm == Irrm_NEAREST)/* FCVT{A,N}U W,S */ - /* F32toI64S */ - || (iop == Iop_F32toI64S && irrm == Irrm_ZERO) /* FCVTZS Xd,Sn */ - /* F32toI64U */ -commit 9f69352a36003c35cfe8ffe01ba8ef0f830b4198 -Author: mjw -Date: Tue Nov 4 15:30:42 2014 +0000 - - Bug 340632 arm64: unhandled instruction fcvtas - - git-svn-id: svn://svn.valgrind.org/vex/trunk@2987 8f6e269a-dfd6-0310-a8e1-e2731360e62c - -diff --git a/VEX/priv/guest_arm64_toIR.c b/VEX/priv/guest_arm64_toIR.c -index 4229d6a..1426d00 100644 ---- a/VEX/priv/guest_arm64_toIR.c -+++ b/VEX/priv/guest_arm64_toIR.c -@@ -12304,6 +12304,7 @@ Bool dis_AdvSIMD_fp_to_from_int_conv(/*MB_OUT*/DisResult* dres, UInt insn) - || (iop == Iop_F64toI64S && irrm == Irrm_ZERO) /* FCVTZS Xd,Dn */ - || (iop == Iop_F64toI64S && irrm == Irrm_NegINF) /* FCVTMS Xd,Dn */ - || (iop == Iop_F64toI64S && irrm == Irrm_PosINF) /* FCVTPS Xd,Dn */ -+ || (iop == Iop_F64toI64S && irrm == Irrm_NEAREST) /* FCVT{A,N}S Xd,Dn */ - /* F64toI64U */ - || (iop == Iop_F64toI64U && irrm == Irrm_ZERO) /* FCVTZU Xd,Dn */ - || (iop == Iop_F64toI64U && irrm == Irrm_NegINF) /* FCVTMU Xd,Dn */ diff --git a/valgrind-3.10.0-aarch64-frint.patch b/valgrind-3.10.0-aarch64-frint.patch deleted file mode 100644 index 41b67bb..0000000 --- a/valgrind-3.10.0-aarch64-frint.patch +++ /dev/null @@ -1,33 +0,0 @@ -commit 35343350beb699e87bae86a5466895de6d9827e9 -Author: sewardj -Date: Thu Oct 30 15:37:16 2014 +0000 - - Implement frintx d_d and s_s. Fixes #339926. - - - git-svn-id: svn://svn.valgrind.org/vex/trunk@2981 8f6e269a-dfd6-0310-a8e1-e2731360e62c - -diff --git a/VEX/priv/guest_arm64_toIR.c b/VEX/priv/guest_arm64_toIR.c -index 7f22f13..0377139 100644 ---- a/VEX/priv/guest_arm64_toIR.c -+++ b/VEX/priv/guest_arm64_toIR.c -@@ -11921,7 +11921,7 @@ Bool dis_AdvSIMD_fp_data_proc_1_source(/*MB_OUT*/DisResult* dres, UInt insn) - 011 zero (FRINTZ) - 000 tieeven - 100 tieaway (FRINTA) -- !! FIXME KLUDGED !! -- 110 per FPCR + "exact = TRUE" -+ 110 per FPCR + "exact = TRUE" (FRINTX) - 101 unallocated - */ - Bool isD = (ty & 1) == 1; -@@ -11935,6 +11935,10 @@ Bool dis_AdvSIMD_fp_data_proc_1_source(/*MB_OUT*/DisResult* dres, UInt insn) - case BITS3(0,0,1): ch = 'p'; irrmE = mkU32(Irrm_PosINF); break; - // The following is a kludge. Should be: Irrm_NEAREST_TIE_AWAY_0 - case BITS3(1,0,0): ch = 'a'; irrmE = mkU32(Irrm_NEAREST); break; -+ // I am unsure about the following, due to the "integral exact" -+ // description in the manual. What does it mean? -+ case BITS3(1,1,0): -+ ch = 'x'; irrmE = mkexpr(mk_get_IR_rounding_mode()); break; - default: break; - } - if (irrmE) { diff --git a/valgrind-3.10.0-aarch64-syscalls.patch b/valgrind-3.10.0-aarch64-syscalls.patch deleted file mode 100644 index 55475c3..0000000 --- a/valgrind-3.10.0-aarch64-syscalls.patch +++ /dev/null @@ -1,275 +0,0 @@ -diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c -index e3f736b..dd13bda 100644 ---- a/coregrind/m_syswrap/syswrap-arm64-linux.c -+++ b/coregrind/m_syswrap/syswrap-arm64-linux.c -@@ -953,6 +953,7 @@ static SyscallTableEntry syscall_main_table[] = { - LINX_(__NR_setresuid, sys_setresuid), // 147 - LINXY(__NR_getresuid, sys_getresuid), // 148 - LINXY(__NR_getresgid, sys_getresgid), // 150 -+ GENXY(__NR_times, sys_times), // 153 - GENX_(__NR_setpgid, sys_setpgid), // 154 - GENX_(__NR_getpgid, sys_getpgid), // 155 - GENXY(__NR_uname, sys_newuname), // 160 -@@ -1068,7 +1069,6 @@ static SyscallTableEntry syscall_main_table[] = { - //ZZ - //ZZ GENX_(__NR_rmdir, sys_rmdir), // 40 - //ZZ LINXY(__NR_pipe, sys_pipe), // 42 --//ZZ GENXY(__NR_times, sys_times), // 43 - //ZZ // GENX_(__NR_prof, sys_ni_syscall), // 44 - - //ZZ LINX_(__NR_setgid, sys_setgid16), // 46 -diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c -index dd13bda..045b9b9 100644 ---- a/coregrind/m_syswrap/syswrap-arm64-linux.c -+++ b/coregrind/m_syswrap/syswrap-arm64-linux.c -@@ -956,6 +956,8 @@ static SyscallTableEntry syscall_main_table[] = { - GENXY(__NR_times, sys_times), // 153 - GENX_(__NR_setpgid, sys_setpgid), // 154 - GENX_(__NR_getpgid, sys_getpgid), // 155 -+ GENX_(__NR_getsid, sys_getsid), // 156 -+ GENX_(__NR_setsid, sys_setsid), // 157 - GENXY(__NR_uname, sys_newuname), // 160 - GENXY(__NR_getrlimit, sys_old_getrlimit), // 163 - GENX_(__NR_setrlimit, sys_setrlimit), // 164 -@@ -1092,7 +1094,6 @@ static SyscallTableEntry syscall_main_table[] = { - //ZZ GENX_(__NR_getppid, sys_getppid), // 64 - //ZZ - //ZZ GENX_(__NR_getpgrp, sys_getpgrp), // 65 --//ZZ GENX_(__NR_setsid, sys_setsid), // 66 - //ZZ LINXY(__NR_sigaction, sys_sigaction), // 67 - //ZZ //zz // (__NR_sgetmask, sys_sgetmask), // 68 */* (ANSI C) - //ZZ //zz // (__NR_ssetmask, sys_ssetmask), // 69 */* (ANSI C) -@@ -1176,7 +1177,6 @@ static SyscallTableEntry syscall_main_table[] = { - //ZZ GENX_(__NR_flock, sys_flock), // 143 - //ZZ GENX_(__NR_msync, sys_msync), // 144 - //ZZ --//ZZ GENX_(__NR_getsid, sys_getsid), // 147 - //ZZ GENX_(__NR_fdatasync, sys_fdatasync), // 148 - //ZZ LINXY(__NR__sysctl, sys_sysctl), // 149 - //ZZ -commit 92379dfe8ab904b8f7ecfa2a6c9094cf3cc2481d -Author: sewardj -Date: Thu Oct 30 13:54:24 2014 +0000 - - Bug 339940 - (arm64/aarch64) unhandled syscall: 83 (sys_fdatasync) + patch - Patch from David Abdurachmanov - - - git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14675 a5019735-40e9-0310-863c-91ae7b9d1cf9 - -diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c -index 045b9b9..69a997c 100644 ---- a/coregrind/m_syswrap/syswrap-arm64-linux.c -+++ b/coregrind/m_syswrap/syswrap-arm64-linux.c -@@ -922,6 +922,7 @@ static SyscallTableEntry syscall_main_table[] = { - - LINX_(__NR_utimensat, sys_utimensat), // 88 - GENX_(__NR_fsync, sys_fsync), // 82 -+ GENX_(__NR_fdatasync, sys_fdatasync), // 83 - LINXY(__NR_timerfd_create, sys_timerfd_create), // 85 - LINXY(__NR_timerfd_settime, sys_timerfd_settime), // 86 - LINXY(__NR_timerfd_gettime, sys_timerfd_gettime), // 87 -@@ -1177,7 +1178,6 @@ static SyscallTableEntry syscall_main_table[] = { - //ZZ GENX_(__NR_flock, sys_flock), // 143 - //ZZ GENX_(__NR_msync, sys_msync), // 144 - //ZZ --//ZZ GENX_(__NR_fdatasync, sys_fdatasync), // 148 - //ZZ LINXY(__NR__sysctl, sys_sysctl), // 149 - //ZZ - //ZZ GENX_(__NR_munlock, sys_munlock), // 151 - -commit 20a8d68dec8168d8a3df1b73f8128212344bcab0 -Author: sewardj -Date: Thu Oct 30 14:11:32 2014 +0000 - - Bug 340028 - unhandled syscalls for arm64 (msync, pread64, setreuid - and setregid) - Patch from dimitry@google.com. - - - git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14676 a5019735-40e9-0310-863c-91ae7b9d1cf9 - -diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c -index 69a997c..d0fe78d 100644 ---- a/coregrind/m_syswrap/syswrap-arm64-linux.c -+++ b/coregrind/m_syswrap/syswrap-arm64-linux.c -@@ -910,6 +910,7 @@ static SyscallTableEntry syscall_main_table[] = { - GENX_(__NR_write, sys_write), // 64 - GENXY(__NR_readv, sys_readv), // 65 - GENX_(__NR_writev, sys_writev), // 66 -+ GENXY(__NR_pread64, sys_pread64), // 67 - GENX_(__NR_pwrite64, sys_pwrite64), // 68 - LINX_(__NR_pselect6, sys_pselect6), // 72 - LINXY(__NR_ppoll, sys_ppoll), // 73 -@@ -951,6 +952,8 @@ static SyscallTableEntry syscall_main_table[] = { - PLAX_(__NR_rt_sigreturn, sys_rt_sigreturn), // 139 - GENX_(__NR_setpriority, sys_setpriority), // 140 - GENX_(__NR_getpriority, sys_getpriority), // 141 -+ GENX_(__NR_setregid, sys_setregid), // 143 -+ GENX_(__NR_setreuid, sys_setreuid), // 145 - LINX_(__NR_setresuid, sys_setresuid), // 147 - LINXY(__NR_getresuid, sys_getresuid), // 148 - LINXY(__NR_getresgid, sys_getresgid), // 150 -@@ -1017,6 +1020,7 @@ static SyscallTableEntry syscall_main_table[] = { - PLAX_(__NR3264_fadvise64, sys_fadvise64), // 223 - - GENXY(__NR_mprotect, sys_mprotect), // 226 -+ GENX_(__NR_msync, sys_msync), // 227 - GENX_(__NR_mlock, sys_mlock), // 228 - GENX_(__NR_mlockall, sys_mlockall), // 230 - GENX_(__NR_madvise, sys_madvise), // 233 -@@ -1099,8 +1103,6 @@ static SyscallTableEntry syscall_main_table[] = { - //ZZ //zz // (__NR_sgetmask, sys_sgetmask), // 68 */* (ANSI C) - //ZZ //zz // (__NR_ssetmask, sys_ssetmask), // 69 */* (ANSI C) - //ZZ //zz --//ZZ LINX_(__NR_setreuid, sys_setreuid16), // 70 --//ZZ LINX_(__NR_setregid, sys_setregid16), // 71 - //ZZ PLAX_(__NR_sigsuspend, sys_sigsuspend), // 72 - //ZZ LINXY(__NR_sigpending, sys_sigpending), // 73 - //ZZ //zz // (__NR_sethostname, sys_sethostname), // 74 */* -@@ -1176,7 +1178,6 @@ static SyscallTableEntry syscall_main_table[] = { - //ZZ GENXY(__NR_getdents, sys_getdents), // 141 - //ZZ GENX_(__NR__newselect, sys_select), // 142 - //ZZ GENX_(__NR_flock, sys_flock), // 143 --//ZZ GENX_(__NR_msync, sys_msync), // 144 - //ZZ - //ZZ LINXY(__NR__sysctl, sys_sysctl), // 149 - //ZZ -@@ -1207,7 +1208,6 @@ static SyscallTableEntry syscall_main_table[] = { - //ZZ LINXY(__NR_rt_sigpending, sys_rt_sigpending), // 176 - //ZZ LINXY(__NR_rt_sigtimedwait, sys_rt_sigtimedwait),// 177 - //ZZ --//ZZ GENXY(__NR_pread64, sys_pread64), // 180 - //ZZ LINX_(__NR_chown, sys_chown16), // 182 - //ZZ - //ZZ LINX_(__NR_capset, sys_capset), // 185 - -commit f78d99007454b34d0619cabc99c3f66613b05285 -Author: sewardj -Date: Thu Oct 30 14:28:14 2014 +0000 - - Bug 340236 - 4 unhandled syscalls on aarch64/arm64: - mknodat (33), fchdir (50), chroot (51), fchownat (54) - Patch from Miroslav Franc (mfranc@redhat.com) - - - git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14677 a5019735-40e9-0310-863c-91ae7b9d1cf9 - -diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c -index d0fe78d..54238ed 100644 ---- a/coregrind/m_syswrap/syswrap-arm64-linux.c -+++ b/coregrind/m_syswrap/syswrap-arm64-linux.c -@@ -880,6 +880,7 @@ static SyscallTableEntry syscall_main_table[] = { - LINX_(__NR_inotify_add_watch, sys_inotify_add_watch), // 27 - LINX_(__NR_inotify_rm_watch, sys_inotify_rm_watch), // 28 - LINXY(__NR_ioctl, sys_ioctl), // 29 -+ LINX_(__NR_mknodat, sys_mknodat), // 33 - LINX_(__NR_mkdirat, sys_mkdirat), // 34 - LINX_(__NR_unlinkat, sys_unlinkat), // 35 - LINX_(__NR_symlinkat, sys_symlinkat), // 36 -@@ -896,7 +897,10 @@ static SyscallTableEntry syscall_main_table[] = { - LINX_(__NR_fallocate, sys_fallocate), // 47 - LINX_(__NR_faccessat, sys_faccessat), // 48 - GENX_(__NR_chdir, sys_chdir), // 49 -+ GENX_(__NR_fchdir, sys_fchdir), // 50 -+ GENX_(__NR_chroot, sys_chroot), // 51 - LINX_(__NR_fchmodat, sys_fchmodat), // 53 -+ LINX_(__NR_fchownat, sys_fchownat), // 54 - LINXY(__NR_openat, sys_openat), // 56 - GENXY(__NR_close, sys_close), // 57 - LINXY(__NR_pipe2, sys_pipe2), // 59 -@@ -1093,7 +1097,6 @@ static SyscallTableEntry syscall_main_table[] = { - //ZZ // GENX_(__NR_ulimit, sys_ni_syscall), // 58 - //ZZ //zz // (__NR_oldolduname, sys_olduname), // 59 Linux -- obsolete - //ZZ //zz --//ZZ GENX_(__NR_chroot, sys_chroot), // 61 - //ZZ //zz // (__NR_ustat, sys_ustat) // 62 SVr4 -- deprecated - //ZZ GENXY(__NR_dup2, sys_dup2), // 63 - //ZZ GENX_(__NR_getppid, sys_getppid), // 64 -@@ -1165,7 +1168,6 @@ static SyscallTableEntry syscall_main_table[] = { - //ZZ //zz // Nb: get_kernel_syms() was removed 2.4-->2.6 - //ZZ // GENX_(__NR_get_kernel_syms, sys_ni_syscall), // 130 - //ZZ GENX_(__NR_getpgid, sys_getpgid), // 132 --//ZZ GENX_(__NR_fchdir, sys_fchdir), // 133 - //ZZ //zz // (__NR_bdflush, sys_bdflush), // 134 */Linux - //ZZ //zz - //ZZ //zz // (__NR_sysfs, sys_sysfs), // 135 SVr4 -@@ -1329,8 +1331,6 @@ static SyscallTableEntry syscall_main_table[] = { - //ZZ LINX_(__NR_inotify_init, sys_inotify_init), // 291 - //ZZ // LINX_(__NR_migrate_pages, sys_migrate_pages), // 294 - //ZZ --//ZZ LINX_(__NR_mknodat, sys_mknodat), // 297 --//ZZ LINX_(__NR_fchownat, sys_fchownat), // 298 - //ZZ LINX_(__NR_futimesat, sys_futimesat), // 326 on arm - //ZZ - //ZZ PLAXY(__NR_fstatat64, sys_fstatat64), // 300 - -commit 076d5f343c3753ea0db86701f922b7c84a83ec38 -Author: mjw -Date: Tue Nov 4 13:43:21 2014 +0000 - - Bug 340630 arm64: fchmod (52) and fchown (55) syscalls not recognized. - - git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14686 a5019735-40e9-0310-863c-91ae7b9d1cf9 - -diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c -index 54238ed..f8a59c1 100644 ---- a/coregrind/m_syswrap/syswrap-arm64-linux.c -+++ b/coregrind/m_syswrap/syswrap-arm64-linux.c -@@ -899,8 +899,10 @@ static SyscallTableEntry syscall_main_table[] = { - GENX_(__NR_chdir, sys_chdir), // 49 - GENX_(__NR_fchdir, sys_fchdir), // 50 - GENX_(__NR_chroot, sys_chroot), // 51 -+ GENX_(__NR_fchmod, sys_fchmod), // 52 - LINX_(__NR_fchmodat, sys_fchmodat), // 53 - LINX_(__NR_fchownat, sys_fchownat), // 54 -+ GENX_(__NR_fchown, sys_fchown), // 55 - LINXY(__NR_openat, sys_openat), // 56 - GENXY(__NR_close, sys_close), // 57 - LINXY(__NR_pipe2, sys_pipe2), // 59 -@@ -1129,7 +1131,6 @@ static SyscallTableEntry syscall_main_table[] = { - //ZZ GENXY(__NR_munmap, sys_munmap), // 91 - //ZZ GENX_(__NR_truncate, sys_truncate), // 92 - //ZZ GENX_(__NR_ftruncate, sys_ftruncate), // 93 --//ZZ GENX_(__NR_fchmod, sys_fchmod), // 94 - //ZZ - //ZZ LINX_(__NR_fchown, sys_fchown16), // 95 - //ZZ // GENX_(__NR_profil, sys_ni_syscall), // 98 -@@ -1237,7 +1238,6 @@ static SyscallTableEntry syscall_main_table[] = { - //ZZ - //ZZ GENXY(__NR_getgroups32, sys_getgroups), // 205 - //ZZ GENX_(__NR_setgroups32, sys_setgroups), // 206 --//ZZ GENX_(__NR_fchown32, sys_fchown), // 207 - //ZZ LINX_(__NR_setresuid32, sys_setresuid), // 208 - //ZZ LINXY(__NR_getresuid32, sys_getresuid), // 209 - //ZZ -commit 2562dd489ed5ff9d5eb73f7d2957eb3b2c5dc801 -Author: mjw -Date: Thu Nov 13 13:03:25 2014 +0000 - - Bug 340922 arm64: unhandled getgroups/setgroups syscalls. - - git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14716 a5019735-40e9-0310-863c-91ae7b9d1cf9 - -diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c -index 59e1cf6..cd27ad2 100644 ---- a/coregrind/m_syswrap/syswrap-arm64-linux.c -+++ b/coregrind/m_syswrap/syswrap-arm64-linux.c -@@ -968,6 +968,8 @@ static SyscallTableEntry syscall_main_table[] = { - GENX_(__NR_getpgid, sys_getpgid), // 155 - GENX_(__NR_getsid, sys_getsid), // 156 - GENX_(__NR_setsid, sys_setsid), // 157 -+ GENXY(__NR_getgroups, sys_getgroups), // 158 -+ GENX_(__NR_setgroups, sys_setgroups), // 159 - GENXY(__NR_uname, sys_newuname), // 160 - GENXY(__NR_getrlimit, sys_old_getrlimit), // 163 - GENX_(__NR_setrlimit, sys_setrlimit), // 164 -@@ -1237,8 +1239,6 @@ static SyscallTableEntry syscall_main_table[] = { - //ZZ GENX_(__NR_setreuid32, sys_setreuid), // 203 - //ZZ GENX_(__NR_setregid32, sys_setregid), // 204 - //ZZ --//ZZ GENXY(__NR_getgroups32, sys_getgroups), // 205 --//ZZ GENX_(__NR_setgroups32, sys_setgroups), // 206 - //ZZ LINX_(__NR_setresuid32, sys_setresuid), // 208 - //ZZ LINXY(__NR_getresuid32, sys_getresuid), // 209 - //ZZ diff --git a/valgrind-3.10.0-fcvtmu.patch b/valgrind-3.10.0-fcvtmu.patch deleted file mode 100644 index 617b088..0000000 --- a/valgrind-3.10.0-fcvtmu.patch +++ /dev/null @@ -1,21 +0,0 @@ -commit 9a20b6daf975d94f24d8c2688eb0159c7e651ff6 -Author: sewardj -Date: Thu Oct 30 15:54:53 2014 +0000 - - Implement fcvtmu x_d. Fixes #339927. - - - git-svn-id: svn://svn.valgrind.org/vex/trunk@2982 8f6e269a-dfd6-0310-a8e1-e2731360e62c - -diff --git a/VEX/priv/guest_arm64_toIR.c b/VEX/priv/guest_arm64_toIR.c -index 0377139..23aea80 100644 ---- a/VEX/priv/guest_arm64_toIR.c -+++ b/VEX/priv/guest_arm64_toIR.c -@@ -12241,6 +12241,7 @@ Bool dis_AdvSIMD_fp_to_from_int_conv(/*MB_OUT*/DisResult* dres, UInt insn) - || (iop == Iop_F64toI64S && irrm == Irrm_PosINF) /* FCVTPS Xd,Dn */ - /* F64toI64U */ - || (iop == Iop_F64toI64U && irrm == Irrm_ZERO) /* FCVTZU Xd,Dn */ -+ || (iop == Iop_F64toI64U && irrm == Irrm_NegINF) /* FCVTMU Xd,Dn */ - || (iop == Iop_F64toI64U && irrm == Irrm_PosINF) /* FCVTPU Xd,Dn */ - ) { - /* validated */ diff --git a/valgrind-3.10.0-old-ppc32-instr-magic.patch b/valgrind-3.10.0-old-ppc32-instr-magic.patch deleted file mode 100644 index 8252e33..0000000 --- a/valgrind-3.10.0-old-ppc32-instr-magic.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/VEX/priv/guest_ppc_toIR.c b/VEX/priv/guest_ppc_toIR.c -index adabf64..8f7e4aa 100644 ---- a/VEX/priv/guest_ppc_toIR.c -+++ b/VEX/priv/guest_ppc_toIR.c -@@ -18783,10 +18783,26 @@ DisResult disInstr_PPC_WRK ( - UInt word2 = mode64 ? 0x78006800 : 0x5400683E; - UInt word3 = mode64 ? 0x7800E802 : 0x5400E83E; - UInt word4 = mode64 ? 0x78009802 : 0x5400983E; -+ Bool is_special_preamble = False; - if (getUIntPPCendianly(code+ 0) == word1 && - getUIntPPCendianly(code+ 4) == word2 && - getUIntPPCendianly(code+ 8) == word3 && - getUIntPPCendianly(code+12) == word4) { -+ is_special_preamble = True; -+ } else if (! mode64 && -+ getUIntPPCendianly(code+ 0) == 0x54001800 && -+ getUIntPPCendianly(code+ 4) == 0x54006800 && -+ getUIntPPCendianly(code+ 8) == 0x5400E800 && -+ getUIntPPCendianly(code+12) == 0x54009800) { -+ static Bool reported = False; -+ if (!reported) { -+ vex_printf("disInstr(ppc): old ppc32 instruction magic detected. Code might clobber r0.\n"); -+ vex_printf("disInstr(ppc): source needs to be recompiled against latest valgrind.h.\n"); -+ reported = True; -+ } -+ is_special_preamble = True; -+ } -+ if (is_special_preamble) { - /* Got a "Special" instruction preamble. Which one is it? */ - if (getUIntPPCendianly(code+16) == 0x7C210B78 /* or 1,1,1 */) { - /* %R3 = client_request ( %R4 ) */ diff --git a/valgrind.spec b/valgrind.spec index 65e56b6..5852fa9 100644 --- a/valgrind.spec +++ b/valgrind.spec @@ -2,8 +2,8 @@ Summary: Tool for finding memory management bugs in programs Name: %{?scl_prefix}valgrind -Version: 3.10.0 -Release: 6%{?dist} +Version: 3.10.1 +Release: 0.1.TEST1%{?dist} Epoch: 1 License: GPLv2+ URL: http://www.valgrind.org/ @@ -44,7 +44,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %define _find_debuginfo_dwz_opts %{nil} %undefine _include_minidebuginfo -Source0: http://www.valgrind.org/downloads/valgrind-%{version}.tar.bz2 +Source0: http://www.valgrind.org/downloads/valgrind-%{version}.TEST1.tar.bz2 # Needs investigation and pushing upstream Patch1: valgrind-3.9.0-cachegrind-improvements.patch @@ -58,32 +58,6 @@ Patch3: valgrind-3.9.0-stat_h.patch # Make ld.so supressions slightly less specific. Patch4: valgrind-3.9.0-ldso-supp.patch -# Recognize and warn about usage of old (broken) ppc32 magic instr preamble. -# https://bugs.kde.org/show_bug.cgi?id=278808#c6 -Patch5: valgrind-3.10.0-old-ppc32-instr-magic.patch - -# KDE#339853 arm64 times syscall unknown -# KDE#339856 arm64 unhandled getsid/setsid syscalls. -# KDE#339940 arm64 unhandled syscall: 83 (sys_fdatasync) -# KDE#340028 unhandled syscalls for arm64 (msync, pread64, setreuid, setregid) -# KDE#340236 arm64 mknodat (33), fchdir (50), chroot (51), fchownat (54) -# KDE#340630 arm64 fchmod (52) and fchown (55) syscalls not recognized. -# KDE#340922 arm64: unhandled getgroups/setgroups syscalls. -Patch6: valgrind-3.10.0-aarch64-syscalls.patch - -# KDE#339858 arm64 recognize dmb sy. Data Memory Barrier full SYstem variant. -Patch7: valgrind-3.10.0-aarch64-dmb-sy.patch - -# KDE#339926 Implement frintx d_d and s_s. -Patch8: valgrind-3.10.0-aarch64-frint.patch - -# KDE#339927 Implement fcvtmu x_d. -Patch9: valgrind-3.10.0-fcvtmu.patch - -# KDE#340509 Implement FCVTAS W_S and FCVTAU W_S. -# KDE#340632 arm64: unhandled instruction fcvtas -Patch10: valgrind-3.10.0-aarch64-fcvta.patch - %if %{build_multilib} # Ensure glibc{,-devel} is installed for both multilib arches BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so @@ -180,18 +154,12 @@ See the section on Debugging MPI Parallel Programs with Valgrind in the Valgrind User Manual for details. %prep -%setup -q -n %{?scl:%{pkg_name}}%{!?scl:%{name}}-%{version} +%setup -q -n %{?scl:%{pkg_name}}%{!?scl:%{name}}-%{version}.TEST1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 -%patch10 -p1 %build # We need to use the software collection compiler and binutils if available. @@ -340,6 +308,16 @@ echo ===============END TESTING=============== %endif %changelog +* Mon Nov 24 2014 Mark Wielaard - 3.10.1-0.1.TEST1 +- Upgrade to valgrind 3.10.1.TEST1 +- Remove patches that are now upstream: + - valgrind-3.10.0-old-ppc32-instr-magic.patch + - valgrind-3.10.0-aarch64-syscalls.patch + - valgrind-3.10.0-aarch64-dmb-sy.patch + - valgrind-3.10.0-aarch64-frint.patch + - valgrind-3.10.0-fcvtmu.patch + - valgrind-3.10.0-aarch64-fcvta.patch + * Wed Nov 19 2014 Mark Wielaard - 3.10.0-6 - Add getgroups/setgroups to valgrind-3.10.0-aarch64-syscalls.patch