Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion eng/native/configurecompiler.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -350,8 +350,12 @@ elseif(CLR_CMAKE_HOST_APPLE)
endif()
endif()
elseif(CLR_CMAKE_HOST_HAIKU)
# Workaround until https://gitlab.kitware.com/cmake/cmake/-/merge_requests/11915 gets merged.
# Haiku uses the GNU toolchain so this should work.
set(CMAKE_LINK_GROUP_USING_RESCAN "LINKER:--start-group" "LINKER:--end-group")
set(CMAKE_LINK_GROUP_USING_RESCAN_SUPPORTED TRUE)
add_compile_options($<$<COMPILE_LANGUAGE:ASM>:-Wa,--noexecstack>)
add_linker_flag("-Wl,--no-undefined")
add_linker_flag("-Wl,--build-id=sha1")
endif()

#------------------------------------
Expand Down
2 changes: 2 additions & 0 deletions src/native/libs/Common/pal_config.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,8 @@
#cmakedefine01 HAVE_CLOCK_GETTIME_NSEC_NP
#cmakedefine01 HAVE_PTHREAD_CONDATTR_SETCLOCK
#cmakedefine01 HAVE_PTHREAD_MUTEX_CLOCKLOCK
#cmakedefine01 HAVE_PTHREAD_MUTEX_CONSISTENT
#cmakedefine01 HAVE_PTHREAD_MUTEXATTR_SETROBUST
#cmakedefine01 HAVE_TCP_H_TCPSTATE_ENUM
#cmakedefine01 HAVE_TCP_FSM_H
#cmakedefine01 HAVE_GSSFW_HEADERS
Expand Down
3 changes: 2 additions & 1 deletion src/native/libs/System.Native/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,8 @@ else() # WASI
)
endif()

if (CLR_CMAKE_TARGET_APPLE OR CLR_CMAKE_TARGET_ANDROID OR CLR_CMAKE_TARGET_BROWSER OR CLR_CMAKE_TARGET_WASI OR CLR_CMAKE_TARGET_OPENBSD)
if (CLR_CMAKE_TARGET_APPLE OR CLR_CMAKE_TARGET_ANDROID OR CLR_CMAKE_TARGET_BROWSER OR CLR_CMAKE_TARGET_WASI OR CLR_CMAKE_TARGET_OPENBSD
OR NOT HAVE_PTHREAD_MUTEXATTR_SETROBUST OR NOT HAVE_PTHREAD_MUTEX_CONSISTENT)
Comment on lines +59 to +60
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if (CLR_CMAKE_TARGET_APPLE OR CLR_CMAKE_TARGET_ANDROID OR CLR_CMAKE_TARGET_BROWSER OR CLR_CMAKE_TARGET_WASI OR CLR_CMAKE_TARGET_OPENBSD
OR NOT HAVE_PTHREAD_MUTEXATTR_SETROBUST OR NOT HAVE_PTHREAD_MUTEX_CONSISTENT)
if (NOT HAVE_PTHREAD_MUTEXATTR_SETROBUST OR NOT HAVE_PTHREAD_MUTEX_CONSISTENT)

We should not need the hardcoded OS list with the config detection

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, flip the order to make the condition simpler:

if (HAVE_PTHREAD_MUTEXATTR_SETROBUST AND HAVE_PTHREAD_MUTEX_CONSISTENT)

list (APPEND NATIVE_SOURCES
pal_crossprocessmutex_unsupported.c)
else()
Expand Down
2 changes: 2 additions & 0 deletions src/native/libs/configure.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -663,6 +663,8 @@ endif()
if (NOT CLR_CMAKE_TARGET_WASI)
check_library_exists(${PTHREAD_LIBRARY} pthread_condattr_setclock "" HAVE_PTHREAD_CONDATTR_SETCLOCK)
check_library_exists(${PTHREAD_LIBRARY} pthread_mutex_clocklock "" HAVE_PTHREAD_MUTEX_CLOCKLOCK)
check_library_exists(${PTHREAD_LIBRARY} pthread_mutex_consistent "" HAVE_PTHREAD_MUTEX_CONSISTENT)
check_library_exists(${PTHREAD_LIBRARY} pthread_mutexattr_setrobust "" HAVE_PTHREAD_MUTEXATTR_SETROBUST)
endif()

check_symbol_exists(
Expand Down
Loading