From b13688285f174d17c807718da5e95ab32bed9323 Mon Sep 17 00:00:00 2001 From: Marco Magdy Date: Mon, 4 Dec 2023 12:32:11 -0800 Subject: [PATCH 1/3] Revert "Making libbacktrace optional (#189)" This reverts commit e08ca6e065877b0ab4eb0e1e43e21c3a3c5f274a. --- CMakeLists.txt | 39 ++++++++++++++++----------------------- src/backward.cpp | 6 +----- src/backward.h | 6 ------ 3 files changed, 17 insertions(+), 34 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 09e226f..14ee99f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -47,29 +47,8 @@ endif() target_include_directories(${PROJECT_NAME} PRIVATE ${CURL_INCLUDE_DIRS}) -find_package(Backtrace QUIET) -if (${Backtrace_FOUND}) - target_link_libraries(${PROJECT_NAME} PRIVATE ${Backtrace_LIBRARIES}) - - find_library(DW_LIB NAMES dw) - if (NOT DW_LIB STREQUAL DW_LIB-NOTFOUND) - message("-- Enhanced stack-traces are enabled via libdw: ${DW_LIB}") - target_compile_definitions(${PROJECT_NAME} PRIVATE "BACKWARD_HAS_DW=1") - target_link_libraries(${PROJECT_NAME} PUBLIC "${DW_LIB}") - else() - find_library(BFD_LIB NAMES bfd) - if (NOT BFD_LIB STREQUAL BFD_LIB-NOTFOUND) - message("-- Enhanced stack-traces are enabled via libbfd: ${BFD_LIB}") - target_compile_definitions(${PROJECT_NAME} PRIVATE "BACKWARD_HAS_BFD=1") - target_link_libraries(${PROJECT_NAME} PRIVATE "${BFD_LIB}") - endif() - endif() - -else() - message("-- libbacktrace was not installed. Stacktracing will be disabled") - add_definitions(-Dno_backtrace) -endif() - +find_package(Backtrace REQUIRED) +target_link_libraries(${PROJECT_NAME} PRIVATE ${Backtrace_LIBRARIES}) target_compile_options(${PROJECT_NAME} PRIVATE "-fno-exceptions" @@ -82,6 +61,20 @@ target_compile_options(${PROJECT_NAME} PRIVATE "-Wconversion" "-Wno-sign-conversion") +find_library(DW_LIB NAMES dw) +if (NOT DW_LIB STREQUAL DW_LIB-NOTFOUND) + message("-- Enhanced stack-traces are enabled via libdw: ${DW_LIB}") + target_compile_definitions(${PROJECT_NAME} PRIVATE "BACKWARD_HAS_DW=1") + target_link_libraries(${PROJECT_NAME} PUBLIC "${DW_LIB}") +else() + find_library(BFD_LIB NAMES bfd) + if (NOT BFD_LIB STREQUAL BFD_LIB-NOTFOUND) + message("-- Enhanced stack-traces are enabled via libbfd: ${BFD_LIB}") + target_compile_definitions(${PROJECT_NAME} PRIVATE "BACKWARD_HAS_BFD=1") + target_link_libraries(${PROJECT_NAME} PRIVATE "${BFD_LIB}") + endif() +endif() + if (LOG_VERBOSITY) target_compile_definitions(${PROJECT_NAME} PRIVATE "AWS_LAMBDA_LOG=${LOG_VERBOSITY}") elseif(CMAKE_BUILD_TYPE STREQUAL Debug) diff --git a/src/backward.cpp b/src/backward.cpp index 8649fd5..cc64abd 100644 --- a/src/backward.cpp +++ b/src/backward.cpp @@ -23,14 +23,10 @@ // - g++/clang++ -lbfd ... // #define BACKWARD_HAS_BFD 1 -#ifndef no_backtrace - -# include "backward.h" +#include "backward.h" namespace backward { backward::SignalHandling sh; } // namespace backward - -#endif diff --git a/src/backward.h b/src/backward.h index 832c452..c421378 100644 --- a/src/backward.h +++ b/src/backward.h @@ -28,10 +28,6 @@ # error "It's not going to compile without a C++ compiler..." #endif -#ifdef no_backtrace -# pragma message "Disabling stacktracing" -#else - #if defined(BACKWARD_CXX11) #elif defined(BACKWARD_CXX98) #else @@ -4543,6 +4539,4 @@ class SignalHandling { } // namespace backward -#endif /* no_backtrace */ - #endif /* H_GUARD */ From d517534b717c9a7dbe86ff600ef63bb348ab13b4 Mon Sep 17 00:00:00 2001 From: Marco Magdy Date: Mon, 4 Dec 2023 12:41:09 -0800 Subject: [PATCH 2/3] Make Backtrace optional package This maintains the enhanced stacktraces even if libbacktrace is not found. --- CMakeLists.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 14ee99f..4355d48 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -47,8 +47,10 @@ endif() target_include_directories(${PROJECT_NAME} PRIVATE ${CURL_INCLUDE_DIRS}) -find_package(Backtrace REQUIRED) -target_link_libraries(${PROJECT_NAME} PRIVATE ${Backtrace_LIBRARIES}) +find_package(Backtrace QUIET) +if (Backtrace_FOUND) + target_link_libraries(${PROJECT_NAME} PRIVATE ${Backtrace_LIBRARIES}) +endif() target_compile_options(${PROJECT_NAME} PRIVATE "-fno-exceptions" From 4482a5d9ca842364199b6689a2abb36a0f42a7aa Mon Sep 17 00:00:00 2001 From: Marco Magdy Date: Mon, 4 Dec 2023 15:42:07 -0800 Subject: [PATCH 3/3] Empty commit: