diff --git a/CMakeLists.txt b/CMakeLists.txt index 7ea47640f4..3891c085c2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -221,20 +221,22 @@ endif() #============================================================================= -# gold linker - use if available -include(CMakeDependentOption) -CMAKE_DEPENDENT_OPTION(USE_LD_GOLD - "Use GNU gold linker" ON - "NOT WIN32;NOT APPLE" OFF -) +# gold linker - use if available (posix only for now) +if(${PX4_PLATFORM} STREQUAL "posix") + include(CMakeDependentOption) + CMAKE_DEPENDENT_OPTION(USE_LD_GOLD + "Use GNU gold linker" ON + "NOT WIN32;NOT APPLE" OFF + ) -if(USE_LD_GOLD) - execute_process(COMMAND ${CMAKE_C_COMPILER} -fuse-ld=gold -Wl,--version ERROR_QUIET OUTPUT_VARIABLE LD_VERSION) - if("${LD_VERSION}" MATCHES "GNU gold") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=gold") - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fuse-ld=gold") - else() - set(USE_LD_GOLD OFF) + if(USE_LD_GOLD) + execute_process(COMMAND ${CMAKE_C_COMPILER} -fuse-ld=gold -Wl,--version ERROR_QUIET OUTPUT_VARIABLE LD_VERSION) + if("${LD_VERSION}" MATCHES "GNU gold") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=gold") + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fuse-ld=gold") + else() + set(USE_LD_GOLD OFF) + endif() endif() endif() diff --git a/platforms/nuttx/CMakeLists.txt b/platforms/nuttx/CMakeLists.txt index 6f26fabc4b..a4ec0dc252 100644 --- a/platforms/nuttx/CMakeLists.txt +++ b/platforms/nuttx/CMakeLists.txt @@ -124,7 +124,6 @@ target_link_libraries(px4 PRIVATE -Wl,-Map=${PX4_CONFIG}.map -Wl,--warn-common -Wl,--gc-sections - -Wl,--print-memory-usage -Wl,--start-group ${nuttx_libs} @@ -134,6 +133,10 @@ target_link_libraries(px4 PRIVATE gcc ) +if(NOT USE_LD_GOLD) + target_link_libraries(px4 PRIVATE -Wl,--print-memory-usage) +endif() + target_link_libraries(px4 PRIVATE ${module_libraries}) if (config_romfs_root)