diff --git a/SOURCES/valgrind-3.9.0-dwz-alt-buildid.patch b/SOURCES/valgrind-3.9.0-dwz-alt-buildid.patch new file mode 100644 index 0000000..ce30e3b --- /dev/null +++ b/SOURCES/valgrind-3.9.0-dwz-alt-buildid.patch @@ -0,0 +1,26 @@ +commit 568d77ce8e0a508fbbd9e71e9938d6dab1639912 +Author: mjw +Date: Wed Nov 20 11:54:38 2013 +0000 + + dwz compressed alternate .debug_info and .debug_str not read correctly. + + Bug #327837. The buildid from the .gnu_debugaltlink section was parsed + incorrectly (from the wrong offset). Causing the debug alt file not to + be found. + + git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13715 a5019735-40e9-0310-863c-91ae7b9d1cf9 + +diff --git a/coregrind/m_debuginfo/readelf.c b/coregrind/m_debuginfo/readelf.c +index e72e0d7..b7d574a 100644 +--- a/coregrind/m_debuginfo/readelf.c ++++ b/coregrind/m_debuginfo/readelf.c +@@ -2609,7 +2609,8 @@ Bool ML_(read_elf_debug_info) ( struct _DebugInfo* di ) + vg_assert(aimg == NULL); + + if (debugaltlink_escn.img != NULL) { +- UInt buildid_offset = ML_(img_strlen)(debugaltlink_escn.img, 0)+1; ++ UInt buildid_offset = ML_(img_strlen)(debugaltlink_escn.img, ++ debugaltlink_escn.ioff)+1; + + vg_assert(buildid_offset < debugaltlink_escn.szB); + diff --git a/SOURCES/valgrind-3.9.0-manpage-memcheck-options.patch b/SOURCES/valgrind-3.9.0-manpage-memcheck-options.patch new file mode 100644 index 0000000..c50444e --- /dev/null +++ b/SOURCES/valgrind-3.9.0-manpage-memcheck-options.patch @@ -0,0 +1,245 @@ +commit 323d397747ff81a5706cce63f45cc1b2109db252 +Author: mjw +Date: Thu Dec 12 21:20:48 2013 +0000 + + Bug 328711 valgrind.1 manpage "memcheck options" section is badly generated + + Add missing para tags inside listitems. (Miroslav Franc, mfranc@redhat.com) + + git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13758 a5019735-40e9-0310-863c-91ae7b9d1cf9 + +diff --git a/memcheck/docs/mc-manual.xml b/memcheck/docs/mc-manual.xml +index a53bf86..e913e89 100644 +--- a/memcheck/docs/mc-manual.xml ++++ b/memcheck/docs/mc-manual.xml +@@ -610,14 +610,14 @@ when is specified. + in one of the following ways: + + +- a comma separated list of one or more of +- . ++ a comma separated list of one or more of ++ . + + +- to specify the complete set (all leak kinds). ++ to specify the complete set (all leak kinds). + + +- for the empty set. ++ for the empty set. + + + +@@ -721,16 +721,16 @@ is + one of the following ways: + + +- a comma separated list of one or more of +- . ++ a comma separated list of one or more of ++ . + + +- to specify the complete set (all leak kinds). ++ to specify the complete set (all leak kinds). + It is equivalent to +- . ++ . + + +- for the empty set. ++ for the empty set. + + + +@@ -763,17 +763,17 @@ is + The heuristic set is specified in one of the following ways: + + +- a comma separated list of one or more of +- . ++ a comma separated list of one or more of ++ . + + +- to activate the complete set of ++ to activate the complete set of + heuristics. + It is equivalent to +- . ++ . + + +- for the empty set. ++ for the empty set. + + + +@@ -797,18 +797,24 @@ is + These options provide an alternative way to specify the leak kinds to show: + + ++ + is equivalent to + . ++ + + ++ + is equivalent to + . ++ + + ++ + is equivalent to + . + Note that has no effect + if is specified. ++ + + + +--- valgrind-3.9.0/docs/valgrind.1.orig 2013-12-12 22:34:11.912168437 +0100 ++++ valgrind-3.9.0/docs/valgrind.1 2013-12-12 22:34:18.686421525 +0100 +@@ -2,12 +2,12 @@ + .\" Title: VALGRIND + .\" Author: [see the "Author" section] + .\" Generator: DocBook XSL Stylesheets v1.78.1 +-.\" Date: 11/01/2013 ++.\" Date: 12/12/2013 + .\" Manual: Release 3.9.0 + .\" Source: Release 3.9.0 + .\" Language: English + .\" +-.TH "VALGRIND" "1" "11/01/2013" "Release 3.9.0" "Release 3.9.0" ++.TH "VALGRIND" "1" "12/12/2013" "Release 3.9.0" "Release 3.9.0" + .\" ----------------------------------------------------------------- + .\" * Define some portability stuff + .\" ----------------------------------------------------------------- +@@ -1080,8 +1080,8 @@ + .IP \(bu 2.3 + .\} + a comma separated list of one or more of +- \fBdefinite indirect possible reachable\fR\&. +- .RE ++\fBdefinite indirect possible reachable\fR\&. ++.RE + .sp + .RS 4 + .ie n \{\ +@@ -1091,10 +1091,10 @@ + .sp -1 + .IP \(bu 2.3 + .\} +-\fBall\fR to specify the complete set (all leak kinds)\&. +- It is equivalent to +- \fB\-\-show\-leak\-kinds=definite,indirect,possible,reachable\fR\&. +- .RE ++\fBall\fR ++to specify the complete set (all leak kinds)\&. It is equivalent to ++\fB\-\-show\-leak\-kinds=definite,indirect,possible,reachable\fR\&. ++.RE + .sp + .RS 4 + .ie n \{\ +@@ -1104,8 +1104,9 @@ + .sp -1 + .IP \(bu 2.3 + .\} +-\fBnone\fR for the empty set\&. +- .RE ++\fBnone\fR ++for the empty set\&. ++.RE + .sp + .RE + .PP +@@ -1130,8 +1131,8 @@ + .IP \(bu 2.3 + .\} + a comma separated list of one or more of +- \fBstdstring newarray multipleinheritance\fR\&. +- .RE ++\fBstdstring newarray multipleinheritance\fR\&. ++.RE + .sp + .RS 4 + .ie n \{\ +@@ -1141,11 +1142,10 @@ + .sp -1 + .IP \(bu 2.3 + .\} +-\fBall\fR to activate the complete set of +- heuristics\&. +- It is equivalent to +- \fB\-\-leak\-check\-heuristics=stdstring,newarray,multipleinheritance\fR\&. +- .RE ++\fBall\fR ++to activate the complete set of heuristics\&. It is equivalent to ++\fB\-\-leak\-check\-heuristics=stdstring,newarray,multipleinheritance\fR\&. ++.RE + .sp + .RS 4 + .ie n \{\ +@@ -1155,8 +1155,9 @@ + .sp -1 + .IP \(bu 2.3 + .\} +-\fBnone\fR for the empty set\&. +- .RE ++\fBnone\fR ++for the empty set\&. ++.RE + .sp + Note that these heuristics are dependent on the layout of the objects produced by the C++ compiler\&. They have been tested with some gcc versions (e\&.g\&. 4\&.4 and 4\&.7)\&. They might not work properly with other C++ compilers\&. + .RE +@@ -1173,9 +1174,10 @@ + .sp -1 + .IP \(bu 2.3 + .\} +-\fB\-\-show\-reachable=no \-\-show\-possibly\-lost=yes\fR is equivalent to +- \fB\-\-show\-leak\-kinds=definite,possible\fR\&. +- .RE ++\fB\-\-show\-reachable=no \-\-show\-possibly\-lost=yes\fR ++is equivalent to ++\fB\-\-show\-leak\-kinds=definite,possible\fR\&. ++.RE + .sp + .RS 4 + .ie n \{\ +@@ -1185,9 +1187,10 @@ + .sp -1 + .IP \(bu 2.3 + .\} +-\fB\-\-show\-reachable=no \-\-show\-possibly\-lost=no\fR is equivalent to +- \fB\-\-show\-leak\-kinds=definite\fR\&. +- .RE ++\fB\-\-show\-reachable=no \-\-show\-possibly\-lost=no\fR ++is equivalent to ++\fB\-\-show\-leak\-kinds=definite\fR\&. ++.RE + .sp + .RS 4 + .ie n \{\ +@@ -1197,11 +1200,14 @@ + .sp -1 + .IP \(bu 2.3 + .\} +-\fB\-\-show\-reachable=yes\fR is equivalent to +- \fB\-\-show\-leak\-kinds=all\fR\&. +- Note that \fB\-\-show\-possibly\-lost=no\fR has no effect +- if \fB\-\-show\-reachable=yes\fR is specified\&. +- .RE ++\fB\-\-show\-reachable=yes\fR ++is equivalent to ++\fB\-\-show\-leak\-kinds=all\fR\&. Note that ++\fB\-\-show\-possibly\-lost=no\fR ++has no effect if ++\fB\-\-show\-reachable=yes\fR ++is specified\&. ++.RE + .sp + .RE + .PP diff --git a/SOURCES/valgrind-3.9.0-ppc64-priority.patch b/SOURCES/valgrind-3.9.0-ppc64-priority.patch new file mode 100644 index 0000000..cf593e4 --- /dev/null +++ b/SOURCES/valgrind-3.9.0-ppc64-priority.patch @@ -0,0 +1,24 @@ +commit df77b4d9c15823519165f6e9a206b2c40ac68389 +Author: mjw +Date: Mon Mar 10 14:45:32 2014 +0000 + + Enable sys_getpriority and sys_setpriority for ppc64. + + Bug 331830 - ppc64: WARNING: unhandled syscall: 96/97 + (Miroslav Franc, mfranc@redhat.com) + + git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13861 a5019735-40e9-0310-863c-91ae7b9d1cf9 + +--- a/coregrind/m_syswrap/syswrap-ppc64-linux.c ++++ b/coregrind/m_syswrap/syswrap-ppc64-linux.c +@@ -792,8 +792,8 @@ static SyscallTableEntry syscall_table[] = { + GENX_(__NR_fchmod, sys_fchmod), // 94 + + GENX_(__NR_fchown, sys_fchown), // 95 +-// _____(__NR_getpriority, sys_getpriority), // 96 +-// _____(__NR_setpriority, sys_setpriority), // 97 ++ GENX_(__NR_getpriority, sys_getpriority), // 96 ++ GENX_(__NR_setpriority, sys_setpriority), // 97 + // _____(__NR_profil, sys_profil), // 98 + GENXY(__NR_statfs, sys_statfs), // 99 + diff --git a/SOURCES/valgrind-3.9.0-s390-dup3.patch b/SOURCES/valgrind-3.9.0-s390-dup3.patch new file mode 100644 index 0000000..06578f6 --- /dev/null +++ b/SOURCES/valgrind-3.9.0-s390-dup3.patch @@ -0,0 +1,13 @@ +diff --git a/coregrind/m_syswrap/syswrap-s390x-linux.c b/coregrind/m_syswrap/syswrap-s390x-linux.c +index f9bc136..58ed0f8 100644 +--- a/coregrind/m_syswrap/syswrap-s390x-linux.c ++++ b/coregrind/m_syswrap/syswrap-s390x-linux.c +@@ -1044,7 +1044,7 @@ static SyscallTableEntry syscall_table[] = { + LINXY(__NR_inotify_init1, sys_inotify_init1), // 324 + + LINXY(__NR_pipe2, sys_pipe2), // 325 +- // (__NR_dup3, ), ++ LINXY(__NR_dup3, sys_dup3), // 326 + LINXY(__NR_epoll_create1, sys_epoll_create1), // 327 + LINXY(__NR_preadv, sys_preadv), // 328 + LINX_(__NR_pwritev, sys_pwritev), // 329 diff --git a/SOURCES/valgrind-3.9.0-s390-fpr-pair.patch b/SOURCES/valgrind-3.9.0-s390-fpr-pair.patch new file mode 100644 index 0000000..5d9a9a1 --- /dev/null +++ b/SOURCES/valgrind-3.9.0-s390-fpr-pair.patch @@ -0,0 +1,201 @@ +commit 9b28d5ecf72accc80d267a3fcfd0bd4212ff34d8 +Author: florian +Date: Tue Dec 10 16:51:15 2013 +0000 + + The result of rounding a 128-bit BFP/DFP value to 32/64 bit needs to + be stored in a register pair. This constraint was not observed previously + and the result was stored in any FPR that happened to be chosen. If the + selected FPR was not identifying a proper FPR pair, a SIGILL was delivered. + Fixes BZ #328455. + + + git-svn-id: svn://svn.valgrind.org/vex/trunk@2801 8f6e269a-dfd6-0310-a8e1-e2731360e62c + +diff --git a/priv/host_s390_defs.c b/priv/host_s390_defs.c +index 0b61a5d..ce76285 100644 +--- a/VEX/priv/host_s390_defs.c ++++ b/VEX/priv/host_s390_defs.c +@@ -5861,7 +5861,6 @@ s390_insn_bfp128_convert(UChar size, s390_bfp_conv_t tag, HReg dst_hi, + } else { + /* From 16 bytes to smaller size */ + vassert(is_valid_fp128_regpair(op_hi, op_lo)); +- vassert(hregIsInvalid(dst_lo)); + } + + insn->tag = S390_INSN_BFP_CONVERT; +@@ -5891,11 +5890,11 @@ s390_insn_bfp128_convert_to(UChar size, s390_bfp_conv_t tag, HReg dst_hi, + + + s390_insn * +-s390_insn_bfp128_convert_from(UChar size, s390_bfp_conv_t tag, HReg dst, +- HReg op_hi, HReg op_lo, ++s390_insn_bfp128_convert_from(UChar size, s390_bfp_conv_t tag, HReg dst_hi, ++ HReg dst_lo, HReg op_hi, HReg op_lo, + s390_bfp_round_t rounding_mode) + { +- return s390_insn_bfp128_convert(size, tag, dst, INVALID_HREG, op_hi, op_lo, ++ return s390_insn_bfp128_convert(size, tag, dst_hi, dst_lo, op_hi, op_lo, + rounding_mode); + } + +@@ -6192,7 +6191,6 @@ s390_insn_dfp128_convert(UChar size, s390_dfp_conv_t tag, HReg dst_hi, + } else { + /* From 16 bytes to smaller size */ + vassert(is_valid_fp128_regpair(op_hi, op_lo)); +- vassert(hregIsInvalid(dst_lo)); + } + + insn->tag = S390_INSN_DFP_CONVERT; +@@ -6222,11 +6220,11 @@ s390_insn_dfp128_convert_to(UChar size, s390_dfp_conv_t tag, HReg dst_hi, + + + s390_insn * +-s390_insn_dfp128_convert_from(UChar size, s390_dfp_conv_t tag, HReg dst, +- HReg op_hi, HReg op_lo, ++s390_insn_dfp128_convert_from(UChar size, s390_dfp_conv_t tag, HReg dst_hi, ++ HReg dst_lo, HReg op_hi, HReg op_lo, + s390_dfp_round_t rounding_mode) + { +- return s390_insn_dfp128_convert(size, tag, dst, INVALID_HREG, op_hi, op_lo, ++ return s390_insn_dfp128_convert(size, tag, dst_hi, dst_lo, op_hi, op_lo, + rounding_mode); + } + +diff --git a/priv/host_s390_defs.h b/priv/host_s390_defs.h +index dafc8ae..5b6fc1f 100644 +--- a/VEX/priv/host_s390_defs.h ++++ b/VEX/priv/host_s390_defs.h +@@ -665,8 +665,8 @@ s390_insn *s390_insn_bfp128_compare(UChar size, HReg dst, HReg op1_hi, + s390_insn *s390_insn_bfp128_convert_to(UChar size, s390_bfp_conv_t, + HReg dst_hi, HReg dst_lo, HReg op); + s390_insn *s390_insn_bfp128_convert_from(UChar size, s390_bfp_conv_t, +- HReg dst, HReg op_hi, HReg op_lo, +- s390_bfp_round_t); ++ HReg dst_hi, HReg dst_lo, HReg op_hi, ++ HReg op_lo, s390_bfp_round_t); + s390_insn *s390_insn_dfp_binop(UChar size, s390_dfp_binop_t, HReg dst, + HReg op2, HReg op3, + s390_dfp_round_t rounding_mode); +@@ -699,8 +699,8 @@ s390_insn *s390_insn_dfp128_compare(UChar size, s390_dfp_cmp_t, HReg dst, + s390_insn *s390_insn_dfp128_convert_to(UChar size, s390_dfp_conv_t, + HReg dst_hi, HReg dst_lo, HReg op); + s390_insn *s390_insn_dfp128_convert_from(UChar size, s390_dfp_conv_t, +- HReg dst, HReg op_hi, HReg op_lo, +- s390_dfp_round_t); ++ HReg dst_hi, HReg dst_lo, HReg op_hi, ++ HReg op_lo, s390_dfp_round_t); + s390_insn *s390_insn_dfp128_reround(UChar size, HReg dst_hi, HReg dst_lo, + HReg op2, HReg op3_hi, HReg op3_lo, + s390_dfp_round_t); +diff --git a/priv/host_s390_isel.c b/priv/host_s390_isel.c +index aaccff6..3662ffd 100644 +--- a/VEX/priv/host_s390_isel.c ++++ b/VEX/priv/host_s390_isel.c +@@ -1257,7 +1257,8 @@ s390_isel_int_expr_wrk(ISelEnv *env, IRExpr *expr) + addInstr(env, s390_insn_move(8, f15, op_lo)); + + rounding_mode = get_bfp_rounding_mode(env, arg1); +- addInstr(env, s390_insn_bfp128_convert_from(size, conv, res, f13, f15, ++ addInstr(env, s390_insn_bfp128_convert_from(size, conv, res, ++ INVALID_HREG, f13, f15, + rounding_mode)); + return res; + } +@@ -1290,7 +1291,8 @@ s390_isel_int_expr_wrk(ISelEnv *env, IRExpr *expr) + addInstr(env, s390_insn_move(8, f15, op_lo)); + + rounding_mode = get_dfp_rounding_mode(env, arg1); +- addInstr(env, s390_insn_dfp128_convert_from(size, dconv, res, f13, ++ addInstr(env, s390_insn_dfp128_convert_from(size, dconv, res, ++ INVALID_HREG, f13, + f15, rounding_mode)); + return res; + } +@@ -2455,7 +2457,7 @@ s390_isel_float_expr_wrk(ISelEnv *env, IRExpr *expr) + + case Iop_F128toF64: + case Iop_F128toF32: { +- HReg op_hi, op_lo, f13, f15; ++ HReg op_hi, op_lo, f12, f13, f14, f15; + s390_bfp_round_t rounding_mode; + + conv = op == Iop_F128toF32 ? S390_BFP_F128_TO_F32 +@@ -2463,15 +2465,18 @@ s390_isel_float_expr_wrk(ISelEnv *env, IRExpr *expr) + + s390_isel_float128_expr(&op_hi, &op_lo, env, left); + +- /* We use non-virtual registers as pairs (f13, f15) */ ++ /* We use non-virtual registers as pairs (f13, f15) and (f12, f14)) */ ++ f12 = make_fpr(12); + f13 = make_fpr(13); ++ f14 = make_fpr(14); + f15 = make_fpr(15); + + /* operand --> (f13, f15) */ + addInstr(env, s390_insn_move(8, f13, op_hi)); + addInstr(env, s390_insn_move(8, f15, op_lo)); + +- dst = newVRegF(env); ++ /* result --> (f12, f14) */ ++ + /* load-rounded has a rounding mode field when the floating point + extension facility is installed. */ + if (s390_host_has_fpext) { +@@ -2480,8 +2485,12 @@ s390_isel_float_expr_wrk(ISelEnv *env, IRExpr *expr) + set_bfp_rounding_mode_in_fpc(env, irrm); + rounding_mode = S390_BFP_ROUND_PER_FPC; + } +- addInstr(env, s390_insn_bfp128_convert_from(size, conv, dst, f13, f15, +- rounding_mode)); ++ ++ addInstr(env, s390_insn_bfp128_convert_from(size, conv, f12, f14, ++ f13, f15, rounding_mode)); ++ dst = newVRegF(env); ++ addInstr(env, s390_insn_move(8, dst, f12)); ++ + return dst; + } + } +@@ -3044,22 +3053,25 @@ s390_isel_dfp_expr_wrk(ISelEnv *env, IRExpr *expr) + } + + case Iop_D128toD64: { +- HReg op_hi, op_lo, f13, f15; ++ HReg op_hi, op_lo, f12, f13, f14, f15; + s390_dfp_round_t rounding_mode; + + conv = S390_DFP_D128_TO_D64; + + s390_isel_dfp128_expr(&op_hi, &op_lo, env, left); + +- /* We use non-virtual registers as pairs (f13, f15) */ ++ /* We use non-virtual registers as pairs (f13, f15) and (f12, f14) */ ++ f12 = make_fpr(12); + f13 = make_fpr(13); ++ f14 = make_fpr(14); + f15 = make_fpr(15); + + /* operand --> (f13, f15) */ + addInstr(env, s390_insn_move(8, f13, op_hi)); + addInstr(env, s390_insn_move(8, f15, op_lo)); + +- dst = newVRegF(env); ++ /* result --> (f12, f14) */ ++ + /* load-rounded has a rounding mode field when the floating point + extension facility is installed. */ + if (s390_host_has_fpext) { +@@ -3068,8 +3080,11 @@ s390_isel_dfp_expr_wrk(ISelEnv *env, IRExpr *expr) + set_dfp_rounding_mode_in_fpc(env, irrm); + rounding_mode = S390_DFP_ROUND_PER_FPC_0; + } +- addInstr(env, s390_insn_dfp128_convert_from(size, conv, dst, f13, f15, +- rounding_mode)); ++ addInstr(env, s390_insn_dfp128_convert_from(size, conv, f12, f14, ++ f13, f15, rounding_mode)); ++ dst = newVRegF(env); ++ addInstr(env, s390_insn_move(8, dst, f12)); ++ + return dst; + } + diff --git a/SOURCES/valgrind-3.9.0-s390x-ld-supp.patch b/SOURCES/valgrind-3.9.0-s390x-ld-supp.patch new file mode 100644 index 0000000..4004a90 --- /dev/null +++ b/SOURCES/valgrind-3.9.0-s390x-ld-supp.patch @@ -0,0 +1,14 @@ +--- valgrind-3.9.0/glibc-2.X.supp.in.orig 2013-11-24 20:39:55.165152689 +0100 ++++ valgrind-3.9.0/glibc-2.X.supp.in 2013-11-24 20:46:04.919736611 +0100 +@@ -236,3 +236,11 @@ + Memcheck:Cond + fun:_dl_relocate_object + } ++ ++# KDE#327943 - s390x missing index/strchr suppression for ld.so bad backtrace? ++{ ++ s390x-ld-so-index-dl_open_worker ++ Memcheck:Addr8 ++ fun:index ++ fun:dl_open_worker ++} diff --git a/SOURCES/valgrind-3.9.0-xabort.patch b/SOURCES/valgrind-3.9.0-xabort.patch new file mode 100644 index 0000000..1d0b43f --- /dev/null +++ b/SOURCES/valgrind-3.9.0-xabort.patch @@ -0,0 +1,35 @@ +From ae58d7305de27aa96abf715456a07045018cda98 Mon Sep 17 00:00:00 2001 +From: Mark Wielaard +Date: Tue, 26 Nov 2013 22:49:55 +0100 +Subject: [PATCH] Bug 328100 XABORT not implemented. + +XABORT can be called even when there is no current transaction. +In such a case XABORT acts as a NOP. Implement xabort as nop. +--- + priv/guest_amd64_toIR.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/VEX/priv/guest_amd64_toIR.c b/VEX/priv/guest_amd64_toIR.c +index a17c8f4..7ea5748 100644 +--- a/VEX/priv/guest_amd64_toIR.c ++++ b/VEX/priv/guest_amd64_toIR.c +@@ -20270,6 +20270,16 @@ Long dis_ESC_NONE ( + return delta; + } + /* END HACKY SUPPORT FOR xbegin */ ++ /* BEGIN HACKY SUPPORT FOR xabort */ ++ if (modrm == 0xF8 && !have66orF2orF3(pfx) && sz == 1 ++ && (archinfo->hwcaps & VEX_HWCAPS_AMD64_AVX)) { ++ delta++; /* mod/rm byte */ ++ abyte = getUChar(delta); delta++; ++ /* There is never a real transaction in progress, so do nothing. */ ++ DIP("xabort $%d", (Int)abyte); ++ return delta; ++ } ++ /* END HACKY SUPPORT FOR xabort */ + goto decode_failure; + + case 0xC8: /* ENTER */ +-- +1.8.3.1 + diff --git a/SPECS/valgrind.spec b/SPECS/valgrind.spec index 666ec48..6eac59a 100644 --- a/SPECS/valgrind.spec +++ b/SPECS/valgrind.spec @@ -3,7 +3,7 @@ Summary: Tool for finding memory management bugs in programs Name: %{?scl_prefix}valgrind Version: 3.9.0 -Release: 1.2%{?dist} +Release: 6%{?dist} Epoch: 1 License: GPLv2+ URL: http://www.valgrind.org/ @@ -32,6 +32,12 @@ Patch5: valgrind-3.9.0-gdbserver_tests-mcinvoke-ppc64.patch # KDE#326983 - insn_basic test might crash because of setting DF flag Patch6: valgrind-3.9.0-amd64_gen_insn_test.patch +# KDE#327837 - dwz compressed alternate .debug_info/str not read correctly. +Patch7: valgrind-3.9.0-dwz-alt-buildid.patch + +# KDE#327284 s390x VEX miscompilation of -march=z10 binary +Patch8: valgrind-3.9.0-s390-risbg.patch + # RHEL7 specific patches. @@ -41,9 +47,23 @@ Patch6: valgrind-3.9.0-amd64_gen_insn_test.patch # The result would only be used for two test cases. Patch7001: valgrind-3.9.0-ppc-fppo.patch -# RHBZ#1018325 valgrind segfaults on s390x -# KDE#327284 s390x VEX miscompilation of -march=z10 binary -Patch7002: valgrind-3.9.0-s390-risbg.patch +# KDE#327943 - s390x missing index/strchr suppression for ld.so bad backtrace? +Patch10: valgrind-3.9.0-s390x-ld-supp.patch + +# KDE#328100 - XABORT not implemented +Patch11: valgrind-3.9.0-xabort.patch + +# KDE#328711 - valgrind.1 manpage "memcheck options" section is bad +Patch12: valgrind-3.9.0-manpage-memcheck-options.patch + +# KDE#328455 - s390x SIGILL after emitting wrong register pair for ldxbr +Patch13: valgrind-3.9.0-s390-fpr-pair.patch + +# KDE#331337 - s390x WARNING: unhandled syscall: 326 (dup3) +Patch14: valgrind-3.9.0-s390-dup3.patch + +# KDE#331830 - ppc64: WARNING: unhandled syscall: 96/97 +Patch15: valgrind-3.9.0-ppc64-priority.patch %ifarch x86_64 ppc64 # Ensure glibc{,-devel} is installed for both multilib arches @@ -139,11 +159,22 @@ Valgrind User Manual for details. %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 +%patch8 -p1 # RHEL7 specific patches %patch7001 -p1 -%patch7002 -p1 + +%ifarch s390x +%patch10 -p1 +%endif + +%patch11 -p1 +%patch12 -p1 +%patch13 -p1 +%patch14 -p1 +%patch15 -p1 %build # We need to use the software collection compiler and binutils if available. @@ -297,6 +328,29 @@ echo ===============END TESTING=============== %endif %changelog +* Mon Mar 10 2014 Mark Wielaard - 3.9.0-6 +- Add valgrind-3.9.0-ppc64-priority.patch. (#1073613) + +* Fri Feb 21 2014 Mark Wielaard - 3.9.0-5 +- Add valgrind-3.9.0-s390-dup3.patch. (#1067486) + +* Fri Jan 24 2014 Daniel Mach - 1:3.9.0-4 +- Mass rebuild 2014-01-24 + +* Fri Dec 27 2013 Daniel Mach - 1:3.9.0-3 +- Mass rebuild 2013-12-27 + +* Thu Dec 12 2013 Mark Wielaard +- Add valgrind-3.9.0-manpage-memcheck-options.patch. (#1040914) +- Add valgrind-3.9.0-s390-fpr-pair.patch. (#1036615) + +* Thu Nov 28 2013 Mark Wielaard - 3.9.0-2.2 +- Add valgrind-3.9.0-s390x-ld-supp.patch. (#1032282) +- Add valgrind-3.9.0-xabort.patch. (#1035704) + +* Wed Nov 20 2013 Mark Wielaard - 3.9.0-2.1 +- Add valgrind-3.9.0-dwz-alt-buildid.patch. (#1029875) + * Thu Nov 7 2013 Mark Wielaard - 3.9.0-1.2 - Remove unnecessary and unapplied valgrind-3.8.1-movntdqa.patch - Remove valgrind-3.9.0-s390x-workarounds.patch