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

Laurent Dufour ldufour at linux.vnet.ibm.com
Mon Feb 13 08:31:33 PST 2017


On 13/02/2017 17:01, Adrian Reber wrote:
> 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

Great !

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

FWIW I run the criu test suite with that patch built on GCC 6.2 on a
powernv system without any issue.

Cheers,
Laurent.

> 		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