summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorJan Vorlicek <janvorli@microsoft.com>2015-09-18 15:57:49 +0200
committerJan Vorlicek <janvorli@microsoft.com>2015-09-23 21:21:52 +0200
commit0f6c0c35cc3c3d9eaee04e3e46c4898730eff1ec (patch)
tree4a04c16a0ef7ad67995b44d98b2fc3140d610479 /CMakeLists.txt
parent4486bcf73cf9f2926ee8b1e9cb8b5c80339d9627 (diff)
downloadcoreclr-0f6c0c35cc3c3d9eaee04e3e46c4898730eff1ec.tar.gz
coreclr-0f6c0c35cc3c3d9eaee04e3e46c4898730eff1ec.tar.bz2
coreclr-0f6c0c35cc3c3d9eaee04e3e46c4898730eff1ec.zip
Implement runtime suspension for OSX
This change implements runtime suspension for OSX using activation injection, the same mechanism as Linux uses. I have modified the activation injection mechanism by adding a new function that CoreCLR registers with PAL and PAL calls it to check if an instruction address is safe for injection. The injection is performed only if this new function returns true. The activation on OSX is performed by suspending the target thread, checking the instruction address in the suspended thread's context using the above mentioned function and modifying the context to perform the injection only at injection safe place.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt4
1 files changed, 1 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1dbb3c8549..543e4ffb23 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -545,9 +545,7 @@ if(WIN32)
endif(WIN32)
add_definitions(-DFEATURE_EXCEPTIONDISPATCHINFO)
add_definitions(-DFEATURE_FRAMEWORK_INTERNAL)
-if(WIN32 OR (CLR_CMAKE_PLATFORM_LINUX AND CLR_CMAKE_PLATFORM_UNIX_TARGET_AMD64))
- add_definitions(-DFEATURE_HIJACK)
-endif(WIN32 OR (CLR_CMAKE_PLATFORM_LINUX AND CLR_CMAKE_PLATFORM_UNIX_TARGET_AMD64))
+add_definitions(-DFEATURE_HIJACK)
add_definitions(-DFEATURE_HOST_ASSEMBLY_RESOLVER)
add_definitions(-DFEATURE_HOSTED_BINDER)
if(WIN32)