/* ebp points on stack base */
/* esp points on stack pointer, ie on last stacked element (current element) */
-// asm ("call $ + 5"); FIXME: this does not works when cross-compiling. Is this really mandatory?
- asm ("pop %eax");
- asm ("mov context.Eip, %eax");
- asm ("mov %eax, %esp");
- asm ("mov context.Esp, %eax");
- asm ("mov context.Ebp, %ebp");
-
+ _asm call $ + 5
+ _asm pop %eax
+ _asm mov context.Eip, %eax
+ _asm mov %eax, %esp
+ _asm mov context.Esp, %eax
+ _asm mov context.Ebp, %ebp
+
if ((NULL == hlp_dbg_instance) || (size <= 0) || (NULL == buffer)) {
errno = EINVAL;
return 0;