diff options
author | Sergiy Kuryata <sergeyk@microsoft.com> | 2015-04-03 22:45:44 -0700 |
---|---|---|
committer | Sergiy Kuryata <sergeyk@microsoft.com> | 2015-04-03 22:45:44 -0700 |
commit | 3b9a327822b1ece84107fe4524b45322a92c50b0 (patch) | |
tree | 3664393444b70f81e4a6783224bc444878dee8b8 | |
parent | bf2b863c7dab0929264e1005e9b8bf58373e12cb (diff) | |
parent | 0a26db89a62ed3674f6d160ec1636f73a8cdc0e3 (diff) | |
download | coreclr-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.cmake | 26 |
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) |