[CRIU] [PATCH] ppc64: Fix clobber list item for JUMP_TO_RESTORER_BLOB

Adrian Reber adrian at lisas.de
Mon Feb 13 08:01:54 PST 2017


On Mon, Feb 13, 2017 at 11:26:43AM +0100, Laurent Dufour wrote:
> 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 at lisas.de>
> Signed-off-by: Laurent Dufour <ldufour at linux.vnet.ibm.com>

Tested-by: Adrian Reber <adrian at lisas.de>

It compiles again:

https://kojipkgs.fedoraproject.org/work/tasks/1536/17841536/build.log

I was not able to actually test it yet. I am trying to get a ppc64le
system running with gcc-7.

		Adrian

> ---
>  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


More information about the CRIU mailing list