diff options
author | Michal Klocek <michal.klocek@qt.io> | 2022-08-03 09:58:00 +0200 |
---|---|---|
committer | Michal Klocek <michal.klocek@qt.io> | 2022-08-24 00:06:43 +0200 |
commit | 2454efe018af51c6fc83557fd6e42755de45b79b (patch) | |
tree | 0aa62e1ec0b3af02ab4325c4e2dc8cfa6a1a9d13 /cmake | |
parent | a7d353ae7d85438b92c8e376cbf6cf92c05a0952 (diff) |
Fix debug build on arm
We need --long-plt for arm debug builds.
Pick-to: 6.4 6.3
Change-Id: I99fa6a2f8ec803cc399509d02a5cc9ad22fd0f87
Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/Functions.cmake | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/cmake/Functions.cmake b/cmake/Functions.cmake index 3055252a0..3df8fde5e 100644 --- a/cmake/Functions.cmake +++ b/cmake/Functions.cmake @@ -433,6 +433,10 @@ function(add_linker_options target buildDir completeStatic) set(libs_rsp "${buildDir}/${ninjaTarget}_libs.rsp") set_target_properties(${cmakeTarget} PROPERTIES STATIC_LIBRARY_OPTIONS "@${objects_rsp}") if(LINUX) + get_gn_arch(cpu ${TEST_architecture_arch}) + if(CMAKE_CROSSCOMPILING AND cpu STREQUAL "arm" AND ${config} STREQUAL "Debug") + target_link_options(${cmakeTarget} PRIVATE "LINKER:--long-plt") + endif() target_link_options(${cmakeTarget} PRIVATE "$<$<CONFIG:${config}>:@${objects_rsp}>") # Chromium is meant for linking with gc-sections, which seems to not always get applied otherwise target_link_options(${cmakeTarget} PRIVATE "-Wl,--gc-sections") @@ -445,7 +449,6 @@ function(add_linker_options target buildDir completeStatic) target_link_libraries(${cmakeTarget} PRIVATE "$<1:-Wl,--no-fatal-warnings $<$<CONFIG:${config}>:@${libs_rsp}> -Wl,--no-fatal-warnings>" ) - endif() if(MACOS) target_link_options(${cmakeTarget} PRIVATE "$<$<CONFIG:${config}>:@${objects_rsp}>") |