@@ -134,6 +134,11 @@ function(_add_target_variant_c_compile_link_flags)
134134 "-fcoverage-mapping" )
135135 endif ()
136136
137+ # Use frame pointers on Linux
138+ if ("${CFLAGS_SDK} " STREQUAL "LINUX" )
139+ list (APPEND result "-fno-omit-frame-pointer" )
140+ endif ()
141+
137142 _compute_lto_flag("${CFLAGS_ENABLE_LTO} " _lto_flag_out)
138143 if (_lto_flag_out)
139144 list (APPEND result "${_lto_flag_out} " )
@@ -310,6 +315,11 @@ function(_add_target_variant_c_compile_flags)
310315 "-fcoverage-mapping" )
311316 endif ()
312317
318+ # Use frame pointers on Linux
319+ if ("${CFLAGS_SDK} " STREQUAL "LINUX" )
320+ list (APPEND result "-fno-omit-frame-pointer" )
321+ endif ()
322+
313323 if ((CFLAGS_ARCH STREQUAL "armv7" OR CFLAGS_ARCH STREQUAL "aarch64" ) AND
314324 (CFLAGS_SDK STREQUAL "LINUX" OR CFLAGS_SDK STREQUAL "ANDROID" ))
315325 list (APPEND result -funwind-tables)
@@ -924,6 +934,11 @@ function(add_swift_target_library_single target name)
924934 set (install_in_component "${SWIFTLIB_SINGLE_INSTALL_IN_COMPONENT} " )
925935 endif ()
926936
937+ # Use frame pointers on Linux
938+ if ("${SWIFTLIB_SINGLE_SDK} " STREQUAL "LINUX" )
939+ list (APPEND SWIFTLIB_SINGLE_SWIFT_COMPILE_FLAGS "-Xcc" "-fno-omit-frame-pointer" )
940+ endif ()
941+
927942 # FIXME: don't actually depend on the libraries in SWIFTLIB_SINGLE_LINK_LIBRARIES,
928943 # just any swiftmodule files that are associated with them.
929944 handle_swift_sources(
@@ -2602,6 +2617,10 @@ function(_add_swift_target_executable_single name)
26022617 -vfsoverlay;"${SWIFT_WINDOWS_VFS_OVERLAY} " )
26032618 endif ()
26042619
2620+ if ("${SWIFTEXE_SINGLE_SDK} " STREQUAL "LINUX" )
2621+ list (APPEND SWIFTEXE_SINGLE_COMPILE_FLAGS "-Xcc" "-fno-omit-frame-pointer" )
2622+ endif ()
2623+
26052624 handle_swift_sources(
26062625 dependency_target
26072626 unused_module_dependency_target
0 commit comments