From afdb1bdaba9938d31326c6cbe709231ba4cc5a5d Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Apr 11 2019 18:34:49 +0000 Subject: 3.15.0-0.4.RC2 - Update to 3.15.0.RC2. - Drop upstreamed patches: - valgrind-3.15.0-s390x-get-startregs-constraint.patch - valgrind-3.15.0-missing-a-c.patch - valgrind-3.15.0-libstdc++-supp.patch - valgrind-3.15.0-dhat-x86.patch - valgrind-3.15.0-gdb-output1.patch - valgrind-3.15.0-gdb-output2.patch - Update valgrind-3.15.0-mmap-32bit.patch to upstream version. - gdb on f30 and rawhide is currently broken, don't run_full_regtest. - Any glibc-devel version is. - Drop rhel5 special case for tools-devel. - Use /bin/true --help as sanity test. --- diff --git a/.gitignore b/.gitignore index 9d2fd58..c451065 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,4 @@ /valgrind-3.14.0.RC2.tar.bz2 /valgrind-3.14.0.tar.bz2 /valgrind-3.15.0.RC1.tar.bz2 +/valgrind-3.15.0.RC2.tar.bz2 diff --git a/sources b/sources index 754fe1f..a3eb9d4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (valgrind-3.15.0.RC1.tar.bz2) = 597173ada0989ad4ee8cf3b120b87d6575377101db9f6514458e86f6a743b9514f5b1469486a297ca7b46da70d3c91bc1a19ac0ee19bf50f4fdb645b689df20e +SHA512 (valgrind-3.15.0.RC2.tar.bz2) = 8c8d6fc82e26b3c02a042279f1b135b65299772ebd7103e8159f26d83482ea8e8f8917a6be7fd5bcdce84e5193fa163d39e631db6fb8cb11fe750c3d60813756 diff --git a/valgrind-3.15.0-dhat-x86.patch b/valgrind-3.15.0-dhat-x86.patch deleted file mode 100644 index 38778ed..0000000 --- a/valgrind-3.15.0-dhat-x86.patch +++ /dev/null @@ -1,18 +0,0 @@ -commit e63d90d66e8de6d6ec2c92e3b0a32cc165b83369 -Author: Mark Wielaard -Date: Wed Apr 10 01:22:37 2019 +0200 - - dhat is broken on x86 (32bit) - -diff --git a/dhat/dh_main.c b/dhat/dh_main.c -index 47a9327..a933328 100644 ---- a/dhat/dh_main.c -+++ b/dhat/dh_main.c -@@ -794,6 +794,7 @@ void dh_handle_noninsn_write ( CorePart part, ThreadId tid, - { - switch (part) { - case Vg_CoreSysCall: -+ case Vg_CoreClientReq: - dh_handle_write(base, size); - break; - case Vg_CoreSignal: diff --git a/valgrind-3.15.0-gdb-output1.patch b/valgrind-3.15.0-gdb-output1.patch deleted file mode 100644 index b726326..0000000 --- a/valgrind-3.15.0-gdb-output1.patch +++ /dev/null @@ -1,164 +0,0 @@ -commit 12addd06445a1685e91ff091867ae27d6eac733f -Author: Alexandra Hájková -Date: Tue Apr 9 11:09:56 2019 +0200 - - gdbserver_tests: adjust filtering for the new gdb output - - mcsigpass and mcsignopass tests fails due to the slightly different - gdb output. Filter the tests output to make it the same for different - gdb version. Change mcsigpass and mcsignopass .exp to fit filtered - .out. - - More generic regexp by Stefan Maksimovic . - - https://bugs.kde.org/show_bug.cgi?id=406355 - -diff --git a/gdbserver_tests/filter_gdb b/gdbserver_tests/filter_gdb -index 05bbe4c..947e7bc 100755 ---- a/gdbserver_tests/filter_gdb -+++ b/gdbserver_tests/filter_gdb -@@ -139,6 +139,7 @@ sed -e '/Remote debugging using/,/vgdb launched process attached/d' - -e 's/VgTs_WaitSys) 0x/VgTs_WaitSys) 0x/' \ - -e '/Cannot access memory at address 0x......../d' \ - -e '/\[New Thread/d' \ -+ -e 's/^0x........ in \(\w\+ (\)/\1/' \ - -e '/^$/d' | - - # remove all the lines telling where the SIGFPE was trapped. -diff --git a/gdbserver_tests/mcbreak.stdoutB.exp b/gdbserver_tests/mcbreak.stdoutB.exp -index ba526da..7559037 100644 ---- a/gdbserver_tests/mcbreak.stdoutB.exp -+++ b/gdbserver_tests/mcbreak.stdoutB.exp -@@ -43,11 +43,11 @@ Breakpoint 3, main (argc=1, argv=0x........) at t.c:120 - Delete all breakpoints? (y or n) [answered Y; input not from terminal] - Continuing. - Program received signal SIGTRAP, Trace/breakpoint trap. --0x........ in make_error (s=0x........ "called from level") at t.c:41 -+make_error (s=0x........ "called from level") at t.c:41 - 41 if (int_und == 0) - 44 printf ("%s int_und is not zero\n", s); - old_pc has changed after step - Continuing. - Program received signal SIGTRAP, Trace/breakpoint trap. --0x........ in make_error (s=0x........ "called from main") at t.c:41 -+make_error (s=0x........ "called from main") at t.c:41 - 41 if (int_und == 0) -diff --git a/gdbserver_tests/mcinfcallWSRU.stderrB.exp b/gdbserver_tests/mcinfcallWSRU.stderrB.exp -index a2f2b87..06dc433 100644 ---- a/gdbserver_tests/mcinfcallWSRU.stderrB.exp -+++ b/gdbserver_tests/mcinfcallWSRU.stderrB.exp -@@ -14,7 +14,7 @@ Breakpoint 1, sleeper_or_burner (v=0x........) at sleepers.c:74 - 74 int i = 0; - Continuing. - Program received signal SIGTRAP, Trace/breakpoint trap. --0x........ in do_burn () at sleepers.c:41 -+do_burn () at sleepers.c:41 - 41 for (i = 0; i < burn; i++) loopnr++; - [Switching to thread 1 (Thread ....)] - #0 0x........ in do_burn () -diff --git a/gdbserver_tests/mcsignopass.stdoutB.exp b/gdbserver_tests/mcsignopass.stdoutB.exp -index d77f983..18c830b 100644 ---- a/gdbserver_tests/mcsignopass.stdoutB.exp -+++ b/gdbserver_tests/mcsignopass.stdoutB.exp -@@ -6,54 +6,54 @@ Signal Stop Print Pass to program Description - SIGFPE Yes Yes Yes Arithmetic exception - Continuing. - Program received signal SIGSEGV, Segmentation fault. --0x........ in test1 () at faultstatus.c:116 -+test1 () at faultstatus.c:116 - 116 *BADADDR = 'x'; - Continuing. - Program received signal SIGSEGV, Segmentation fault. --0x........ in test1 () at faultstatus.c:116 -+test1 () at faultstatus.c:116 - 116 *BADADDR = 'x'; - Continuing. - Program received signal SIGSEGV, Segmentation fault. --0x........ in test1 () at faultstatus.c:116 -+test1 () at faultstatus.c:116 - 116 *BADADDR = 'x'; - Continuing. - Program received signal SIGSEGV, Segmentation fault. --0x........ in test1 () at faultstatus.c:116 -+test1 () at faultstatus.c:116 - 116 *BADADDR = 'x'; - Continuing. - Program received signal SIGSEGV, Segmentation fault. --0x........ in test1 () at faultstatus.c:116 -+test1 () at faultstatus.c:116 - 116 *BADADDR = 'x'; - Continuing. - Program received signal SIGSEGV, Segmentation fault. --0x........ in test1 () at faultstatus.c:116 -+test1 () at faultstatus.c:116 - 116 *BADADDR = 'x'; - Continuing. - Program received signal SIGSEGV, Segmentation fault. --0x........ in test1 () at faultstatus.c:116 -+test1 () at faultstatus.c:116 - 116 *BADADDR = 'x'; - Continuing. - Program received signal SIGSEGV, Segmentation fault. --0x........ in test1 () at faultstatus.c:116 -+test1 () at faultstatus.c:116 - 116 *BADADDR = 'x'; - Continuing. - Program received signal SIGSEGV, Segmentation fault. --0x........ in test1 () at faultstatus.c:116 -+test1 () at faultstatus.c:116 - 116 *BADADDR = 'x'; - Continuing. - Program received signal SIGSEGV, Segmentation fault. --0x........ in test1 () at faultstatus.c:116 -+test1 () at faultstatus.c:116 - 116 *BADADDR = 'x'; - Continuing. - Program received signal SIGSEGV, Segmentation fault. --0x........ in test1 () at faultstatus.c:116 -+test1 () at faultstatus.c:116 - 116 *BADADDR = 'x'; - Signal Stop Print Pass to program Description - SIGSEGV No Yes Yes Segmentation fault - Continuing. - Program received signal SIGSEGV, Segmentation fault. - Program received signal SIGBUS, Bus error. --0x........ in test3 () at faultstatus.c:126 -+test3 () at faultstatus.c:126 - 126 mapping[FILESIZE+10]; - Continuing. - Program received signal SIGFPE, Arithmetic exception. -diff --git a/gdbserver_tests/mcsigpass.stdoutB.exp b/gdbserver_tests/mcsigpass.stdoutB.exp -index de6c263..6800358 100644 ---- a/gdbserver_tests/mcsigpass.stdoutB.exp -+++ b/gdbserver_tests/mcsigpass.stdoutB.exp -@@ -1,14 +1,14 @@ - Continuing. - Program received signal SIGSEGV, Segmentation fault. --0x........ in test1 () at faultstatus.c:116 -+test1 () at faultstatus.c:116 - 116 *BADADDR = 'x'; - Continuing. - Program received signal SIGSEGV, Segmentation fault. --0x........ in test2 () at faultstatus.c:121 -+test2 () at faultstatus.c:121 - 121 mapping[0] = 'x'; - Continuing. - Program received signal SIGBUS, Bus error. --0x........ in test3 () at faultstatus.c:126 -+test3 () at faultstatus.c:126 - 126 mapping[FILESIZE+10]; - Continuing. - Program received signal SIGFPE, Arithmetic exception. -diff --git a/gdbserver_tests/nlcontrolc.stdoutB.exp b/gdbserver_tests/nlcontrolc.stdoutB.exp -index e334fd0..e8a5ff8 100644 ---- a/gdbserver_tests/nlcontrolc.stdoutB.exp -+++ b/gdbserver_tests/nlcontrolc.stdoutB.exp -@@ -9,7 +9,7 @@ $4 = 0 - changed burning parameters - Continuing. - Program received signal SIGTRAP, Trace/breakpoint trap. --0x........ in do_burn () at sleepers.c:41 -+do_burn () at sleepers.c:41 - 41 for (i = 0; i < burn; i++) loopnr++; - $5 = 0 - $6 = 0 diff --git a/valgrind-3.15.0-gdb-output2.patch b/valgrind-3.15.0-gdb-output2.patch deleted file mode 100644 index 78f5ea9..0000000 --- a/valgrind-3.15.0-gdb-output2.patch +++ /dev/null @@ -1,19 +0,0 @@ -commit 983cb6ab1d60c79a8a9c6723815468fc59c4f248 -Author: Mark Wielaard -Date: Wed Apr 10 01:28:24 2019 +0200 - - Bug 406357 - -diff --git a/gdbserver_tests/filter_gdb b/gdbserver_tests/filter_gdb -index 05bbe4c..d0ab11d 100755 ---- a/gdbserver_tests/filter_gdb -+++ b/gdbserver_tests/filter_gdb -@@ -92,7 +92,7 @@ sed -e '/Remote debugging using/,/vgdb launched process attached/d' - -e 's/^Thread .... received /Program received /' \ - -e 's/#[0-9]\( 0x........ in sleeper_or_burner\)/#.\1/' \ - -e 's/\(#0 0x........ in do_burn ()\) at sleepers.c:41/\1/' \ -- -e '/^Reading symbols from .*\.\.\.done\./d' \ -+ -e '/^Reading symbols from .*\.\.\.\(done\.\)\?/d' \ - -e '/^Loaded symbols for .*$/d' \ - -e '/^Current language.*/d' \ - -e '/^The current source language is.*/d' \ diff --git a/valgrind-3.15.0-libstdc++-supp.patch b/valgrind-3.15.0-libstdc++-supp.patch deleted file mode 100644 index 990a344..0000000 --- a/valgrind-3.15.0-libstdc++-supp.patch +++ /dev/null @@ -1,51 +0,0 @@ -commit 751b5736bb597210c5d9de40cb586d4b341bf29a -Author: Mark Wielaard -Date: Tue Apr 9 16:09:50 2019 +0200 - - More memcheck/tests/libstdc++.supp suppressions - -diff --git a/memcheck/tests/libstdc++.supp b/memcheck/tests/libstdc++.supp -index fad537f..28ab182 100644 ---- a/memcheck/tests/libstdc++.supp -+++ b/memcheck/tests/libstdc++.supp -@@ -49,6 +49,9 @@ - # still reachable: 72,704 bytes in 1 blocks - # suppressed: 0 bytes in 0 blocks - -+# All the following suppressions are variants of -+# _dl_init -> call_init which calls the DT_INIT_ARRAY functions -+ - { - malloc-leaks-cxx-stl-string-classes - Memcheck:Leak -@@ -61,6 +64,16 @@ - obj:*lib*/ld-2.*.so - } - { -+ malloc-leaks-cxx-stl-string-classes-2 -+ Memcheck:Leak -+ match-leak-kinds: reachable -+ fun:malloc -+ obj:*lib*/libstdc++.so* -+ fun:call_init.part.0 -+ fun:_dl_init -+ obj:*lib*/ld-2.*.so -+} -+{ - malloc-leaks-cxx-stl-string-classes-debug - Memcheck:Leak - match-leak-kinds: reachable -@@ -73,3 +86,13 @@ - fun:_dl_init - obj:*lib*/ld-2.*.so - } -+{ -+ malloc-leaks-cxx-stl-string-classes-debug2 -+ Memcheck:Leak -+ match-leak-kinds: reachable -+ fun:malloc -+ obj:* -+ fun:call_init -+ fun:_dl_init -+ fun:_dl_start_user -+} diff --git a/valgrind-3.15.0-missing-a-c.patch b/valgrind-3.15.0-missing-a-c.patch deleted file mode 100644 index d047b0f..0000000 --- a/valgrind-3.15.0-missing-a-c.patch +++ /dev/null @@ -1,19 +0,0 @@ -commit e5ff7e633a768a421dafbc115c3a3c2f713338db -Author: Mark Wielaard -Date: Wed Apr 10 00:33:26 2019 +0200 - - add missing a.c - -diff --git a/cachegrind/tests/a.c b/cachegrind/tests/a.c -new file mode 100644 -index 0000000..cd1c66e ---- /dev/null -+++ b/cachegrind/tests/a.c -@@ -0,0 +1,7 @@ -+int main(void) { -+ int z = 0; -+ for (int i = 0; i < 1000000; i++) { -+ z += i; -+ } -+ return z % 256; -+} diff --git a/valgrind-3.15.0-mmap-32bit.patch b/valgrind-3.15.0-mmap-32bit.patch index daab7a3..1956246 100644 --- a/valgrind-3.15.0-mmap-32bit.patch +++ b/valgrind-3.15.0-mmap-32bit.patch @@ -1,11 +1,29 @@ +commit 535d2ff4f2f755faa8b1a9e467833eca455bd2d7 +Author: Mark Wielaard +Date: Thu Apr 11 18:06:34 2019 +0200 + + none/tests/amd64-linux/map_32bits.vgtest fails too easily + + On various systems none/tests/amd64-linux/map_32bits.vgtest fails with: + first mmap: Cannot allocate memory. + + The problem is that the --aspace-minaddr is too tight. Newer glibc seem + to mmap some memory and so even our first mmap with MMAP_32BIT will fail. + + The solution is to make a bit more memory < 2GB available. + If there is 16MB available the test always seems to succeed without + needing too many tries. The original 256K is too low. + + https://bugs.kde.org/show_bug.cgi?id=406422 + diff --git a/none/tests/amd64-linux/map_32bits.vgtest b/none/tests/amd64-linux/map_32bits.vgtest -index 2b7f3a0..2c17854 100644 +index 2b7f3a0..43011e3 100644 --- a/none/tests/amd64-linux/map_32bits.vgtest +++ b/none/tests/amd64-linux/map_32bits.vgtest @@ -1,5 +1,5 @@ prog: map_32bits # take a big aspacemgr minaddr, to quickly reach the 2GB limit -vgopts: -q --aspace-minaddr=0x7ff60000 -+vgopts: -q --aspace-minaddr=0x70000000 ++vgopts: -q --aspace-minaddr=0x7f000000 stderr_filter: filter_stderr diff --git a/valgrind-3.15.0-s390x-get-startregs-constraint.patch b/valgrind-3.15.0-s390x-get-startregs-constraint.patch deleted file mode 100644 index f6f34dc..0000000 --- a/valgrind-3.15.0-s390x-get-startregs-constraint.patch +++ /dev/null @@ -1,19 +0,0 @@ -commit b2d2da64b0de1c4d657b63187967b68606e84711 -Author: Julian Seward -Date: Mon Apr 8 14:16:48 2019 +0200 - - GET_STARTREGS for s390: fix register constraint (per comments from Andreas Arnez). - -diff --git a/coregrind/m_libcassert.c b/coregrind/m_libcassert.c -index 6d1cd4c..bb9b92b 100644 ---- a/coregrind/m_libcassert.c -+++ b/coregrind/m_libcassert.c -@@ -180,7 +180,7 @@ - "std %%f6, 72(%1);" \ - "std %%f7, 80(%1);" \ - : /* out */ "=r" (ia) \ -- : /* in */ "r" (&block[0]) \ -+ : /* in */ "a" (&block[0]) \ - : /* trash */ "memory" \ - ); \ - (srP)->r_pc = ia; \ diff --git a/valgrind.spec b/valgrind.spec index f8beb9c..1b55822 100644 --- a/valgrind.spec +++ b/valgrind.spec @@ -3,7 +3,7 @@ Summary: Tool for finding memory management bugs in programs Name: %{?scl_prefix}valgrind Version: 3.15.0 -Release: 0.3.RC1%{?dist} +Release: 0.4.RC2%{?dist} Epoch: 1 License: GPLv2+ URL: http://www.valgrind.org/ @@ -45,11 +45,12 @@ URL: http://www.valgrind.org/ # and experimental tools. # Only run full regtests on fedora, but not on older rhel # or when creating scl, the gdb_server tests might hang. +# Currently gdb on f30 and rawhide is broken. %if %{is_scl} %global run_full_regtest 0 %else %if 0%{?fedora} - %global run_full_regtest 1 + %global run_full_regtest (%fedora < 30) %endif %if 0%{?rhel} %global run_full_regtest (%rhel >= 7) @@ -63,7 +64,7 @@ URL: http://www.valgrind.org/ # So those will already have their full symbol table. %undefine _include_minidebuginfo -Source0: ftp://sourceware.org/pub/valgrind/valgrind-%{version}.RC1.tar.bz2 +Source0: ftp://sourceware.org/pub/valgrind/valgrind-%{version}.RC2.tar.bz2 # Needs investigation and pushing upstream Patch1: valgrind-3.9.0-cachegrind-improvements.patch @@ -79,41 +80,14 @@ Patch3: valgrind-3.9.0-ldso-supp.patch # same directory is used independent of arch. Patch4: valgrind-3.15.0-pkglibexecdir.patch -# valgrind commit b2d2da64b0de1c4d657b63187967b68606e84711 -# GET_STARTREGS for s390: fix register constraint -Patch5: valgrind-3.15.0-s390x-get-startregs-constraint.patch - -# KDE#406352 RC1 fails cachegrind/callgrind ann tests because of missing a.c -Patch6: valgrind-3.15.0-missing-a-c.patch - -# KDE#406360 memcheck/tests/libstdc++.supp needs more supression variants -Patch7: valgrind-3.15.0-libstdc++-supp.patch - -# KDE#406354 dhat is broken on x86 (32bit) -Patch8: valgrind-3.15.0-dhat-x86.patch - -# KDE#406355 mcsignopass and mcsigpass fails due to a difference in gdb output -Patch9: valgrind-3.15.0-gdb-output1.patch - -# KDE#406357 RC1 fails gdbserver_tests because of gdb output change -Patch10: valgrind-3.15.0-gdb-output2.patch - # KDE#405205 filter_libc: remove the futex syscall error line entirely -Patch11: valgrind-3.15.0-filter-libc-futex.patch +Patch5: valgrind-3.15.0-filter-libc-futex.patch # KDE#406422 none/tests/amd64-linux/map_32bits.vgtest fails too easily -Patch12: valgrind-3.15.0-mmap-32bit.patch +Patch6: valgrind-3.15.0-mmap-32bit.patch -%if 0%{?fedora} >= 15 -BuildRequires: glibc-devel >= 2.14 -%else -%if 0%{?rhel} >= 6 -BuildRequires: glibc-devel >= 2.12 -%else -BuildRequires: glibc-devel >= 2.5 -%endif -%endif +BuildRequires: glibc-devel %if %{build_openmpi} BuildRequires: openmpi-devel >= 1.3.3 @@ -230,7 +204,7 @@ Valgrind User Manual for details. %endif %prep -%setup -q -n %{?scl:%{pkg_name}}%{!?scl:%{name}}-%{version}.RC1 +%setup -q -n %{?scl:%{pkg_name}}%{!?scl:%{name}}-%{version}.RC2 %patch1 -p1 %patch2 -p1 @@ -238,14 +212,6 @@ Valgrind User Manual for details. %patch4 -p1 %patch5 -p1 %patch6 -p1 -# a.c cannot be "newer" than cgout-test -touch cachegrind/tests/cgout-test -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 -%patch10 -p1 -%patch11 -p1 -%patch12 -p1 %build CC=gcc @@ -327,11 +293,7 @@ popd %ifarch %{ix86} x86_64 # To avoid multilib clashes in between i?86 and x86_64, # tweak installed a little bit. -for i in HAVE_PTHREAD_CREATE_GLIBC_2_0 HAVE_PTRACE_GETREGS HAVE_AS_AMD64_FXSAVE64 \ -%if 0%{?rhel} == 5 - HAVE_BUILTIN_ATOMIC HAVE_BUILTIN_ATOMIC_CXX \ -%endif - ; do +for i in HAVE_PTHREAD_CREATE_GLIBC_2_0 HAVE_PTRACE_GETREGS HAVE_AS_AMD64_FXSAVE64; do sed -i -e 's,^\(#define '$i' 1\|/\* #undef '$i' \*/\)$,#ifdef __x86_64__\n# define '$i' 1\n#endif,' \ $RPM_BUILD_ROOT%{_includedir}/valgrind/config.h done @@ -365,7 +327,7 @@ LD_SHOW_AUXV=1 /bin/true cat /proc/cpuinfo # Make sure a basic binary runs. There should be no errors. -./vg-in-place --error-exitcode=1 /bin/true +./vg-in-place --error-exitcode=1 /bin/true --help # Build the test files with the software collection compiler if available. %{?scl:PATH=%{_bindir}${PATH:+:${PATH}}} @@ -458,6 +420,21 @@ fi %endif %changelog +* Thu Apr 11 2019 Mark Wielaard - 3.15.0-0.4.RC2 +- Update to 3.15.0.RC2. +- Drop upstreamed patches: + - valgrind-3.15.0-s390x-get-startregs-constraint.patch + - valgrind-3.15.0-missing-a-c.patch + - valgrind-3.15.0-libstdc++-supp.patch + - valgrind-3.15.0-dhat-x86.patch + - valgrind-3.15.0-gdb-output1.patch + - valgrind-3.15.0-gdb-output2.patch +- Update valgrind-3.15.0-mmap-32bit.patch to upstream version. +- gdb on f30 and rawhide is currently broken, don't run_full_regtest. +- Any glibc-devel version is. +- Drop rhel5 special case for tools-devel. +- Use /bin/true --help as sanity test. + * Wed Apr 10 2019 Mark Wielaard - 3.15.0-0.3.RC1 - Enable full regtest on all fedora arches. - Make sure that patched a.c is not newer than cgout-test.