summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergiy Kuryata <sergeyk@microsoft.com>2015-04-03 22:45:44 -0700
committerSergiy Kuryata <sergeyk@microsoft.com>2015-04-03 22:45:44 -0700
commit3b9a327822b1ece84107fe4524b45322a92c50b0 (patch)
tree3664393444b70f81e4a6783224bc444878dee8b8
parentbf2b863c7dab0929264e1005e9b8bf58373e12cb (diff)
parent0a26db89a62ed3674f6d160ec1636f73a8cdc0e3 (diff)
downloadcoreclr-3b9a327822b1ece84107fe4524b45322a92c50b0.tar.gz
coreclr-3b9a327822b1ece84107fe4524b45322a92c50b0.tar.bz2
coreclr-3b9a327822b1ece84107fe4524b45322a92c50b0.zip
Merge pull request #627 from josteink/ptrace-freebsd
Fix configuration of ptrace on FreeBSD.
-rw-r--r--src/pal/src/configure.cmake26
1 files changed, 21 insertions, 5 deletions
diff --git a/src/pal/src/configure.cmake b/src/pal/src/configure.cmake
index 50d84b11fa..697bc5f11f 100644
--- a/src/pal/src/configure.cmake
+++ b/src/pal/src/configure.cmake
@@ -844,6 +844,9 @@ int main()
}" FILE_OPS_CHECK_FERROR_OF_PREVIOUS_CALL)
set(CMAKE_REQUIRED_DEFINITIONS)
+set(SYNCHMGR_SUSPENSION_SAFE_CONDITION_SIGNALING 1)
+set(ERROR_FUNC_FOR_GLOB_HAS_FIXED_PARAMS 1)
+
if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
set(HAVE_COREFOUNDATION 1)
set(HAVE__NSGETENVIRON 1)
@@ -854,14 +857,29 @@ if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
set(PAL_PT_READ_D PT_READ_D)
set(PAL_PT_WRITE_D PT_WRITE_D)
set(USE_SIGNALS_FOR_THREAD_SUSPENSION 0)
- set(SYNCHMGR_SUSPENSION_SAFE_CONDITION_SIGNALING 1)
set(JA_JP_LOCALE_NAME ja_JP.SJIS)
set(KO_KR_LOCALE_NAME ko_KR.eucKR)
set(ZH_TW_LOCALE_NAME zh_TG.BIG5)
- set(ERROR_FUNC_FOR_GLOB_HAS_FIXED_PARAMS 1)
set(HAS_FTRUNCATE_LENGTH_ISSUE 1)
set(UNWIND_CONTEXT_IS_UCONTEXT_T 0)
-else()
+elseif(CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
+ if(NOT HAVE_LIBUNWIND_H)
+ unset(HAVE_LIBUNWIND_H CACHE)
+ message(FATAL_ERROR "Cannot find libunwind. Try installing libunwind8 and libunwind8-dev (or the appropriate packages for your platform)")
+ endif()
+ set(DEADLOCK_WHEN_THREAD_IS_SUSPENDED_WHILE_BLOCKED_ON_MUTEX 0)
+ set(PAL_PTRACE "ptrace((cmd), (pid), (caddr_t)(addr), (data))")
+ set(PAL_PT_ATTACH PT_ATTACH)
+ set(PAL_PT_DETACH PT_DETACH)
+ set(PAL_PT_READ_D PT_READ_D)
+ set(PAL_PT_WRITE_D PT_WRITE_D)
+ set(USE_SIGNALS_FOR_THREAD_SUSPENSION 1)
+ set(JA_JP_LOCALE_NAME ja_JP_LOCALE_NOT_FOUND)
+ set(KO_KR_LOCALE_NAME ko_KR_LOCALE_NOT_FOUND)
+ set(ZH_TW_LOCALE_NAME zh_TW_LOCALE_NOT_FOUND)
+ set(HAS_FTRUNCATE_LENGTH_ISSUE 0)
+ set(UNWIND_CONTEXT_IS_UCONTEXT_T 1)
+else() # Anything else is Linux
if(NOT HAVE_LIBUNWIND_H)
unset(HAVE_LIBUNWIND_H CACHE)
message(FATAL_ERROR "Cannot find libunwind. Try installing libunwind8 and libunwind8-dev (or the appropriate packages for your platform)")
@@ -873,11 +891,9 @@ else()
set(PAL_PT_READ_D PTRACE_PEEKDATA)
set(PAL_PT_WRITE_D PTRACE_POKEDATA)
set(USE_SIGNALS_FOR_THREAD_SUSPENSION 1)
- set(SYNCHMGR_SUSPENSION_SAFE_CONDITION_SIGNALING 1)
set(JA_JP_LOCALE_NAME ja_JP_LOCALE_NOT_FOUND)
set(KO_KR_LOCALE_NAME ko_KR_LOCALE_NOT_FOUND)
set(ZH_TW_LOCALE_NAME zh_TW_LOCALE_NOT_FOUND)
- set(ERROR_FUNC_FOR_GLOB_HAS_FIXED_PARAMS 1)
set(HAS_FTRUNCATE_LENGTH_ISSUE 0)
set(UNWIND_CONTEXT_IS_UCONTEXT_T 1)
endif(CMAKE_SYSTEM_NAME STREQUAL Darwin)