From 594254e42a0f964402634bac5dbc7ede611cb210 Mon Sep 17 00:00:00 2001 From: Arne Welzel Date: Thu, 1 Dec 2022 15:31:58 +0100 Subject: [PATCH 1/2] cmake/FindGoldLinker: Put -fuse-ld=gold before existing flags When building Zeek and specifying LDFLAGS=-fuse-ld=lld to prefer lld over gold, the linker invocations for spicy continue to use gold due to fuse-ld=gold being appended whenever it's detected. Maybe USE_GOLD should be forced to off when compiled within Zeek, anyway. Still, when configuring just spicy standalone with "LDFLAGS=-fuse-ld=lld ./configure", currently gold detection will overwrite that, unless one explicitly passes --disable-gold, as well. That's minimally surprising, too. --- cmake/FindGoldLinker.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake/FindGoldLinker.cmake b/cmake/FindGoldLinker.cmake index da3b1f61a..8bb61d336 100644 --- a/cmake/FindGoldLinker.cmake +++ b/cmake/FindGoldLinker.cmake @@ -11,9 +11,9 @@ if (USE_GOLD) if ("${ld_version}" MATCHES "GNU gold") message(STATUS "Using Gold linker") set(GOLD_FOUND "yes") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=gold") - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fuse-ld=gold") - set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -fuse-ld=gold") + set(CMAKE_EXE_LINKER_FLAGS "-fuse-ld=gold ${CMAKE_EXE_LINKER_FLAGS}") + set(CMAKE_SHARED_LINKER_FLAGS "-fuse-ld=gold ${CMAKE_SHARED_LINKER_FLAGS}") + set(CMAKE_MODULE_LINKER_FLAGS "-fuse-ld=gold ${CMAKE_MODULE_LINKER_FLAGS}") else () message(STATUS "Gold linker not available") endif () From 81f3aa4ff86921e900830104b44e8b5790dd6d06 Mon Sep 17 00:00:00 2001 From: Arne Welzel Date: Thu, 1 Dec 2022 16:25:57 +0100 Subject: [PATCH 2/2] cmake/FindGoldLinker: Do not use gold by default When embedding Spicy in other CMake projects, the gold linker should not be used by default (even if installed on the system). The ./configure script continues to enable gold detection by default. --- cmake/FindGoldLinker.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/FindGoldLinker.cmake b/cmake/FindGoldLinker.cmake index 8bb61d336..1509fa4ae 100644 --- a/cmake/FindGoldLinker.cmake +++ b/cmake/FindGoldLinker.cmake @@ -1,6 +1,6 @@ ## Enable Gold linker if available. -option(USE_GOLD "Use Gold linker" ON) +option(USE_GOLD "Use Gold linker" OFF) set(GOLD_FOUND "no")