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

Laurent Dufour ldufour at linux.vnet.ibm.com
Mon Feb 13 09:04:10 PST 2017


On 13/02/2017 17:56, Pavel Emelyanov wrote:
> On 02/13/2017 07:31 PM, Laurent Dufour wrote:
>> 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.
> 
> How did the issue discover itself? We run ppc64 test-suite in the VM
> you helped us to get (thanks) :) and no problems so far.

This is a build issue raised by GCC 7 which don't allow assembly macro
to clobber the register r2 anymore. Adrian ping me on irc to investigate
that.

There is (should be) no functional change in that patch, indeed it fixes
the changes I badly made through 89d6b39cfe36, by removing r2 from the
list of register clobber by this macro (which doesn't touch it anymore).
It just makes GCC 7 happy.

Cheers,
Laurent



More information about the CRIU mailing list