From: ValadisLiakopoulos Date: Fri, 30 May 2025 16:49:12 +0000 (+0300) Subject: Moved gcc13 flags for freebsd-gcc13 in cmake/cflags-ppc64le.make X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fheads%2Ffix%2Ffbsd-gcc13-error;p=thirdparty%2Fvectorscan.git Moved gcc13 flags for freebsd-gcc13 in cmake/cflags-ppc64le.make --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 62b4829f..1cb77ffd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -141,14 +141,6 @@ elseif (ARCH_ARM32 OR ARCH_AARCH64) include (${CMAKE_MODULE_PATH}/cflags-arm.cmake) elseif (ARCH_PPC64EL) include (${CMAKE_MODULE_PATH}/cflags-ppc64le.cmake) - - # fix unit-internal seg fault for freebsd and gcc13 - if (CMAKE_SYSTEM_NAME MATCHES "FreeBSD" AND CMAKE_CXX_COMPILER_ID MATCHES "GNU") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc -static-libstdc++") - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -static-libgcc -static-libstdc++") - set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -static-libgcc -static-libstdc++") - endif() - else () message(FATAL_ERROR "Unsupported platform") endif () diff --git a/cmake/cflags-ppc64le.cmake b/cmake/cflags-ppc64le.cmake index 2ea9f1ba..a5b8d93b 100644 --- a/cmake/cflags-ppc64le.cmake +++ b/cmake/cflags-ppc64le.cmake @@ -16,3 +16,12 @@ int main() { if (NOT HAVE_VSX) message(FATAL_ERROR "VSX support required for Power support") endif () + +# fix unit-internal seg fault for freebsd and gcc13 +if (FREEBSD AND CMAKE_COMPILER_IS_GNUCXX) + if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "13") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc -static-libstdc++") + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -static-libgcc -static-libstdc++") + set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -static-libgcc -static-libstdc++") + endif () +endif ()