Added patch to fix build on ppc64le

This commit is contained in:
Adrian Reber 2017-02-13 16:43:48 +01:00
parent 4d9a9ad03f
commit fbbe8a2c81
2 changed files with 39 additions and 1 deletions

View File

@ -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 <adrian@lisas.de> - 2.10-4
- Added patch to fix build on ppc64le
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.10-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

View File

@ -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 <adrian@lisas.de>
Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
---
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