diff -Nur runtime.orig/cmake/LibompHandleFlags.cmake runtime/cmake/LibompHandleFlags.cmake --- runtime.orig/cmake/LibompHandleFlags.cmake 2016-06-15 02:57:47.000000000 +0900 +++ runtime/cmake/LibompHandleFlags.cmake 2017-01-25 00:00:06.679470000 +0900 @@ -155,6 +155,9 @@ if(${IA32}) libomp_append(libflags_local -lirc_pic LIBOMP_HAVE_IRC_PIC_LIBRARY) endif() + IF(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") + libomp_append(libflags_local "-Wl,--no-as-needed -lm") + ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") IF(${CMAKE_SYSTEM_NAME} MATCHES "NetBSD") libomp_append(libflags_local -lm) ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "NetBSD") diff -Nur runtime.orig/cmake/LibompMicroTests.cmake runtime/cmake/LibompMicroTests.cmake --- runtime.orig/cmake/LibompMicroTests.cmake 2016-01-27 04:44:31.000000000 +0900 +++ runtime/cmake/LibompMicroTests.cmake 2017-01-25 00:00:06.679488000 +0900 @@ -171,7 +171,7 @@ add_custom_target(libomp-test-deps DEPENDS test-deps/.success) set(libomp_expected_library_deps) if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") - set(libomp_expected_library_deps libc.so.7 libthr.so.3) + set(libomp_expected_library_deps libc.so.7 libthr.so.3 libm.so.5) libomp_append(libomp_expected_library_deps libhwloc.so.5 LIBOMP_USE_HWLOC) elseif(CMAKE_SYSTEM_NAME MATCHES "NetBSD") set(libomp_expected_library_deps libc.so.12 libpthread.so.1 libm.so.0)