summaryrefslogtreecommitdiffstats
path: root/include/wntgcci/sehandler.hxx
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@suse.cz>2013-06-04 13:24:59 +0200
committerLuboš Luňák <l.lunak@suse.cz>2013-06-05 16:01:43 +0200
commit6b8393474974d2af7a2cb3c47b3d5c081b550bdb (patch)
tree06f801a497d0a33161996fdfca10398a59b229fa /include/wntgcci/sehandler.hxx
parentUse background back->Use background cache (diff)
downloadcore-6b8393474974d2af7a2cb3c47b3d5c081b550bdb.tar.gz
core-6b8393474974d2af7a2cb3c47b3d5c081b550bdb.zip
fix gcc inline assembler operands usage
Apparently whoever did these didn't get the gcc docs and specified every operand only as input, and then added volatile, explicit initialization and what not until it worked. Specify output operands correctly instead. I couldn't verify all assembler variants, as I don't know them, but the ones I don't know had at least some proper usage of output operands, so I'll assume those are all correct. Change-Id: I2910308b5e00cce8db756496df50ed26cfe35bb6
Diffstat (limited to 'include/wntgcci/sehandler.hxx')
-rw-r--r--include/wntgcci/sehandler.hxx2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/wntgcci/sehandler.hxx b/include/wntgcci/sehandler.hxx
index 9218adde07a7..6f196d88e668 100644
--- a/include/wntgcci/sehandler.hxx
+++ b/include/wntgcci/sehandler.hxx
@@ -58,7 +58,7 @@ public:
m_ER.pHandlerClass = this;
m_ER.hp = handler;
asm("movl %%fs:0, %%eax\n\t"
- "movl %%eax, %0": : "m" (m_ER.prev): "%eax" );
+ "movl %%eax, %0": "=m" (m_ER.prev): : "%eax" );
asm("movl %0, %%eax\n\t"
"movl %%eax, %%fs:0": : "r" (&m_ER): "%eax" );
}