diff --git a/criu.spec b/criu.spec index 16ae3a5..f997bb5 100644 --- a/criu.spec +++ b/criu.spec @@ -1,6 +1,6 @@ Name: criu Version: 2.10 -Release: 3%{?dist} +Release: 4%{?dist} Provides: crtools = %{version}-%{release} Obsoletes: crtools <= 1.0-2 Summary: Tool for Checkpoint/Restore in User-space @@ -8,6 +8,7 @@ Group: System Environment/Base License: GPLv2 URL: http://criu.org/ Source0: http://download.openvz.org/criu/criu-%{version}.tar.bz2 +Patch0: fix-clobber-list-item.patch %if 0%{?rhel} # RHEL has no asciidoc; take man-page from Fedora 24 @@ -67,6 +68,7 @@ their content in human-readable form. %prep %setup -q +%patch0 -p1 %build # %{?_smp_mflags} does not work @@ -124,6 +126,9 @@ rm -rf $RPM_BUILD_ROOT%{_libdir}/pkgconfig %changelog +* Mon Feb 13 2017 Adrian Reber - 2.10-4 +- Added patch to fix build on ppc64le + * Fri Feb 10 2017 Fedora Release Engineering - 2.10-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild diff --git a/fix-clobber-list-item.patch b/fix-clobber-list-item.patch new file mode 100644 index 0000000..116e121 --- /dev/null +++ b/fix-clobber-list-item.patch @@ -0,0 +1,33 @@ +The JUMP_TO_RESTORER_BLOB assembly macro has been rewrote through the +commit '89d6b39cfe36 ppc64: pie -- Add ppc64le relocation's +processing', but the Clobber list hasn't been updated. + +This doesn't generate build neither runtime errors since the Clobber +list was larger than needed but GCC 7 is now raising an error when an +assembly macro is clobbering the r2 register. + +This patch fix the Clobber list to just modified registers. + +Fixes: 89d6b39cfe36 ("ppc64: pie -- Add ppc64le relocation's processing") +Reported-by: Adrian Reber +Signed-off-by: Laurent Dufour +--- + criu/arch/ppc64/include/asm/restore.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/criu/arch/ppc64/include/asm/restore.h b/criu/arch/ppc64/include/asm/restore.h +index bac7bb566abb..8d4516090c65 100644 +--- a/criu/arch/ppc64/include/asm/restore.h ++++ b/criu/arch/ppc64/include/asm/restore.h +@@ -21,7 +21,7 @@ + : "r"(new_sp), \ + "r"((unsigned long)restore_task_exec_start), \ + "r"(task_args) \ +- : "r1", "1", "2", "3", "12", "memory") ++ : "1", "3", "12") + + /* There is nothing to do since TLS is accessed through r13 */ + #define core_get_tls(pcore, ptls) +-- +2.7.4 +