@@ -134,6 +134,11 @@ function(_add_target_variant_c_compile_link_flags)
134
134
"-fcoverage-mapping" )
135
135
endif ()
136
136
137
+ # Use frame pointers on Linux
138
+ if ("${CFLAGS_SDK} " STREQUAL "LINUX" )
139
+ list (APPEND result "-fno-omit-frame-pointer" )
140
+ endif ()
141
+
137
142
_compute_lto_flag("${CFLAGS_ENABLE_LTO} " _lto_flag_out)
138
143
if (_lto_flag_out)
139
144
list (APPEND result "${_lto_flag_out} " )
@@ -310,6 +315,11 @@ function(_add_target_variant_c_compile_flags)
310
315
"-fcoverage-mapping" )
311
316
endif ()
312
317
318
+ # Use frame pointers on Linux
319
+ if ("${CFLAGS_SDK} " STREQUAL "LINUX" )
320
+ list (APPEND result "-fno-omit-frame-pointer" )
321
+ endif ()
322
+
313
323
if ((CFLAGS_ARCH STREQUAL "armv7" OR CFLAGS_ARCH STREQUAL "aarch64" ) AND
314
324
(CFLAGS_SDK STREQUAL "LINUX" OR CFLAGS_SDK STREQUAL "ANDROID" ))
315
325
list (APPEND result -funwind-tables)
@@ -943,6 +953,11 @@ function(add_swift_target_library_single target name)
943
953
set (install_in_component "${SWIFTLIB_SINGLE_INSTALL_IN_COMPONENT} " )
944
954
endif ()
945
955
956
+ # Use frame pointers on Linux
957
+ if ("${SWIFTLIB_SINGLE_SDK} " STREQUAL "LINUX" )
958
+ list (APPEND SWIFTLIB_SINGLE_SWIFT_COMPILE_FLAGS "-Xcc" "-fno-omit-frame-pointer" )
959
+ endif ()
960
+
946
961
# FIXME: don't actually depend on the libraries in SWIFTLIB_SINGLE_LINK_LIBRARIES,
947
962
# just any swiftmodule files that are associated with them.
948
963
handle_swift_sources(
@@ -2634,6 +2649,10 @@ function(_add_swift_target_executable_single name)
2634
2649
-vfsoverlay;"${SWIFT_WINDOWS_VFS_OVERLAY} " )
2635
2650
endif ()
2636
2651
2652
+ if ("${SWIFTEXE_SINGLE_SDK} " STREQUAL "LINUX" )
2653
+ list (APPEND SWIFTEXE_SINGLE_COMPILE_FLAGS "-Xcc" "-fno-omit-frame-pointer" )
2654
+ endif ()
2655
+
2637
2656
handle_swift_sources(
2638
2657
dependency_target
2639
2658
unused_module_dependency_target
0 commit comments