From: unknown Date: Tue, 26 Jul 2011 08:49:25 +0000 (+0200) Subject: Correctly set CMAKE_SYSTEM_PROCESSOR and use it. X-Git-Tag: v3_6_2~188^2~8^2~7 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/1dd7ea5c38c029e49ae831837b075751b173a569 Correctly set CMAKE_SYSTEM_PROCESSOR and use it. --- diff --git a/buildtools/Cmake/CompleteInFiles.cmake b/buildtools/Cmake/CompleteInFiles.cmake index 30c3610f52..d251d515ab 100644 --- a/buildtools/Cmake/CompleteInFiles.cmake +++ b/buildtools/Cmake/CompleteInFiles.cmake @@ -3,21 +3,17 @@ ${CMAKE_MODULE_PATH} ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/Modules ) -IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") #Intel processor 64 bits - message(STATUS "System processor: amd64") - set(HAVE_RAWCTX 1) - -ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86") #Intel processor 32 bits - message(STATUS "System processor: x86") - set(PROCESSOR_i686 1) - set(HAVE_RAWCTX 1) - -ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$") +# x86_64 +# x86 +# i.86 +IF(CMAKE_SYSTEM_PROCESSOR MATCHES ".86") IF(${ARCH_32_BITS}) set(PROCESSOR_i686 1) + set(SIMGRID_SYSTEM_PROCESSOR "${CMAKE_SYSTEM_PROCESSOR}") message(STATUS "System processor: ${CMAKE_SYSTEM_PROCESSOR}") ELSE(${ARCH_32_BITS}) message(STATUS "System processor: amd64") + set(SIMGRID_SYSTEM_PROCESSOR "amd64") set(PROCESSOR_x86_64 1) set(PROCESSOR_i686 0) ENDIF(${ARCH_32_BITS}) @@ -58,7 +54,7 @@ ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^sh") ELSE(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") #PROCESSOR NOT fIND message(STATUS "PROCESSOR NOT FOUND: ${CMAKE_SYSTEM_PROCESSOR}") -ENDIF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") +ENDIF(CMAKE_SYSTEM_PROCESSOR MATCHES ".86") message(STATUS "Cmake version ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}") diff --git a/buildtools/Cmake/simgrid.nsi.in b/buildtools/Cmake/simgrid.nsi.in index c6b2f4d882..4efa7fb4d6 100644 --- a/buildtools/Cmake/simgrid.nsi.in +++ b/buildtools/Cmake/simgrid.nsi.in @@ -27,7 +27,7 @@ ;-------------------------------- Name "Simgrid" -outFile "SimGrid@SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@_@CMAKE_SYSTEM_PROCESSOR@@BIN_EXE@" +outFile "SimGrid@SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@_@SIMGRID_SYSTEM_PROCESSOR@@BIN_EXE@" Icon "@CMAKE_HOME_DIRECTORY@\doc\webcruft\SimGrid.ico" # set the default installation directory diff --git a/src/xbt/win32_ucontext.c b/src/xbt/win32_ucontext.c index 5dc89593f6..96251c4a84 100644 --- a/src/xbt/win32_ucontext.c +++ b/src/xbt/win32_ucontext.c @@ -57,10 +57,19 @@ int makecontext(ucontext_t * ucp, void (*func) (), int argc, ...) return -1; } - /* Set the instruction and the stack pointer */ - ucp->uc_mcontext.Eip = (unsigned long) func; + /* Set the instruction and the stack pointer */ + #ifdef I_X86_ + ucp->uc_mcontext.Eip = (unsigned long) func; ucp->uc_mcontext.Esp = (unsigned long) sp - 4; - + #endif + #ifdef _IA64_ + # error "_IA64_" + #endif + #ifdef _AMD64_ + ucp->uc_mcontext.Rip = (unsigned long) func; + ucp->uc_mcontext.Rsp = (unsigned long) sp - 4; + #endif + /* Save/Restore the full machine context */ ucp->uc_mcontext.ContextFlags = CONTEXT_FULL;