Re: [patch 12/26] Xen-paravirt_ops: Fix patch site clobbers to include return register

Zachary Amsden
2007-03-02T00:53:00Z

Jeremy Fitzhardinge wrote:
> Zachary Amsden wrote:
>
>> Jeremy Fitzhardinge wrote:
>>
>>> Fix a few clobbers to include the return register. The clobbers set
>>> is the set of all registers modified (or may be modified) by the code
>>> snippet, regardless of whether it was deliberate or accidental.
>>>
>>> Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
>>> Cc: Rusty Russell <rusty@rustcorp.com.au>
>>> Cc: Zachary Amsden <zach@vmware.com>
>>>
>>> ---
>>> include/asm-i386/paravirt.h | 4 ++--
>>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> ===================================================================
>>> --- a/include/asm-i386/paravirt.h
>>> +++ b/include/asm-i386/paravirt.h
>>> @@ -556,7 +556,7 @@ static inline unsigned long __raw_local_
>>> "popl %%edx; popl %%ecx")
>>> : "=a"(f): "m"(paravirt_ops.save_fl),
>>> paravirt_type(PARAVIRT_PATCH(save_fl)),
>>> - paravirt_clobber(CLBR_NONE)
>>> + paravirt_clobber(CLBR_EAX)
>>> : "memory", "cc");
>>> return f;
>>>
>>>
>> Has this been tested on older gcc's? I seem to recall them barfing
>> over things like this.
>>
>
> Things like what? Do you mean the %[foo] asm parameter syntax? I think
> those versions are no longer supported - Arjan posted a patch a few days
> ago to convert a pile of asms to this form. Or do you mean something else?
>

I meant having an output in the clobber list, I didn't know we were
dropping support for older versions already.

Zach