From b7a118a1b781d4cbcf6d3f20e22f95adc64bb583 Mon Sep 17 00:00:00 2001 From: James R Date: Wed, 29 Nov 2023 11:26:02 -0800 Subject: [PATCH] Fix debug symbol stripping if -fuse-ld=mold --- src/CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 55c445453..15512339d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -600,7 +600,8 @@ if((CMAKE_COMPILER_IS_GNUCC) AND NOT ("${CMAKE_SYSTEM_NAME}" MATCHES Darwin)) message(STATUS "Will make separate debug symbols in *.debug") add_custom_command(TARGET SRB2SDL2 POST_BUILD COMMAND ${OBJCOPY} ${OBJCOPY_ONLY_KEEP_DEBUG} $ $.debug - COMMAND ${OBJCOPY} --strip-debug $ + # mold linker: .gnu_debuglink is present by default, so --add-gnu-debuglink would fail + COMMAND ${OBJCOPY} --strip-debug --remove-section=.gnu_debuglink $ COMMAND ${OBJCOPY} --add-gnu-debuglink=$.debug $ ) endif()