Re: [patch 12/26] Xen-paravirt_ops: Fix patch site clobbers to include return register
From: Jeremy Fitzhardinge <hidden>
Date: 2007-03-02 00:49:50
Also in:
lkml, xen-devel
From: Jeremy Fitzhardinge <hidden>
Date: 2007-03-02 00:49:50
Also in:
lkml, xen-devel
Zachary Amsden wrote:
Jeremy Fitzhardinge wrote:quoted
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 <redacted> Cc: Rusty Russell <redacted> Cc: Zachary Amsden <redacted> --- 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