X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3854ce9a561a4e13199774523542a0dfefc376da..571ed94e23c9aefbd5f81f1a800eb5f1dddd8ae9:/src/xbt/win32_ucontext.c diff --git a/src/xbt/win32_ucontext.c b/src/xbt/win32_ucontext.c index 092e3cc8f5..80dd2e5e25 100644 --- a/src/xbt/win32_ucontext.c +++ b/src/xbt/win32_ucontext.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2010-2012, 2014. The SimGrid Team. +/* Copyright (c) 2010-2012, 2014-2015. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -26,7 +26,7 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ -#include "win32_ucontext.h" +#include "xbt/win32_ucontext.h" int getcontext(ucontext_t * ucp) { @@ -65,16 +65,16 @@ int makecontext(ucontext_t * ucp, void (*func) (), int argc, ...) } /* Set the instruction and the stack pointer */ - #ifdef _I_X86_ + #if defined(_I_X86_) || defined(__i386) || defined(__i386__) || defined(_M_IX86) ucp->uc_mcontext.Eip = (DWORD) func; ucp->uc_mcontext.Esp = (DWORD) sp - sizeof(void*); - #endif - #ifdef _IA64_ + #elif defined(_IA64_) || defined(__ia64) || defined(__ia64__) # error "_IA64_" - #endif - #ifdef _AMD64_ + #elif defined _AMD64_ || defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) ucp->uc_mcontext.Rip = (DWORD64) func; ucp->uc_mcontext.Rsp = (DWORD64) sp - sizeof(void*); + #else + #error "No architecture defined for Windows build." #endif /* Save/Restore the full machine context */ @@ -105,4 +105,3 @@ int swapcontext(ucontext_t * oucp, const ucontext_t * ucp) } return ret; } -