Thread (135 messages) 135 messages, 18 authors, 2007-03-20

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

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help