diff --git a/dyninst.spec b/dyninst.spec index 9fc6236..1f88ede 100644 --- a/dyninst.spec +++ b/dyninst.spec @@ -13,6 +13,8 @@ ExclusiveArch: %{ix86} x86_64 ppc ppc64 Source0: https://github.com/dyninst/dyninst/archive/v%{version}/dyninst-%{version}.tar.gz Source1: https://github.com/dyninst/testsuite/archive/v%{version}/testsuite-%{version}.tar.gz +Patch1: testsuite-9.3.0-junit-nullptr.patch + %global dyninst_base dyninst-%{version} %global testsuite_base testsuite-%{version} @@ -83,6 +85,13 @@ making sure that dyninst works properly. %setup -q -n %{name}-%{version} -c %setup -q -T -D -a 1 +%patch1 -p0 -b.nullptr + +# cotire seems to cause non-deterministic gcc errors +# https://bugzilla.redhat.com/show_bug.cgi?id=1420551 +sed -i.cotire -e 's/USE_COTIRE true/USE_COTIRE false/' \ + %{dyninst_base}/cmake/shared.cmake + %build cd %{dyninst_base} diff --git a/testsuite-9.3.0-junit-nullptr.patch b/testsuite-9.3.0-junit-nullptr.patch new file mode 100644 index 0000000..6f055c3 --- /dev/null +++ b/testsuite-9.3.0-junit-nullptr.patch @@ -0,0 +1,11 @@ +--- testsuite-9.3.0/src/JUnitOutputDriver.cpp.nullptr 2016-12-19 14:55:38.000000000 -0800 ++++ testsuite-9.3.0/src/JUnitOutputDriver.cpp 2017-02-15 11:19:22.628056889 -0800 +@@ -35,7 +35,7 @@ void JUnitOutputDriver::startNewTest(std + { + std::stringstream suitename; + suitename << last_group->modname; +- if(last_group->mutatee != '\0') suitename << "." << last_group->mutatee; ++ if(last_group->mutatee != nullptr) suitename << "." << last_group->mutatee; + log(HUMAN, "\n", + suitename.str().c_str(), group_errors, group_skips, group_tests, group_failures); + log(HUMAN, group_output.str().c_str());