From b1b68b4c0190b7fc7f0ebe823277966056b39494 Mon Sep 17 00:00:00 2001 From: Anton Afanasyev Date: Thu, 26 Aug 2021 01:25:27 +0300 Subject: [PATCH] [CMake] Add `--gdb-index` option to linker if split dwarf compiling The option `--gdb-index` should be passed to linker if compiler is invoked with `-gsplit-dwarf` option. This allows debugger to locate the appropriate units quickly. See "Invocation" section here: https://gcc.gnu.org/wiki/DebugFission Suggested by @dblaikie here: https://reviews.llvm.org/D68556#1698442 Differential Revision: https://reviews.llvm.org/D108776 --- llvm/cmake/modules/HandleLLVMOptions.cmake | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/llvm/cmake/modules/HandleLLVMOptions.cmake b/llvm/cmake/modules/HandleLLVMOptions.cmake index 0c3419390c275..b139344ce2a7d 100644 --- a/llvm/cmake/modules/HandleLLVMOptions.cmake +++ b/llvm/cmake/modules/HandleLLVMOptions.cmake @@ -901,6 +901,10 @@ if (LLVM_USE_SPLIT_DWARF AND if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU") add_compile_options(-gsplit-dwarf) + include(LLVMCheckLinkerFlag) + llvm_check_linker_flag(CXX "-Wl,--gdb-index" LINKER_SUPPORTS_GDB_INDEX) + append_if(LINKER_SUPPORTS_GDB_INDEX "-Wl,--gdb-index" + CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS) endif() endif()