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

Jeremy Fitzhardinge
2007-03-02T00:49:50Z

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?

J