mirror of
https://gitee.com/xiaohuolufeihua/bizhang_-obav.git
synced 2026-05-21 09:22:18 +00:00
cmake: only allow gold linker for posix builds
- the gold linker doesn't currently work for NuttX builds - NuttX skip --print-memory-usage if using the GOLD linker - fixes #15400
This commit is contained in:
@@ -221,20 +221,22 @@ endif()
|
|||||||
|
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
|
|
||||||
# gold linker - use if available
|
# gold linker - use if available (posix only for now)
|
||||||
include(CMakeDependentOption)
|
if(${PX4_PLATFORM} STREQUAL "posix")
|
||||||
CMAKE_DEPENDENT_OPTION(USE_LD_GOLD
|
include(CMakeDependentOption)
|
||||||
"Use GNU gold linker" ON
|
CMAKE_DEPENDENT_OPTION(USE_LD_GOLD
|
||||||
"NOT WIN32;NOT APPLE" OFF
|
"Use GNU gold linker" ON
|
||||||
)
|
"NOT WIN32;NOT APPLE" OFF
|
||||||
|
)
|
||||||
|
|
||||||
if(USE_LD_GOLD)
|
if(USE_LD_GOLD)
|
||||||
execute_process(COMMAND ${CMAKE_C_COMPILER} -fuse-ld=gold -Wl,--version ERROR_QUIET OUTPUT_VARIABLE LD_VERSION)
|
execute_process(COMMAND ${CMAKE_C_COMPILER} -fuse-ld=gold -Wl,--version ERROR_QUIET OUTPUT_VARIABLE LD_VERSION)
|
||||||
if("${LD_VERSION}" MATCHES "GNU gold")
|
if("${LD_VERSION}" MATCHES "GNU gold")
|
||||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=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")
|
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fuse-ld=gold")
|
||||||
else()
|
else()
|
||||||
set(USE_LD_GOLD OFF)
|
set(USE_LD_GOLD OFF)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|||||||
@@ -124,7 +124,6 @@ target_link_libraries(px4 PRIVATE
|
|||||||
-Wl,-Map=${PX4_CONFIG}.map
|
-Wl,-Map=${PX4_CONFIG}.map
|
||||||
-Wl,--warn-common
|
-Wl,--warn-common
|
||||||
-Wl,--gc-sections
|
-Wl,--gc-sections
|
||||||
-Wl,--print-memory-usage
|
|
||||||
|
|
||||||
-Wl,--start-group
|
-Wl,--start-group
|
||||||
${nuttx_libs}
|
${nuttx_libs}
|
||||||
@@ -134,6 +133,10 @@ target_link_libraries(px4 PRIVATE
|
|||||||
gcc
|
gcc
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(NOT USE_LD_GOLD)
|
||||||
|
target_link_libraries(px4 PRIVATE -Wl,--print-memory-usage)
|
||||||
|
endif()
|
||||||
|
|
||||||
target_link_libraries(px4 PRIVATE ${module_libraries})
|
target_link_libraries(px4 PRIVATE ${module_libraries})
|
||||||
|
|
||||||
if (config_romfs_root)
|
if (config_romfs_root)
|
||||||
|
|||||||
Reference in New Issue
Block a user