|
From: <sv...@va...> - 2009-07-18 10:39:19
|
Author: bart
Date: 2009-07-18 11:39:14 +0100 (Sat, 18 Jul 2009)
New Revision: 10484
Log:
Fixed the inline assembly code such that it also works correctly with gcc 4.4.0. While accessing stack variables from inline assembly code that modifies the stack pointer works fine with gcc 3.0 - gcc 4.3 with optimization disabled, it gives incorrect results with gcc 4.4.0.
Modified:
trunk/none/tests/x86/pushpopseg.c
Modified: trunk/none/tests/x86/pushpopseg.c
===================================================================
--- trunk/none/tests/x86/pushpopseg.c 2009-07-18 08:26:49 UTC (rev 10483)
+++ trunk/none/tests/x86/pushpopseg.c 2009-07-18 10:39:14 UTC (rev 10484)
@@ -18,8 +18,8 @@
"popw %%fs\n"
"movl %%esp, %2\n"
"movw %%fs, %3\n"
- : "=m" (sp1), "=m" (sp2), "=m" (sp3), "=m" (fs2)
- : "m" (fs1)
+ : "=r" (sp1), "=r" (sp2), "=r" (sp3), "=r" (fs2)
+ : "r" (fs1)
: "ax"
);
@@ -34,8 +34,8 @@
"popl %%fs\n"
"movl %%esp, %2\n"
"movw %%fs, %3\n"
- : "=m" (sp1), "=m" (sp2), "=m" (sp3), "=m" (fs2)
- : "m" (fs1)
+ : "=r" (sp1), "=r" (sp2), "=r" (sp3), "=r" (fs2)
+ : "r" (fs1)
: "ax"
);
|