diff --git a/Source/cmake/OptionsCommon.cmake b/Source/cmake/OptionsCommon.cmake index 98a65ac0a0c84..5e9ba58eb3ddc 100644 --- a/Source/cmake/OptionsCommon.cmake +++ b/Source/cmake/OptionsCommon.cmake @@ -54,7 +54,7 @@ unset(LD_VERSION_COMMAND) set(LD_SUPPORTS_GDB_INDEX TRUE) set(LD_SUPPORTS_SPLIT_DEBUG TRUE) set(LD_SUPPORTS_THIN_ARCHIVES TRUE) -set(LD_SUPPORTS_DISABLE_NEW_DTAGS TRUE) +option(LD_SUPPORTS_DISABLE_NEW_DTAGS "" ON) if (LD_VERSION MATCHES "^LLD ") set(LD_VARIANT LLD) elseif (LD_VERSION MATCHES "^mold ") @@ -116,6 +116,10 @@ if (LD_SUPPORTS_DISABLE_NEW_DTAGS) string(APPEND CMAKE_EXE_LINKER_FLAGS " -Wl,--disable-new-dtags") string(APPEND CMAKE_SHARED_LINKER_FLAGS " -Wl,--disable-new-dtags") string(APPEND CMAKE_MODULE_LINKER_FLAGS " -Wl,--disable-new-dtags") +else() + string(APPEND CMAKE_EXE_LINKER_FLAGS " -Wl,--enable-new-dtags") + string(APPEND CMAKE_SHARED_LINKER_FLAGS " -Wl,--enable-new-dtags") + string(APPEND CMAKE_MODULE_LINKER_FLAGS " -Wl,--enable-new-dtags") endif () # Prefer thin archives by default if they can be both created by the